mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-15 00:04:37 -04:00
79 lines
2.8 KiB
C++
79 lines
2.8 KiB
C++
/***************************************************************************
|
|
QgsAttributeTableDelegate.h
|
|
--------------------------------------
|
|
Date : Feb 2009
|
|
Copyright : (C) 2009 Vita Cizek
|
|
Email : weetya (at) gmail.com
|
|
***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef QGSATTRIBUTETABLEDELEGATE_H
|
|
#define QGSATTRIBUTETABLEDELEGATE_H
|
|
|
|
#include <QItemDelegate>
|
|
#include "qgsfeature.h"
|
|
|
|
class QgsFeatureSelectionModel;
|
|
class QPainter;
|
|
class QgsVectorLayer;
|
|
class QgsAttributeTableView;
|
|
|
|
/** \ingroup app
|
|
* A delegate item class for QgsAttributeTable (see Qt documentation for
|
|
* QItemDelegate).
|
|
*/
|
|
|
|
class QgsAttributeTableDelegate : public QItemDelegate
|
|
{
|
|
Q_OBJECT;
|
|
|
|
QgsVectorLayer *layer( const QAbstractItemModel *model ) const;
|
|
|
|
public:
|
|
/** Constructor
|
|
* @param parent parent object
|
|
*/
|
|
QgsAttributeTableDelegate( QObject* parent = NULL ) :
|
|
QItemDelegate( parent ) {};
|
|
/** Used to create an editor for when the user tries to
|
|
* change the contents of a cell */
|
|
QWidget * createEditor(
|
|
QWidget *parent,
|
|
const QStyleOptionViewItem &option,
|
|
const QModelIndex &index ) const;
|
|
|
|
/** Overloads the paint method form the QItemDelegate bas class */
|
|
void paint(
|
|
QPainter * painter,
|
|
const QStyleOptionViewItem & option,
|
|
const QModelIndex & index ) const;
|
|
|
|
/**
|
|
* Sets data from editor back to model. Overloads default method
|
|
* @param editor editor which was created by create editor function in this class
|
|
* @param model model where data should be updated
|
|
* @param index index of field which is to be modified
|
|
*/
|
|
void setModelData( QWidget *editor, QAbstractItemModel *model, const QModelIndex &index ) const;
|
|
|
|
/**
|
|
* Sets data from model into the editor. Overloads default method
|
|
* @param editor editor which was created by create editor function in this class
|
|
* @param index index of field which is to be retrieved
|
|
*/
|
|
void setEditorData( QWidget *editor, const QModelIndex &index ) const;
|
|
|
|
void setFeatureSelectionModel( QgsFeatureSelectionModel* featureSelectionModel );
|
|
|
|
private:
|
|
QgsFeatureSelectionModel* mFeatureSelectionModel;
|
|
};
|
|
|
|
#endif //QGSATTRIBUTETABLEDELEGATE_H
|