QGIS API Documentation  2.4.0-Chugiak
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Slots | Signals | Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
QgsFeatureListView Class Reference

Shows a list of features and renders a edit button next to each feature. More...

#include <qgsfeaturelistview.h>

Inheritance diagram for QgsFeatureListView:
Inheritance graph
[legend]
Collaboration diagram for QgsFeatureListView:
Collaboration graph
[legend]

Public Slots

void setEditSelection (const QgsFeatureIds &fids)
 Set the feature(s) to be edited. More...
 
void setEditSelection (const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
 Set the feature(s) to be edited. More...
 
virtual void selectAll ()
 Select all currently visible features. More...
 
void repaintRequested (QModelIndexList indexes)
 
void repaintRequested ()
 

Signals

void currentEditSelectionChanged (QgsFeature &feat)
 Is emitted, whenever the current edit selection has been changed. More...
 
void displayExpressionChanged (const QString expression)
 Is emitted, whenever the display expression is successfully changed. More...
 
void aboutToChangeEditSelection (bool &ok)
 

Public Member Functions

 QgsFeatureListView (QWidget *parent=0)
 Creates a feature list view. More...
 
virtual ~QgsFeatureListView ()
 Destructor. More...
 
QgsVectorLayerCachelayerCache ()
 Returns the layer cache. More...
 
virtual void setModel (QgsFeatureListModel *featureListModel)
 Set the QgsFeatureListModel which is used to retrieve information. More...
 
QgsFeatureListModelfeatureListModel ()
 Get the featureListModel used by this view. More...
 
bool setDisplayExpression (const QString displayExpression)
 The display expression is an expression used to render the fields into a single string which is displaied. More...
 
const QString displayExpression () const
 Returns the expression which is currently used to render the features. More...
 
QString parserErrorString ()
 Returns a detailed message about errors while parsing a QgsExpression. More...
 
QgsFeatureIds currentEditSelection ()
 Get the currentEditSelection. More...
 
void setCurrentFeatureEdited (bool state)
 Sets if the currently shown form has received any edit events so far. More...
 

Protected Member Functions

virtual void mouseMoveEvent (QMouseEvent *event)
 
virtual void mousePressEvent (QMouseEvent *event)
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 
virtual void keyPressEvent (QKeyEvent *event)
 

Private Slots

void editSelectionChanged (QItemSelection deselected, QItemSelection selected)
 

Private Member Functions

void selectRow (const QModelIndex &index, bool anchor)
 

Private Attributes

QgsFeatureListModelmModel
 
QItemSelectionModel * mCurrentEditSelectionModel
 
QgsFeatureSelectionModelmFeatureSelectionModel
 
QgsFeatureListViewDelegatemItemDelegate
 
bool mEditSelectionDrag
 
int mRowAnchor
 
QItemSelectionModel::SelectionFlags mCtrlDragSelectionFlag
 

Detailed Description

Shows a list of features and renders a edit button next to each feature.

Accepts a display expression to define the way, features are rendered. Uses a QgsFeatureListModel as source model.

Definition at line 41 of file qgsfeaturelistview.h.

Constructor & Destructor Documentation

QgsFeatureListView::QgsFeatureListView ( QWidget *  parent = 0)
explicit

Creates a feature list view.

Parameters
parentowner

Definition at line 35 of file qgsfeaturelistview.cpp.

virtual QgsFeatureListView::~QgsFeatureListView ( )
inlinevirtual

Destructor.

Definition at line 56 of file qgsfeaturelistview.h.

Member Function Documentation

void QgsFeatureListView::aboutToChangeEditSelection ( bool &  ok)
signal

Referenced by setEditSelection().

QgsFeatureIds QgsFeatureListView::currentEditSelection ( )

Get the currentEditSelection.

Returns
A list of edited feature ids

Definition at line 100 of file qgsfeaturelistview.cpp.

References QgsAttributeTableModel::FeatureIdRole, and mCurrentEditSelectionModel.

void QgsFeatureListView::currentEditSelectionChanged ( QgsFeature feat)
signal

Is emitted, whenever the current edit selection has been changed.

Parameters
featthe feature, which will be edited.

Referenced by editSelectionChanged().

const QString QgsFeatureListView::displayExpression ( ) const

Returns the expression which is currently used to render the features.

Returns
A string containing the currend display expression
See also
QgsExpression

Definition at line 90 of file qgsfeaturelistview.cpp.

References QgsFeatureListModel::displayExpression(), and mModel.

void QgsFeatureListView::displayExpressionChanged ( const QString  expression)
signal

Is emitted, whenever the display expression is successfully changed.

Parameters
expressionThe expression that was applied

Referenced by setDisplayExpression().

void QgsFeatureListView::editSelectionChanged ( QItemSelection  deselected,
QItemSelection  selected 
)
privateslot
QgsFeatureListModel* QgsFeatureListView::featureListModel ( )
inline

Get the featureListModel used by this view.

Returns
The model in use

Definition at line 75 of file qgsfeaturelistview.h.

Referenced by setModel().

void QgsFeatureListView::keyPressEvent ( QKeyEvent *  event)
protectedvirtual
QgsVectorLayerCache * QgsFeatureListView::layerCache ( )

Returns the layer cache.

Returns
the layer cache used as backend

Definition at line 45 of file qgsfeaturelistview.cpp.

References QgsFeatureListModel::layerCache(), and mModel.

void QgsFeatureListView::mouseMoveEvent ( QMouseEvent *  event)
protectedvirtual

This function is called with the given event when a mouse move event is sent to the widget. If a selection is in progress and new items are moved over the selection is extended; if a drag is in progress it is continued.

Definition at line 210 of file qgsfeaturelistview.cpp.

References index, QgsFeatureListModel::mapToMaster(), mEditSelectionDrag, mModel, selectRow(), and setEditSelection().

void QgsFeatureListView::mousePressEvent ( QMouseEvent *  event)
protectedvirtual
void QgsFeatureListView::mouseReleaseEvent ( QMouseEvent *  event)
protectedvirtual

This function is called with the given event when a mouse button is released, after a mouse press event on the widget. If a user presses the mouse inside your widget and then drags the mouse to another location before releasing the mouse button, your widget receives the release event. The function will emit the clicked() signal if an item was being pressed.

Definition at line 233 of file qgsfeaturelistview.cpp.

References QgsFeatureSelectionModel::enableSync(), mEditSelectionDrag, and mFeatureSelectionModel.

QString QgsFeatureListView::parserErrorString ( )

Returns a detailed message about errors while parsing a QgsExpression.

Returns
A message containg information about the parser error.

Definition at line 95 of file qgsfeaturelistview.cpp.

References mModel, and QgsFeatureListModel::parserErrorString().

void QgsFeatureListView::repaintRequested ( QModelIndexList  indexes)
slot

Definition at line 191 of file qgsfeaturelistview.cpp.

References index.

void QgsFeatureListView::repaintRequested ( )
slot

Definition at line 199 of file qgsfeaturelistview.cpp.

Referenced by mousePressEvent(), and setModel().

void QgsFeatureListView::selectAll ( )
virtualslot
void QgsFeatureListView::selectRow ( const QModelIndex &  index,
bool  anchor 
)
private
void QgsFeatureListView::setCurrentFeatureEdited ( bool  state)

Sets if the currently shown form has received any edit events so far.

Parameters
stateThe state

Definition at line 110 of file qgsfeaturelistview.cpp.

References mCurrentEditSelectionModel, mItemDelegate, and QgsFeatureListViewDelegate::setCurrentFeatureEdited().

bool QgsFeatureListView::setDisplayExpression ( const QString  displayExpression)

The display expression is an expression used to render the fields into a single string which is displaied.

Parameters
displayExpressionThe expression used to render the feature
See also
QgsExpression

Definition at line 77 of file qgsfeaturelistview.cpp.

References displayExpressionChanged(), mModel, and QgsFeatureListModel::setDisplayExpression().

void QgsFeatureListView::setEditSelection ( const QgsFeatureIds fids)
slot

Set the feature(s) to be edited.

Parameters
fidsA list of features to be edited

Definition at line 166 of file qgsfeaturelistview.cpp.

References aboutToChangeEditSelection(), QgsFeatureListModel::fidToIdx(), QgsFeatureListModel::mapToMaster(), mCurrentEditSelectionModel, and mModel.

Referenced by keyPressEvent(), mouseMoveEvent(), and mousePressEvent().

void QgsFeatureListView::setEditSelection ( const QModelIndex &  index,
QItemSelectionModel::SelectionFlags  command 
)
slot

Set the feature(s) to be edited.

Parameters
indexThe selection to set
commandselection update mode

Definition at line 182 of file qgsfeaturelistview.cpp.

References aboutToChangeEditSelection(), and mCurrentEditSelectionModel.

void QgsFeatureListView::setModel ( QgsFeatureListModel featureListModel)
virtual

Member Data Documentation

QItemSelectionModel::SelectionFlags QgsFeatureListView::mCtrlDragSelectionFlag
private

Definition at line 175 of file qgsfeaturelistview.h.

Referenced by selectRow().

QItemSelectionModel* QgsFeatureListView::mCurrentEditSelectionModel
private
bool QgsFeatureListView::mEditSelectionDrag
private

Definition at line 173 of file qgsfeaturelistview.h.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

QgsFeatureSelectionModel* QgsFeatureListView::mFeatureSelectionModel
private
QgsFeatureListViewDelegate* QgsFeatureListView::mItemDelegate
private

Definition at line 172 of file qgsfeaturelistview.h.

Referenced by mousePressEvent(), setCurrentFeatureEdited(), and setModel().

QgsFeatureListModel* QgsFeatureListView::mModel
private
int QgsFeatureListView::mRowAnchor
private

Definition at line 174 of file qgsfeaturelistview.h.

Referenced by selectRow().


The documentation for this class was generated from the following files: