Alessandro Pasotti d2c317a5d7 Attribute table optimization: do not store hidden fields
- defer hidden fields fetching
- allow caching of mixed full and subset attributes features
2023-05-19 19:15:10 +02:00

356 lines
9.0 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/attributetable/qgsdualview.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsDualView : QStackedWidget
{
%Docstring(signature="appended")
This widget is used to show the attributes of a set of features of a :py:class:`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.
%End
%TypeHeaderCode
#include "qgsdualview.h"
%End
public:
enum ViewMode
{
AttributeTable,
AttributeEditor
};
enum FeatureListBrowsingAction
{
NoAction,
PanToFeature,
ZoomToFeature,
};
explicit QgsDualView( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor
:param parent: The parent widget
%End
~QgsDualView();
void init( QgsVectorLayer *layer,
QgsMapCanvas *mapCanvas,
const QgsFeatureRequest &request = QgsFeatureRequest(),
const QgsAttributeEditorContext &context = QgsAttributeEditorContext(),
bool loadFeatures = true, bool showFirstFeature = true );
%Docstring
Has to be called to initialize the dual view.
:param layer: The layer which should be used to fetch features
:param mapCanvas: The mapCanvas (used for the FilterMode
:py:class:`QgsAttributeTableFilterModel`.ShowVisible)
:param request: Use a modified request to limit the shown features
:param context: The context in which this view is shown
:param loadFeatures: whether to initially load all features into the view. If set to
``False``, limited features can later be loaded using :py:func:`~QgsDualView.setFilterMode`
:param showFirstFeature: whether to initially show the first feature form upon initializing the dual view
%End
void setView( ViewMode view );
%Docstring
Change the current view mode.
:param view: The view mode to set
.. seealso:: :py:func:`view`
%End
ViewMode view() const;
%Docstring
Returns the current view mode.
.. seealso:: :py:func:`setView`
.. versionadded:: 2.16
%End
void setFilterMode( QgsAttributeTableFilterModel::FilterMode filterMode );
%Docstring
Set the filter mode
:param filterMode:
%End
QgsAttributeTableFilterModel::FilterMode filterMode();
%Docstring
Gets the filter mode
:return: the filter mode
%End
void setSelectedOnTop( bool selectedOnTop );
%Docstring
Toggle the selectedOnTop flag. If enabled, selected features will be moved to top.
:param selectedOnTop: ``True``: Show selected features on top.
``False``: Use defined sorting column.
%End
int featureCount();
%Docstring
Returns the number of features on the layer.
:return: Number of features
%End
int filteredFeatureCount();
%Docstring
Returns the number of features which are currently visible, according to the
filter restrictions
:return: Number of features
%End
void setFilteredFeatures( const QgsFeatureIds &filteredFeatures );
%Docstring
Set a list of currently visible features
:param filteredFeatures: A list of feature ids
.. deprecated::
since filterFeatures is handled in the attribute filter model itself
%End
void filterFeatures( const QgsExpression &filterExpression, const QgsExpressionContext &context );
%Docstring
Sets the expression and Updates the filtered features in the filter model.
It is called when the filter expression changed.
.. versionadded:: 3.10.3
%End
QgsFeatureIds filteredFeatures();
%Docstring
Gets a list of currently visible feature ids.
%End
QgsAttributeTableModel *masterModel() const;
%Docstring
Returns the model which has the information about all features (not only filtered)
:return: The master model
%End
void setRequest( const QgsFeatureRequest &request );
%Docstring
Set the request
:param request: The request
%End
void setFeatureSelectionManager( QgsIFeatureSelectionManager *featureSelectionManager );
%Docstring
Set the feature selection model
:param featureSelectionManager: the feature selection model
%End
QgsAttributeTableView *tableView();
%Docstring
Returns the table view
:return: The table view
%End
void setAttributeTableConfig( const QgsAttributeTableConfig &config );
%Docstring
Set the attribute table config which should be used to control
the appearance of the attribute table.
%End
void setSortExpression( const QString &sortExpression, Qt::SortOrder sortOrder = Qt::AscendingOrder );
%Docstring
Set the expression used for sorting the table and feature list.
%End
QString sortExpression() const;
%Docstring
Gets the expression used for sorting the table and feature list.
%End
QgsAttributeTableConfig attributeTableConfig() const;
%Docstring
The config used for the attribute table.
:return: The config used for the attribute table.
%End
static QgsAttributeList requiredAttributes( const QgsVectorLayer *layer );
%Docstring
Returns the list of required attributes according to the attribute table configuration of the ``layer``,
only visible attributes and virtual fields referenced fields are returned.
.. versionadded:: 3.32
%End
public slots:
void setCurrentEditSelection( const QgsFeatureIds &fids );
%Docstring
Set the current edit selection in the AttributeEditor mode.
:param fids: A list of edited features (Currently only one at a time is supported)
%End
bool saveEditChanges();
%Docstring
saveEditChanges
:return: ``True`` if the saving was OK. ``False`` is possible due to connected
validation logic.
%End
void openConditionalStyles();
void setMultiEditEnabled( bool enabled );
%Docstring
Sets whether multi edit mode is enabled.
.. versionadded:: 2.16
%End
void toggleSearchMode( bool enabled );
%Docstring
Toggles whether search mode should be enabled in the form.
:param enabled: set to ``True`` to switch on search mode
.. versionadded:: 2.16
%End
void copyCellContent() const;
%Docstring
Copy the content of the selected cell in the clipboard.
.. versionadded:: 1.16
%End
void cancelProgress( );
%Docstring
Cancel the progress dialog (if any)
.. versionadded:: 3.0
%End
void parentFormValueChanged( const QString &attribute, const QVariant &value );
%Docstring
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.
.. versionadded:: 3.14
%End
signals:
void displayExpressionChanged( const QString &expression );
%Docstring
Emitted whenever the display expression is successfully changed
:param expression: The expression that was applied
%End
void filterChanged();
%Docstring
Emitted whenever the filter changes
%End
void filterExpressionSet( const QString &expression, QgsAttributeForm::FilterType type );
%Docstring
Emitted when a filter expression is set using the view.
:param expression: filter expression
:param type: filter type
.. versionadded:: 2.16
%End
void formModeChanged( QgsAttributeEditorContext::Mode mode );
%Docstring
Emitted when the form changes mode.
:param mode: new mode
%End
void showContextMenuExternally( QgsActionMenu *menu, QgsFeatureId fid );
%Docstring
Emitted when selecting context menu on the feature list to create the context menu individually
:param menu: context menu
:param fid: feature id of the selected feature
%End
protected:
virtual void hideEvent( QHideEvent *event );
};
class QgsAttributeTableAction : QAction
{
%TypeHeaderCode
#include "qgsdualview.h"
%End
public:
QgsAttributeTableAction( const QString &name, QgsDualView *dualView, QUuid action, const QModelIndex &fieldIdx );
%Docstring
Create a new attribute table action.
.. versionadded:: 3.0
%End
public slots:
void execute();
void featureForm();
};
class QgsAttributeTableMapLayerAction : QAction
{
%TypeHeaderCode
#include "qgsdualview.h"
%End
public:
QgsAttributeTableMapLayerAction( const QString &name, QgsDualView *dualView, QgsMapLayerAction *action, const QModelIndex &fieldIdx );
public slots:
void execute();
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/attributetable/qgsdualview.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/