QGIS API Documentation  master-59fd5e0
QgsAttributeTableView Class Reference

Provides a table view of features of a QgsVectorLayer. More...

#include <qgsattributetableview.h>

+ Collaboration diagram for QgsAttributeTableView:

List of all members.

Public Slots

virtual void _q_selectRow (int row)
void repaintRequested (QModelIndexList indexes)
void repaintRequested ()
virtual void selectAll ()
virtual void selectRow (int row)

Signals

void finished ()
void willShowContextMenu (QMenu *menu, QModelIndex atIndex)
 Is emitted, in order to provide a hook to add aditional menu entries to the context menu.

Public Member Functions

 QgsAttributeTableView (QWidget *parent=0)
virtual ~QgsAttributeTableView ()
virtual bool eventFilter (QObject *object, QEvent *event)
 This event filter is installed on the verticalHeader to intercept mouse press and release events.
void setCanvasAndLayerCache (QgsMapCanvas *canvas, QgsVectorLayerCache *layerCache)
 Autocreates the models.
virtual void setModel (QgsAttributeTableFilterModel *filterModel)

Protected Member Functions

void closeEvent (QCloseEvent *event)
 Saves geometry to the settings on close.
void contextMenuEvent (QContextMenuEvent *event)
 Is called when the context menu will be shown.
void keyPressEvent (QKeyEvent *event)
 Called for key press events Disables selection change by only pressing an arrow key.
void mouseMoveEvent (QMouseEvent *event)
 Called for mouse move events on a table cell.
void mousePressEvent (QMouseEvent *event)
 Called for mouse press events on a table cell.
void mouseReleaseEvent (QMouseEvent *event)
 Called for mouse release events on a table cell.

Private Member Functions

void selectRow (int row, bool anchor)

Private Attributes

QMenu * mActionPopup
QItemSelectionModel::SelectionFlag mCtrlDragSelectionFlag
QgsFeatureSelectionModelmFeatureSelectionModel
QgsAttributeTableFilterModelmFilterModel
QgsVectorLayerCachemLayerCache
QgsAttributeTableModelmMasterModel
QAbstractItemModel * mModel
int mRowSectionAnchor
QgsAttributeTableDelegatemTableDelegate

Detailed Description

Provides a table view of features of a QgsVectorLayer.

This can either be used as a standalone widget. QgsBrowser features a reference implementation. Or this can be used within the QgsDualView stacked widget.

Definition at line 42 of file qgsattributetableview.h.


Constructor & Destructor Documentation

Definition at line 32 of file qgsattributetableview.cpp.

References _q_selectRow(), mTableDelegate, and selectRow().

Definition at line 58 of file qgsattributetableview.cpp.

References mActionPopup.


Member Function Documentation

void QgsAttributeTableView::_q_selectRow ( int  row) [virtual, slot]

Definition at line 241 of file qgsattributetableview.cpp.

References selectRow().

Referenced by QgsAttributeTableView().

void QgsAttributeTableView::closeEvent ( QCloseEvent *  event) [protected]

Saves geometry to the settings on close.

Parameters:
eventnot used

Definition at line 135 of file qgsattributetableview.cpp.

void QgsAttributeTableView::contextMenuEvent ( QContextMenuEvent *  event) [protected]

Is called when the context menu will be shown.

Emits a willShowContextMenu signal, so the menu can be populated by other parts of the application.

Parameters:
eventThe associated event object.

Definition at line 205 of file qgsattributetableview.cpp.

References QgsAttributeTableFilterModel::layer(), mActionPopup, mFilterModel, selectAll(), tr, and willShowContextMenu().

bool QgsAttributeTableView::eventFilter ( QObject *  object,
QEvent *  event 
) [virtual]

This event filter is installed on the verticalHeader to intercept mouse press and release events.

These are used to disable / enable live synchronisation with the map canvas selection which can be slow due to recurring canvas repaints. Updating the

Parameters:
objectThe object which is the target of the event.
eventThe intercepted event
Returns:
Returns always false, so the event gets processed

Definition at line 89 of file qgsattributetableview.cpp.

References QgsFeatureSelectionModel::enableSync(), and mFeatureSelectionModel.

void QgsAttributeTableView::keyPressEvent ( QKeyEvent *  event) [protected]

Called for key press events Disables selection change by only pressing an arrow key.

Parameters:
eventThe mouse event

Definition at line 163 of file qgsattributetableview.cpp.

void QgsAttributeTableView::mouseMoveEvent ( QMouseEvent *  event) [protected]

Called for mouse move events on a table cell.

Disables selection change for these events.

Parameters:
eventThe mouse event

Definition at line 156 of file qgsattributetableview.cpp.

void QgsAttributeTableView::mousePressEvent ( QMouseEvent *  event) [protected]

Called for mouse press events on a table cell.

Disables selection change for these events.

Parameters:
eventThe mouse event

Definition at line 142 of file qgsattributetableview.cpp.

void QgsAttributeTableView::mouseReleaseEvent ( QMouseEvent *  event) [protected]

Called for mouse release events on a table cell.

Disables selection change for these events.

Parameters:
eventThe mouse event

Definition at line 149 of file qgsattributetableview.cpp.

void QgsAttributeTableView::repaintRequested ( QModelIndexList  indexes) [slot]

Definition at line 185 of file qgsattributetableview.cpp.

Definition at line 193 of file qgsattributetableview.cpp.

Referenced by setCanvasAndLayerCache(), and setModel().

void QgsAttributeTableView::selectRow ( int  row) [virtual, slot]

Definition at line 236 of file qgsattributetableview.cpp.

Referenced by _q_selectRow(), and QgsAttributeTableView().

Autocreates the models.

Parameters:
layerCacheThe QgsVectorLayerCache to use ( as backend )
canvasThe QgsMapCanvas to use ( for the currently visible features filter )
Deprecated:

Definition at line 66 of file qgsattributetableview.cpp.

References QgsVectorLayerCache::layer(), QgsAttributeTableModel::loadLayer(), mFeatureSelectionModel, mFilterModel, mLayerCache, mMasterModel, repaintRequested(), and setModel().

void QgsAttributeTableView::willShowContextMenu ( QMenu *  menu,
QModelIndex  atIndex 
) [signal]

Is emitted, in order to provide a hook to add aditional menu entries to the context menu.

Parameters:
menuIf additional QMenuItems are added, they will show up in the context menu.
atIndexThe QModelIndex, to which the context menu belongs. Relative to the source model. In most cases, this will be a QgsAttributeTableFilterModel

Referenced by contextMenuEvent().


Member Data Documentation

Definition at line 148 of file qgsattributetableview.h.

Referenced by contextMenuEvent(), and ~QgsAttributeTableView().

QItemSelectionModel::SelectionFlag QgsAttributeTableView::mCtrlDragSelectionFlag [private]

Definition at line 151 of file qgsattributetableview.h.

Referenced by selectRow().

QAbstractItemModel* QgsAttributeTableView::mModel [private]

Definition at line 147 of file qgsattributetableview.h.

Definition at line 150 of file qgsattributetableview.h.

Referenced by selectRow().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines