QGIS API Documentation  3.17.0-Master (ca637cfeb2)
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Friends | List of all members
QgsDualView Class Reference

This widget is used to show the attributes of a set of features of a QgsVectorLayer. More...

#include <qgsdualview.h>

Inheritance diagram for QgsDualView:
Inheritance graph
[legend]

Public Types

enum  FeatureListBrowsingAction { NoAction = 0, PanToFeature, ZoomToFeature }
 Action on the map canvas when browsing the list of features. More...
 
enum  ViewMode { AttributeTable = 0, AttributeEditor = 1 }
 The view modes, in which this widget can present information. More...
 

Public Slots

void cancelProgress ()
 Cancel the progress dialog (if any) More...
 
void copyCellContent () const
 Copy the content of the selected cell in the clipboard. More...
 
void openConditionalStyles ()
 
void parentFormValueChanged (const QString &attribute, const QVariant &value)
 Called in embedded forms when an attribute value in the parent form has changed. More...
 
bool saveEditChanges ()
 saveEditChanges More...
 
void setCurrentEditSelection (const QgsFeatureIds &fids)
 Set the current edit selection in the AttributeEditor mode. More...
 
void setMultiEditEnabled (bool enabled)
 Sets whether multi edit mode is enabled. More...
 
void toggleSearchMode (bool enabled)
 Toggles whether search mode should be enabled in the form. More...
 

Signals

void displayExpressionChanged (const QString &expression)
 Emitted whenever the display expression is successfully changed. More...
 
void filterChanged ()
 Emitted whenever the filter changes. More...
 
void filterExpressionSet (const QString &expression, QgsAttributeForm::FilterType type)
 Emitted when a filter expression is set using the view. More...
 
void formModeChanged (QgsAttributeEditorContext::Mode mode)
 Emitted when the form changes mode. More...
 
void showContextMenuExternally (QgsActionMenu *menu, QgsFeatureId fid)
 Emitted when selecting context menu on the feature list to create the context menu individually. More...
 

Public Member Functions

 QgsDualView (QWidget *parent=nullptr)
 Constructor. More...
 
 ~QgsDualView () override
 
QgsAttributeTableConfig attributeTableConfig () const
 The config used for the attribute table. More...
 
int featureCount ()
 Returns the number of features on the layer. More...
 
int filteredFeatureCount ()
 Returns the number of features which are currently visible, according to the filter restrictions. More...
 
QgsFeatureIds filteredFeatures ()
 Gets a list of currently visible feature ids. More...
 
void filterFeatures (const QgsExpression &filterExpression, const QgsExpressionContext &context)
 Sets the expression and Updates the filtered features in the filter model. More...
 
QgsAttributeTableFilterModel::FilterMode filterMode ()
 Gets the filter mode. More...
 
void init (QgsVectorLayer *layer, QgsMapCanvas *mapCanvas, const QgsFeatureRequest &request=QgsFeatureRequest(), const QgsAttributeEditorContext &context=QgsAttributeEditorContext(), bool loadFeatures=true)
 Has to be called to initialize the dual view. More...
 
QgsAttributeTableModelmasterModel () const
 Returns the model which has the information about all features (not only filtered) More...
 
void setAttributeTableConfig (const QgsAttributeTableConfig &config)
 Set the attribute table config which should be used to control the appearance of the attribute table. More...
 
void setFeatureSelectionManager (QgsIFeatureSelectionManager *featureSelectionManager)
 Set the feature selection model. More...
 
Q_DECL_DEPRECATED void setFilteredFeatures (const QgsFeatureIds &filteredFeatures)
 Set a list of currently visible features. More...
 
void setFilterMode (QgsAttributeTableFilterModel::FilterMode filterMode)
 Set the filter mode. More...
 
void setRequest (const QgsFeatureRequest &request)
 Set the request. More...
 
void setSelectedOnTop (bool selectedOnTop)
 Toggle the selectedOnTop flag. More...
 
void setSortExpression (const QString &sortExpression, Qt::SortOrder sortOrder=Qt::AscendingOrder)
 Set the expression used for sorting the table and feature list. More...
 
void setView (ViewMode view)
 Change the current view mode. More...
 
QString sortExpression () const
 Gets the expression used for sorting the table and feature list. More...
 
QgsAttributeTableViewtableView ()
 Returns the table view. More...
 
ViewMode view () const
 Returns the current view mode. More...
 

Protected Member Functions

void hideEvent (QHideEvent *event) override
 

Friends

class TestQgsAttributeTable
 
class TestQgsDualView
 

Detailed Description

This widget is used to show the attributes of a set of features of a QgsVectorLayer.

The attributes can be edited. It supports two different layouts: the table layout, in which the attributes for the features are shown in a table and the editor layout, where the features are shown as a selectable list and the attributes for the currently selected feature are shown in a form.

Definition at line 41 of file qgsdualview.h.

