Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move browser proxy model to core library and expose as stable API
This class is useful for plugins and other areas of QGIS code which want to expose a limited browser interface (e.g. a vector layer only type layer picker) Also add unit tests
- Loading branch information
1 parent
3543d34
commit 5d9d903
Showing
12 changed files
with
830 additions
and
212 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsbrowserproxymodel.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
class QgsBrowserProxyModel : QSortFilterProxyModel | ||
{ | ||
%Docstring | ||
A QSortFilterProxyModel subclass for filtering and sorting browser model items. | ||
|
||
.. versionadded:: 3.4 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsbrowserproxymodel.h" | ||
%End | ||
public: | ||
|
||
enum FilterSyntax | ||
{ | ||
Normal, | ||
Wildcards, | ||
RegularExpression, | ||
}; | ||
|
||
explicit QgsBrowserProxyModel( QObject *parent /TransferThis/ = 0 ); | ||
%Docstring | ||
Constructor for QgsBrowserProxyModel, with the specified ``parent`` object. | ||
%End | ||
|
||
void setBrowserModel( QgsBrowserModel *model ); | ||
%Docstring | ||
Sets the underlying browser ``model``. | ||
|
||
.. seealso:: :py:func:`browserModel` | ||
%End | ||
|
||
QgsBrowserModel *browserModel(); | ||
%Docstring | ||
Returns the underlying browser model. | ||
|
||
.. seealso:: :py:func:`setBrowserModel` | ||
%End | ||
|
||
QgsDataItem *dataItem( const QModelIndex &index ) const; | ||
%Docstring | ||
Returns the data item at the specified proxy ``index``, or a None if no item | ||
exists at the index. | ||
%End | ||
|
||
void setFilterSyntax( FilterSyntax syntax ); | ||
%Docstring | ||
Sets the filter ``syntax``. | ||
|
||
.. seealso:: :py:func:`filterSyntax` | ||
%End | ||
|
||
FilterSyntax filterSyntax() const; | ||
%Docstring | ||
Returns the filter syntax. | ||
|
||
.. seealso:: :py:func:`setFilterSyntax` | ||
%End | ||
|
||
void setFilterString( const QString &filter ); | ||
%Docstring | ||
Sets the ``filter`` string to use when filtering items in the model. | ||
|
||
.. seealso:: :py:func:`filterString` | ||
%End | ||
|
||
QString filterString() const; | ||
%Docstring | ||
Returns the filter string used when filtering items in the model. | ||
|
||
.. seealso:: :py:func:`setFilterString` | ||
%End | ||
|
||
void setFilterCaseSensitivity( Qt::CaseSensitivity sensitivity ); | ||
%Docstring | ||
Sets whether item filtering should be case sensitive. | ||
|
||
.. seealso:: :py:func:`caseSensitivity` | ||
%End | ||
|
||
Qt::CaseSensitivity caseSensitivity() const; | ||
%Docstring | ||
Returns whether item filtering is case sensitive. | ||
|
||
.. seealso:: :py:func:`setFilterCaseSensitivity` | ||
%End | ||
|
||
bool filterByLayerType() const; | ||
%Docstring | ||
Returns true if the model is filtered by map layer type. | ||
|
||
.. seealso:: :py:func:`layerType` | ||
|
||
.. seealso:: :py:func:`setFilterByLayerType` | ||
%End | ||
|
||
void setFilterByLayerType( bool enabled ); | ||
%Docstring | ||
Sets whether the model is filtered by map layer type. | ||
|
||
.. seealso:: :py:func:`filterByLayerType` | ||
|
||
.. seealso:: :py:func:`setLayerType` | ||
%End | ||
|
||
QgsMapLayer::LayerType layerType() const; | ||
%Docstring | ||
Returns the layer type to filter the model by. This is only used if | ||
filterByLayerType() is true. | ||
|
||
.. seealso:: :py:func:`setLayerType` | ||
|
||
.. seealso:: :py:func:`filterByLayerType` | ||
%End | ||
|
||
void setLayerType( QgsMapLayer::LayerType type ); | ||
%Docstring | ||
Sets the layer ``type`` to filter the model by. This is only used if | ||
filterByLayerType() is true. | ||
|
||
.. seealso:: :py:func:`layerType` | ||
|
||
.. seealso:: :py:func:`setFilterByLayerType` | ||
%End | ||
|
||
protected: | ||
|
||
virtual bool filterAcceptsRow( int sourceRow, const QModelIndex &sourceParent ) const; | ||
|
||
|
||
}; | ||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsbrowserproxymodel.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.