Skip to content

Commit

Permalink
sipify QgsMapLayerModel, QgsMapLayerProxyModel
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed Apr 19, 2017
1 parent 0b0e8a6 commit be9a51c
Show file tree
Hide file tree
Showing 7 changed files with 216 additions and 158 deletions.
2 changes: 0 additions & 2 deletions python/auto_sip.blacklist
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions python/core/qgsfieldproxymodel.sip
Expand Up @@ -29,11 +29,11 @@ class QgsFieldProxyModel : QSortFilterProxyModel
Int,
LongLong,
Double,
Numeric
Numeric,
Date,
Time,
HideReadOnly,
AllTypes
AllTypes,
};
typedef QFlags<QgsFieldProxyModel::Filter> Filters;

Expand Down
202 changes: 115 additions & 87 deletions python/core/qgsmaplayermodel.sip
@@ -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 );

/**
* @brief setItemsCheckable defines if layers should be selectable in the widget
*/
%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

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

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

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

/**
* 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;
%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

/**
* @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
bool itemsCheckable() const;
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;

/**
* @brief indexFromLayer returns the model index for a given layer
*/
QModelIndex indexFromLayer( QgsMapLayer* layer ) 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 );

protected:

// 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;

/**
* 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 *
************************************************************************/

0 comments on commit be9a51c

Please sign in to comment.