mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
sipify QgsMapLayerModel, QgsMapLayerProxyModel
This commit is contained in:
parent
0b0e8a6a89
commit
be9a51c42d
@ -54,8 +54,6 @@ core/qgslogger.sip
|
||||
core/qgsmaphittest.sip
|
||||
core/qgsmaplayerdependency.sip
|
||||
core/qgsmaplayerlegend.sip
|
||||
core/qgsmaplayermodel.sip
|
||||
core/qgsmaplayerproxymodel.sip
|
||||
core/qgsmaplayerrenderer.sip
|
||||
core/qgsmaplayerstylemanager.sip
|
||||
core/qgsmaprenderercache.sip
|
||||
|
@ -29,11 +29,11 @@ class QgsFieldProxyModel : QSortFilterProxyModel
|
||||
Int,
|
||||
LongLong,
|
||||
Double,
|
||||
Numeric
|
||||
Numeric,
|
||||
Date,
|
||||
Time,
|
||||
HideReadOnly,
|
||||
AllTypes
|
||||
AllTypes,
|
||||
};
|
||||
typedef QFlags<QgsFieldProxyModel::Filter> Filters;
|
||||
|
||||
|
@ -1,120 +1,148 @@
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
* src/core/qgsmaplayermodel.h *
|
||||
* *
|
||||
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
||||
************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief The QgsMapLayerModel class is a model to display layers in widgets.
|
||||
* @see QgsMapLayerProxyModel to sort and/filter the layers
|
||||
* @see QgsFieldModel to combine in with a field selector.
|
||||
* @note added in 2.3
|
||||
*/
|
||||
class QgsMapLayerModel : QAbstractItemModel
|
||||
{
|
||||
%Docstring
|
||||
The QgsMapLayerModel class is a model to display layers in widgets.
|
||||
\see QgsMapLayerProxyModel to sort and/filter the layers
|
||||
\see QgsFieldModel to combine in with a field selector.
|
||||
.. versionadded:: 2.3
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
#include "qgsmaplayermodel.h"
|
||||
%End
|
||||
|
||||
public:
|
||||
|
||||
//! Item data roles
|
||||
enum ItemDataRole
|
||||
{
|
||||
LayerIdRole, /*!< Stores the map layer ID */
|
||||
LayerRole, /*!< Stores pointer to the map layer itself */
|
||||
EmptyRole, //!< True if index corresponds to the empty (not set) value
|
||||
AdditionalRole, //!< True if index corresponds to an additional (non map layer) item
|
||||
LayerIdRole
|
||||
LayerRole,
|
||||
EmptyRole,
|
||||
AdditionalRole,
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief QgsMapLayerModel creates a model to display layers in widgets.
|
||||
*/
|
||||
explicit QgsMapLayerModel( QObject *parent /TransferThis/ = 0 );
|
||||
/**
|
||||
* @brief QgsMapLayerModel creates a model to display a specific list of layers in a widget.
|
||||
*/
|
||||
explicit QgsMapLayerModel( const QList<QgsMapLayer*>& layers, QObject *parent /TransferThis/ = 0 );
|
||||
%Docstring
|
||||
QgsMapLayerModel creates a model to display layers in widgets.
|
||||
%End
|
||||
|
||||
explicit QgsMapLayerModel( const QList<QgsMapLayer *> &layers, QObject *parent = 0 );
|
||||
%Docstring
|
||||
QgsMapLayerModel creates a model to display a specific list of layers in a widget.
|
||||
%End
|
||||
|
||||
/**
|
||||
* @brief setItemsCheckable defines if layers should be selectable in the widget
|
||||
*/
|
||||
void setItemsCheckable( bool checkable );
|
||||
/**
|
||||
* @brief checkAll changes the checkstate for all the layers
|
||||
*/
|
||||
%Docstring
|
||||
setItemsCheckable defines if layers should be selectable in the widget
|
||||
%End
|
||||
|
||||
void checkAll( Qt::CheckState checkState );
|
||||
%Docstring
|
||||
checkAll changes the checkstate for all the layers
|
||||
%End
|
||||
|
||||
/**
|
||||
* Sets whether an optional empty layer ("not set") option is present in the model.
|
||||
* @see allowEmptyLayer()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void setAllowEmptyLayer( bool allowEmpty );
|
||||
%Docstring
|
||||
Sets whether an optional empty layer ("not set") option is present in the model.
|
||||
\see allowEmptyLayer()
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
/**
|
||||
* Returns true if the model allows the empty layer ("not set") choice.
|
||||
* @see setAllowEmptyLayer()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
bool allowEmptyLayer() const;
|
||||
%Docstring
|
||||
Returns true if the model allows the empty layer ("not set") choice.
|
||||
\see setAllowEmptyLayer()
|
||||
.. versionadded:: 3.0
|
||||
:rtype: bool
|
||||
%End
|
||||
|
||||
/**
|
||||
* Sets whether the CRS of layers is also included in the model's display role.
|
||||
* @see showCrs()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void setShowCrs( bool showCrs );
|
||||
%Docstring
|
||||
Sets whether the CRS of layers is also included in the model's display role.
|
||||
\see showCrs()
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
/**
|
||||
* Returns true if the model includes layer's CRS in the display role.
|
||||
* @see setShowCrs()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
bool showCrs() const;
|
||||
%Docstring
|
||||
Returns true if the model includes layer's CRS in the display role.
|
||||
\see setShowCrs()
|
||||
.. versionadded:: 3.0
|
||||
:rtype: bool
|
||||
%End
|
||||
|
||||
/**
|
||||
* Sets a list of additional (non map layer) items to include at the end of the model.
|
||||
* These may represent additional layers such as layers which are not included in the map
|
||||
* layer registry, or paths to layers which have not yet been loaded into QGIS.
|
||||
* @see additionalItems()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void setAdditionalItems( const QStringList& items );
|
||||
|
||||
/**
|
||||
* Return the list of additional (non map layer) items included at the end of the model.
|
||||
* @see setAdditionalItems()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
QStringList additionalItems() const;
|
||||
|
||||
/**
|
||||
* @brief layersChecked returns the list of layers which are checked (or unchecked)
|
||||
*/
|
||||
QList<QgsMapLayer*> layersChecked( Qt::CheckState checkState = Qt::Checked );
|
||||
//! returns if the items can be checked or not
|
||||
QList<QgsMapLayer *> layersChecked( Qt::CheckState checkState = Qt::Checked );
|
||||
%Docstring
|
||||
layersChecked returns the list of layers which are checked (or unchecked)
|
||||
:rtype: list of QgsMapLayer
|
||||
%End
|
||||
bool itemsCheckable() const;
|
||||
%Docstring
|
||||
returns if the items can be checked or not
|
||||
:rtype: bool
|
||||
%End
|
||||
|
||||
/**
|
||||
* @brief indexFromLayer returns the model index for a given layer
|
||||
*/
|
||||
QModelIndex indexFromLayer( QgsMapLayer* layer ) const;
|
||||
QModelIndex indexFromLayer( QgsMapLayer *layer ) const;
|
||||
%Docstring
|
||||
indexFromLayer returns the model index for a given layer
|
||||
:rtype: QModelIndex
|
||||
%End
|
||||
|
||||
void setAdditionalItems( const QStringList &items );
|
||||
%Docstring
|
||||
Sets a list of additional (non map layer) items to include at the end of the model.
|
||||
These may represent additional layers such as layers which are not included in the map
|
||||
layer registry, or paths to layers which have not yet been loaded into QGIS.
|
||||
\see additionalItems()
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
QStringList additionalItems() const;
|
||||
%Docstring
|
||||
Return the list of additional (non map layer) items included at the end of the model.
|
||||
\see setAdditionalItems()
|
||||
.. versionadded:: 3.0
|
||||
:rtype: list of str
|
||||
%End
|
||||
|
||||
virtual QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
|
||||
%Docstring
|
||||
QAbstractItemModel interface
|
||||
:rtype: QModelIndex
|
||||
%End
|
||||
virtual QModelIndex parent( const QModelIndex &child ) const;
|
||||
virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
virtual int columnCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const;
|
||||
|
||||
|
||||
virtual bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole );
|
||||
virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
|
||||
|
||||
protected slots:
|
||||
void removeLayers( const QStringList& layerIds );
|
||||
void addLayers( const QList<QgsMapLayer*>& layers );
|
||||
void removeLayers( const QStringList &layerIds );
|
||||
void addLayers( const QList<QgsMapLayer *> &layers );
|
||||
|
||||
// QAbstractItemModel interface
|
||||
public:
|
||||
QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
|
||||
QModelIndex parent( const QModelIndex &child ) const;
|
||||
int rowCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
int columnCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const;
|
||||
protected:
|
||||
|
||||
/**
|
||||
* Returns strings for all roles supported by this model.
|
||||
*/
|
||||
QHash<int, QByteArray> roleNames() const;
|
||||
|
||||
bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::DisplayRole );
|
||||
Qt::ItemFlags flags( const QModelIndex &index ) const;
|
||||
};
|
||||
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
* src/core/qgsmaplayermodel.h *
|
||||
* *
|
||||
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
||||
************************************************************************/
|
||||
|
@ -1,14 +1,25 @@
|
||||
/**
|
||||
* @brief The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widgets.
|
||||
* @note added in 2.3
|
||||
*/
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
* src/core/qgsmaplayerproxymodel.h *
|
||||
* *
|
||||
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
||||
************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class QgsMapLayerProxyModel : QSortFilterProxyModel
|
||||
{
|
||||
%Docstring
|
||||
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widgets.
|
||||
.. versionadded:: 2.3
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
#include "qgsmaplayerproxymodel.h"
|
||||
%End
|
||||
|
||||
public:
|
||||
enum Filter
|
||||
{
|
||||
@ -21,57 +32,79 @@ class QgsMapLayerProxyModel : QSortFilterProxyModel
|
||||
VectorLayer,
|
||||
PluginLayer,
|
||||
WritableLayer,
|
||||
All
|
||||
};
|
||||
All };
|
||||
typedef QFlags<QgsMapLayerProxyModel::Filter> Filters;
|
||||
|
||||
/**
|
||||
* @brief QgsMapLayerProxModel creates a proxy model with a QgsMapLayerModel as source model.
|
||||
* It can be used to filter the layers list in a widget.
|
||||
*/
|
||||
explicit QgsMapLayerProxyModel( QObject *parent /TransferThis/ = 0 );
|
||||
%Docstring
|
||||
QgsMapLayerProxModel creates a proxy model with a QgsMapLayerModel as source model.
|
||||
It can be used to filter the layers list in a widget.
|
||||
%End
|
||||
|
||||
/**
|
||||
* @brief layerModel returns the QgsMapLayerModel used in this QSortFilterProxyModel
|
||||
*/
|
||||
QgsMapLayerModel* sourceLayerModel() const;
|
||||
QgsMapLayerModel *sourceLayerModel() const;
|
||||
%Docstring
|
||||
layerModel returns the QgsMapLayerModel used in this QSortFilterProxyModel
|
||||
:rtype: QgsMapLayerModel
|
||||
%End
|
||||
|
||||
/**
|
||||
* @brief setFilters set flags that affect how layers are filtered
|
||||
* @param filters are Filter flags
|
||||
* @note added in 2.3
|
||||
*/
|
||||
QgsMapLayerProxyModel* setFilters( Filters filters );
|
||||
const Filters& filters() const;
|
||||
QgsMapLayerProxyModel *setFilters( QgsMapLayerProxyModel::Filters filters );
|
||||
%Docstring
|
||||
setFilters set flags that affect how layers are filtered
|
||||
\param filters are Filter flags
|
||||
.. versionadded:: 2.3
|
||||
:rtype: QgsMapLayerProxyModel
|
||||
%End
|
||||
const Filters &filters() const;
|
||||
%Docstring
|
||||
:rtype: Filters
|
||||
%End
|
||||
|
||||
//! offer the possibility to except some layers to be listed
|
||||
void setExceptedLayerList( const QList<QgsMapLayer*>& exceptList );
|
||||
//! Get the list of maplayers which are excluded from the list
|
||||
QList<QgsMapLayer*> exceptedLayerList();
|
||||
void setExceptedLayerList( const QList<QgsMapLayer *> &exceptList );
|
||||
%Docstring
|
||||
offer the possibility to except some layers to be listed
|
||||
%End
|
||||
QList<QgsMapLayer *> exceptedLayerList();
|
||||
%Docstring
|
||||
Get the list of maplayers which are excluded from the list
|
||||
:rtype: list of QgsMapLayer
|
||||
%End
|
||||
|
||||
//! Set the list of maplayer ids which are excluded from the list
|
||||
void setExceptedLayerIds( const QStringList& ids );
|
||||
//! Get the list of maplayer ids which are excluded from the list
|
||||
void setExceptedLayerIds( const QStringList &ids );
|
||||
%Docstring
|
||||
Set the list of maplayer ids which are excluded from the list
|
||||
%End
|
||||
QStringList exceptedLayerIds() const;
|
||||
%Docstring
|
||||
Get the list of maplayer ids which are excluded from the list
|
||||
:rtype: list of str
|
||||
%End
|
||||
|
||||
/**
|
||||
* Sets a list of data providers which should be excluded from the model.
|
||||
* @note added in QGIS 3.0
|
||||
* @see excludedProviders()
|
||||
*/
|
||||
void setExcludedProviders( const QStringList& providers );
|
||||
void setExcludedProviders( const QStringList &providers );
|
||||
%Docstring
|
||||
Sets a list of data providers which should be excluded from the model.
|
||||
.. versionadded:: 3.0
|
||||
\see excludedProviders()
|
||||
%End
|
||||
|
||||
/**
|
||||
* Returns the list of data providers which are excluded from the model.
|
||||
* @see setExcludedProviders()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
QStringList excludedProviders() const;
|
||||
%Docstring
|
||||
Returns the list of data providers which are excluded from the model.
|
||||
\see setExcludedProviders()
|
||||
.. versionadded:: 3.0
|
||||
:rtype: list of str
|
||||
%End
|
||||
|
||||
virtual bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const;
|
||||
virtual bool lessThan( const QModelIndex &left, const QModelIndex &right ) const;
|
||||
|
||||
// QSortFilterProxyModel interface
|
||||
public:
|
||||
bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const;
|
||||
bool lessThan( const QModelIndex &left, const QModelIndex &right ) const;
|
||||
};
|
||||
|
||||
QFlags<QgsMapLayerProxyModel::Filter> operator|(QgsMapLayerProxyModel::Filter f1, QFlags<QgsMapLayerProxyModel::Filter> f2);
|
||||
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
* src/core/qgsmaplayerproxymodel.h *
|
||||
* *
|
||||
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
||||
************************************************************************/
|
||||
|
@ -36,6 +36,7 @@ from qgis.core import (
|
||||
QgsApplication,
|
||||
QgsCoordinateReferenceSystem,
|
||||
QgsExpression,
|
||||
QgsFieldProxyModel,
|
||||
QgsMapLayerProxyModel,
|
||||
QgsWkbTypes,
|
||||
QgsSettings,
|
||||
@ -59,7 +60,6 @@ from qgis.gui import (
|
||||
QgsExpressionBuilderDialog,
|
||||
QgsFieldComboBox,
|
||||
QgsFieldExpressionWidget,
|
||||
QgsFieldProxyModel,
|
||||
QgsProjectionSelectionDialog,
|
||||
QgsMapLayerComboBox,
|
||||
QgsProjectionSelectionWidget,
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <QStringList>
|
||||
|
||||
#include "qgis_core.h"
|
||||
#include "qgis.h"
|
||||
|
||||
class QgsMapLayer;
|
||||
|
||||
@ -54,7 +55,7 @@ class CORE_EXPORT QgsMapLayerModel : public QAbstractItemModel
|
||||
/**
|
||||
* \brief QgsMapLayerModel creates a model to display layers in widgets.
|
||||
*/
|
||||
explicit QgsMapLayerModel( QObject *parent = nullptr );
|
||||
explicit QgsMapLayerModel( QObject *parent SIP_TRANSFERTHIS = nullptr );
|
||||
|
||||
/**
|
||||
* \brief QgsMapLayerModel creates a model to display a specific list of layers in a widget.
|
||||
@ -127,17 +128,7 @@ class CORE_EXPORT QgsMapLayerModel : public QAbstractItemModel
|
||||
*/
|
||||
QStringList additionalItems() const { return mAdditionalItems; }
|
||||
|
||||
protected slots:
|
||||
void removeLayers( const QStringList &layerIds );
|
||||
void addLayers( const QList<QgsMapLayer *> &layers );
|
||||
|
||||
protected:
|
||||
QList<QgsMapLayer *> mLayers;
|
||||
QMap<QString, Qt::CheckState> mLayersChecked;
|
||||
bool mItemCheckable;
|
||||
|
||||
// QAbstractItemModel interface
|
||||
public:
|
||||
QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const override;
|
||||
QModelIndex parent( const QModelIndex &child ) const override;
|
||||
int rowCount( const QModelIndex &parent = QModelIndex() ) const override;
|
||||
@ -149,11 +140,20 @@ class CORE_EXPORT QgsMapLayerModel : public QAbstractItemModel
|
||||
*
|
||||
* \note Available only with Qt5 (Python and c++)
|
||||
*/
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
QHash<int, QByteArray> roleNames() const override SIP_SKIP;
|
||||
|
||||
bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole ) override;
|
||||
Qt::ItemFlags flags( const QModelIndex &index ) const override;
|
||||
|
||||
protected slots:
|
||||
void removeLayers( const QStringList &layerIds );
|
||||
void addLayers( const QList<QgsMapLayer *> &layers );
|
||||
|
||||
protected:
|
||||
QList<QgsMapLayer *> mLayers;
|
||||
QMap<QString, Qt::CheckState> mLayersChecked;
|
||||
bool mItemCheckable;
|
||||
|
||||
private:
|
||||
|
||||
bool mAllowEmpty;
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <QStringList>
|
||||
|
||||
#include "qgis_core.h"
|
||||
#include "qgis.h"
|
||||
|
||||
class QgsMapLayerModel;
|
||||
class QgsMapLayer;
|
||||
@ -57,7 +58,7 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
* \brief QgsMapLayerProxModel creates a proxy model with a QgsMapLayerModel as source model.
|
||||
* It can be used to filter the layers list in a widget.
|
||||
*/
|
||||
explicit QgsMapLayerProxyModel( QObject *parent = nullptr );
|
||||
explicit QgsMapLayerProxyModel( QObject *parent SIP_TRANSFERTHIS = nullptr );
|
||||
|
||||
/**
|
||||
* \brief layerModel returns the QgsMapLayerModel used in this QSortFilterProxyModel
|
||||
@ -96,16 +97,14 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
*/
|
||||
QStringList excludedProviders() const { return mExcludedProviders; }
|
||||
|
||||
bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const override;
|
||||
bool lessThan( const QModelIndex &left, const QModelIndex &right ) const override;
|
||||
|
||||
private:
|
||||
Filters mFilters;
|
||||
QList<QgsMapLayer *> mExceptList;
|
||||
QgsMapLayerModel *mModel = nullptr;
|
||||
QStringList mExcludedProviders;
|
||||
|
||||
// QSortFilterProxyModel interface
|
||||
public:
|
||||
bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const override;
|
||||
bool lessThan( const QModelIndex &left, const QModelIndex &right ) const override;
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( QgsMapLayerProxyModel::Filters )
|
||||
|
Loading…
x
Reference in New Issue
Block a user