Member Enumeration Documentation

◆ FeatureListBrowsingAction

Action on the map canvas when browsing the list of features.

Enumerator
NoAction 

No action is done.

PanToFeature 

The map is panned to the center of the feature bounding-box.

ZoomToFeature 

The map is zoomed to contained the feature bounding-box.

Definition at line 71 of file qgsdualview.h.

◆ ViewMode

The view modes, in which this widget can present information.

Relates to the QStackedWidget stacks.

Enumerator
AttributeTable 

Shows the features and attributes in a table layout.

AttributeEditor 

Show a list of the features, where one can be chosen and the according attribute dialog will be presented in the neighbouring frame.

Definition at line 52 of file qgsdualview.h.

Constructor & Destructor Documentation

◆ QgsDualView()

QgsDualView::QgsDualView ( QWidget *  parent = nullptr)
explicit

Constructor.

Parameters
parentThe parent widget

Definition at line 49 of file qgsdualview.cpp.

◆ ~QgsDualView()

QgsDualView::~QgsDualView ( )
override

Definition at line 113 of file qgsdualview.cpp.

Member Function Documentation

◆ attributeTableConfig()

QgsAttributeTableConfig QgsDualView::attributeTableConfig ( ) const

The config used for the attribute table.

Returns
The config used for the attribute table.

Definition at line 1176 of file qgsdualview.cpp.

◆ cancelProgress

void QgsDualView::cancelProgress ( )
slot

Cancel the progress dialog (if any)

Since
QGIS 3.0

Definition at line 734 of file qgsdualview.cpp.

◆ copyCellContent

void QgsDualView::copyCellContent ( ) const
slot

Copy the content of the selected cell in the clipboard.

Since
QGIS 1.16

Definition at line 722 of file qgsdualview.cpp.

◆ displayExpressionChanged

void QgsDualView::displayExpressionChanged ( const QString &  expression)
signal

Emitted whenever the display expression is successfully changed.

Parameters
expressionThe expression that was applied

◆ featureCount()

int QgsDualView::featureCount ( )

Returns the number of features on the layer.

Returns
Number of features

Definition at line 712 of file qgsdualview.cpp.

◆ filterChanged

void QgsDualView::filterChanged ( )
signal

Emitted whenever the filter changes.

◆ filteredFeatureCount()

int QgsDualView::filteredFeatureCount ( )

Returns the number of features which are currently visible, according to the filter restrictions.

Returns
Number of features

Definition at line 717 of file qgsdualview.cpp.

◆ filteredFeatures()

QgsFeatureIds QgsDualView::filteredFeatures ( )
inline

Gets a list of currently visible feature ids.

Definition at line 175 of file qgsdualview.h.

◆ filterExpressionSet

void QgsDualView::filterExpressionSet ( const QString &  expression,
QgsAttributeForm::FilterType  type 
)
signal

Emitted when a filter expression is set using the view.

Parameters
expressionfilter expression
typefilter type
Since
QGIS 2.16

◆ filterFeatures()

void QgsDualView::filterFeatures ( const QgsExpression filterExpression,
const QgsExpressionContext context 
)

Sets the expression and Updates the filtered features in the filter model.

It is called when the filter expression changed.

Since
QGIS 3.10.3

Definition at line 1127 of file qgsdualview.cpp.

◆ filterMode()

QgsAttributeTableFilterModel::FilterMode QgsDualView::filterMode ( )
inline

Gets the filter mode.

Returns
the filter mode

Definition at line 130 of file qgsdualview.h.

◆ formModeChanged

void QgsDualView::formModeChanged ( QgsAttributeEditorContext::Mode  mode)
signal

Emitted when the form changes mode.

Parameters
modenew mode

◆ hideEvent()

void QgsDualView::hideEvent ( QHideEvent *  event)
overrideprotected

Definition at line 748 of file qgsdualview.cpp.

◆ init()

void QgsDualView::init ( QgsVectorLayer layer,
QgsMapCanvas mapCanvas,
const QgsFeatureRequest request = QgsFeatureRequest(),
const QgsAttributeEditorContext context = QgsAttributeEditorContext(),
bool  loadFeatures = true 
)

Has to be called to initialize the dual view.

Parameters
layerThe layer which should be used to fetch features
mapCanvasThe mapCanvas (used for the FilterMode QgsAttributeTableFilterModel::ShowVisible)
requestUse a modified request to limit the shown features
contextThe context in which this view is shown
loadFeatureswhether to initially load all features into the view. If set to false, limited features can later be loaded using setFilterMode()

Definition at line 119 of file qgsdualview.cpp.

◆ masterModel()

QgsAttributeTableModel* QgsDualView::masterModel ( ) const
inline

Returns the model which has the information about all features (not only filtered)

Returns
The master model

Definition at line 182 of file qgsdualview.h.

◆ openConditionalStyles

