19 #include <QStackedWidget>
21 #include "ui_qgsdualviewbase.h"
44 class GUI_EXPORT
QgsDualView :
public QStackedWidget,
private Ui::QgsDualViewBase
80 Q_ENUM( FeatureListBrowsingAction )
104 bool loadFeatures =
true );
112 void setView( ViewMode view );
119 ViewMode view()
const;
141 void setSelectedOnTop(
bool selectedOnTop );
156 int filteredFeatureCount();
165 Q_DECL_DEPRECATED
void setFilteredFeatures(
const QgsFeatureIds &filteredFeatures );
217 void setSortExpression(
const QString &sortExpression, Qt::SortOrder sortOrder = Qt::AscendingOrder );
222 QString sortExpression()
const;
245 bool saveEditChanges();
247 void openConditionalStyles();
253 void setMultiEditEnabled(
bool enabled );
260 void toggleSearchMode(
bool enabled );
266 void copyCellContent()
const;
272 void cancelProgress( );
282 void parentFormValueChanged(
const QString &attribute,
const QVariant &value );
319 void hideEvent( QHideEvent *event )
override;
323 void featureListAboutToChangeEditSelection(
bool &ok );
330 void featureListCurrentEditSelectionChanged(
const QgsFeature &feat );
332 void previewExpressionBuilder();
334 void previewColumnChanged( QAction *previewAction,
const QString &expression );
336 void viewWillShowContextMenu( QMenu *menu,
const QModelIndex &atIndex );
338 void widgetWillShowContextMenu(
QgsActionMenu *menu,
const QModelIndex &atIndex );
340 void showViewHeaderMenu( QPoint point );
342 void organizeColumns();
344 void tableColumnResized(
int column,
int width );
350 void resizeAllColumns();
352 void autosizeColumn();
354 void autosizeAllColumns();
356 void previewExpressionChanged(
const QString &expression );
358 void onSortColumnChanged();
360 void updateSelectedFeatures();
361 void updateEditedAddedFeatures();
363 void extentChanged();
370 void featureFormAttributeChanged(
const QString &attribute,
const QVariant &value,
bool attributeChanged );
378 virtual void progress(
int i,
bool &cancel );
384 virtual void finished();
387 void zoomToCurrentFeature();
389 void panToCurrentFeature();
391 void flashCurrentFeature();
393 void rebuildFullLayerCache();
395 void panZoomGroupButtonToggled( QAbstractButton *button,
bool checked );
397 void flashButtonClicked(
bool clicked );
399 void filterError(
const QString &errorMessage );
408 void initAttributeForm(
const QgsFeature &feature );
413 void columnBoxInit();
414 void initLayerCache(
bool cacheGeometry );
416 void restoreRecentDisplayExpressions();
417 void saveRecentDisplayExpressions()
const;
418 void setDisplayExpression(
const QString &expression );
419 void insertRecentlyUsedDisplayExpression(
const QString &expression );
420 void updateEditSelectionProgress(
int progress,
int count );
423 void setBrowsingAutoPanScaleAllowed(
bool allowed );
435 QMenu *mPreviewColumnsMenu =
nullptr;
436 QMenu *mPreviewActionMenu =
nullptr;
437 QAction *mLastDisplayExpressionAction =
nullptr;
438 QMenu *mHorizontalHeaderMenu =
nullptr;
440 QPointer< QgsVectorLayer > mLayer =
nullptr;
441 QProgressDialog *mProgressDlg =
nullptr;
443 QString mDisplayExpression;
447 bool mBrowsingAutoPanScaleAllowed =
true;
448 ViewMode mPreviousView = AttributeTable;
450 friend class TestQgsDualView;
451 friend class TestQgsAttributeTable;
470 : QAction( name, dualView )
471 , mDualView( dualView )
473 , mFieldIdx( fieldIdx )
483 QModelIndex mFieldIdx;
496 : QAction( name, dualView )
497 , mDualView( dualView )
499 , mFieldIdx( fieldIdx )
508 QModelIndex mFieldIdx;
This class contains context information for attribute editor widgets.
QgsAttributeTableAction(const QString &name, QgsDualView *dualView, QUuid action, const QModelIndex &fieldIdx)
Create a new attribute table action.
This is a container for configuration of the attribute table.
FilterMode
The filter mode defines how the rows should be filtered.
QgsAttributeTableMapLayerAction(const QString &name, QgsDualView *dualView, QgsMapLayerAction *action, const QModelIndex &fieldIdx)
A model backed by a QgsVectorLayerCache which is able to provide feature/attribute information to a Q...
Provides a table view of features of a QgsVectorLayer.
This widget is used to show the attributes of a set of features of a QgsVectorLayer.
void showContextMenuExternally(QgsActionMenu *menu, QgsFeatureId fid)
Emitted when selecting context menu on the feature list to create the context menu individually.
ViewMode
The view modes, in which this widget can present information.
QgsAttributeTableFilterModel::FilterMode filterMode()
Gets the filter mode.
QgsFeatureIds filteredFeatures()
Gets a list of currently visible feature ids.
void filterChanged()
Emitted whenever the filter changes.
void formModeChanged(QgsAttributeEditorContext::Mode mode)
Emitted when the form changes mode.
FeatureListBrowsingAction
Action on the map canvas when browsing the list of features.
@ PanToFeature
The map is panned to the center of the feature bounding-box.
@ ZoomToFeature
The map is zoomed to contained the feature bounding-box.
QgsAttributeTableModel * masterModel() const
Returns the model which has the information about all features (not only filtered)
void filterExpressionSet(const QString &expression, QgsAttributeForm::FilterType type)
Emitted when a filter expression is set using the view.
void displayExpressionChanged(const QString &expression)
Emitted whenever the display expression is successfully changed.
QgsAttributeTableView * tableView()
Returns the table view.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Class for parsing and evaluation of expressions (formerly called "search strings").
This class wraps a request for features to a vector layer (or directly its vector data provider).
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Is an interface class to abstract feature selection handling.
Map canvas is a class for displaying all GIS data types on a canvas.
An action which can run on map layers The class can be used in two manners:
This class caches features of a given QgsVectorLayer.
Represents a vector layer which manages a vector based data sets.
Q_DECLARE_METATYPE(QModelIndex)
QSet< QgsFeatureId > QgsFeatureIds
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features