void QgsDualView::openConditionalStyles ( )
slot

Definition at line 642 of file qgsdualview.cpp.

◆ parentFormValueChanged

void QgsDualView::parentFormValueChanged ( const QString &  attribute,
const QVariant &  value 
)
slot

Called in embedded forms when an attribute value in the parent form has changed.

Notify the form widgets that something has changed in case they have filter expression that depend on the parent form scope.

Since
QGIS 3.14

Definition at line 740 of file qgsdualview.cpp.

◆ saveEditChanges

bool QgsDualView::saveEditChanges ( )
slot

saveEditChanges

Returns
true if the saving was OK. false is possible due to connected validation logic.

Definition at line 637 of file qgsdualview.cpp.

◆ setAttributeTableConfig()

void QgsDualView::setAttributeTableConfig ( const QgsAttributeTableConfig config)

Set the attribute table config which should be used to control the appearance of the attribute table.

Definition at line 1150 of file qgsdualview.cpp.

◆ setCurrentEditSelection

void QgsDualView::setCurrentEditSelection ( const QgsFeatureIds fids)
slot

Set the current edit selection in the AttributeEditor mode.

Parameters
fidsA list of edited features (Currently only one at a time is supported)

Definition at line 631 of file qgsdualview.cpp.

◆ setFeatureSelectionManager()

void QgsDualView::setFeatureSelectionManager ( QgsIFeatureSelectionManager featureSelectionManager)

Set the feature selection model.

Parameters
featureSelectionManagerthe feature selection model

Definition at line 1139 of file qgsdualview.cpp.

◆ setFilteredFeatures()

void QgsDualView::setFilteredFeatures ( const QgsFeatureIds filteredFeatures)

Set a list of currently visible features.

Parameters
filteredFeaturesA list of feature ids
Deprecated:
since filterFeatures is handled in the attribute filter model itself

Definition at line 1122 of file qgsdualview.cpp.

◆ setFilterMode()

void QgsDualView::setFilterMode ( QgsAttributeTableFilterModel::FilterMode  filterMode)

Set the filter mode.

Parameters
filterMode

Definition at line 282 of file qgsdualview.cpp.

◆ setMultiEditEnabled

void QgsDualView::setMultiEditEnabled ( bool  enabled)
slot

Sets whether multi edit mode is enabled.

Since
QGIS 2.16

Definition at line 647 of file qgsdualview.cpp.

◆ setRequest()

void QgsDualView::setRequest ( const QgsFeatureRequest request)

Set the request.

Parameters
requestThe request

Definition at line 1134 of file qgsdualview.cpp.

◆ setSelectedOnTop()

void QgsDualView::setSelectedOnTop ( bool  selectedOnTop)

Toggle the selectedOnTop flag.

If enabled, selected features will be moved to top.

Parameters
selectedOnToptrue: Show selected features on top. false: Use defined sorting column.

Definition at line 373 of file qgsdualview.cpp.

◆ setSortExpression()

void QgsDualView::setSortExpression ( const QString &  sortExpression,
Qt::SortOrder  sortOrder = Qt::AscendingOrder 
)

Set the expression used for sorting the table and feature list.

Definition at line 1159 of file qgsdualview.cpp.

◆ setView()

void QgsDualView::setView ( QgsDualView::ViewMode  view)

Change the current view mode.

Parameters
viewThe view mode to set
See also
view()

Definition at line 272 of file qgsdualview.cpp.

◆ showContextMenuExternally

void QgsDualView::showContextMenuExternally ( QgsActionMenu menu,
QgsFeatureId  fid 
)
signal

Emitted when selecting context menu on the feature list to create the context menu individually.

Parameters
menucontext menu
fidfeature id of the selected feature

◆ sortExpression()

QString QgsDualView::sortExpression ( ) const

Gets the expression used for sorting the table and feature list.

Definition at line 1171 of file qgsdualview.cpp.

◆ tableView()

QgsAttributeTableView* QgsDualView::tableView ( )
inline

Returns the table view.

Returns
The table view

Definition at line 203 of file qgsdualview.h.

◆ toggleSearchMode

void QgsDualView::toggleSearchMode ( bool  enabled)
slot

Toggles whether search mode should be enabled in the form.

Parameters
enabledset to true to switch on search mode
Since
QGIS 2.16

Definition at line 660 of file qgsdualview.cpp.

◆ view()

QgsDualView::ViewMode QgsDualView::view ( ) const

Returns the current view mode.

See also
setView()
Since
QGIS 2.16

Definition at line 277 of file qgsdualview.cpp.

Friends And Related Function Documentation

◆ TestQgsAttributeTable

friend class TestQgsAttributeTable
friend

Definition at line 437 of file qgsdualview.h.

◆ TestQgsDualView

friend class TestQgsDualView
friend

Definition at line 436 of file qgsdualview.h.


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