-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[processing] New class QgsProcessingToolboxModel which is
a QAbstractItemModel which represents the providers, groups and algorithms from the processing registry
- Loading branch information
1 parent
4c3aeb8
commit f6075ca
Showing
8 changed files
with
1,677 additions
and
0 deletions.
There are no files selected for viewing
319 changes: 319 additions & 0 deletions
319
python/gui/auto_generated/processing/qgsprocessingtoolboxmodel.sip.in
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,319 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/processing/qgsprocessingtoolboxmodel.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
|
||
class QgsProcessingToolboxModelNode : QObject | ||
{ | ||
%Docstring | ||
Abstract base class for nodes contained within a QgsProcessingToolboxModel. | ||
|
||
.. warning:: | ||
|
||
Not part of stable API and may change in future QGIS releases. | ||
|
||
.. versionadded:: 3.2 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsprocessingtoolboxmodel.h" | ||
%End | ||
%ConvertToSubClassCode | ||
if ( sipCpp->inherits( "QgsProcessingToolboxModelNode" ) ) | ||
{ | ||
sipType = sipType_QgsProcessingToolboxModelNode; | ||
QgsProcessingToolboxModelNode *node = qobject_cast<QgsProcessingToolboxModelNode *>( sipCpp ); | ||
if ( node->nodeType() == QgsProcessingToolboxModelNode::NodeProvider ) | ||
sipType = sipType_QgsProcessingToolboxModelProviderNode; | ||
else if ( node->nodeType() == QgsProcessingToolboxModelNode::NodeGroup ) | ||
sipType = sipType_QgsProcessingToolboxModelGroupNode; | ||
else if ( node->nodeType() == QgsProcessingToolboxModelNode::NodeAlgorithm ) | ||
sipType = sipType_QgsProcessingToolboxModelAlgorithmNode; | ||
} | ||
else | ||
sipType = 0; | ||
%End | ||
public: | ||
|
||
enum NodeType | ||
{ | ||
NodeProvider, | ||
NodeGroup, | ||
NodeAlgorithm, | ||
}; | ||
|
||
~QgsProcessingToolboxModelNode(); | ||
|
||
virtual NodeType nodeType() const = 0; | ||
%Docstring | ||
Returns the node's type. | ||
%End | ||
|
||
QgsProcessingToolboxModelNode *parent(); | ||
%Docstring | ||
Returns the node's parent. If the node's parent is a null pointer, then the node is a root node. | ||
%End | ||
|
||
QList<QgsProcessingToolboxModelNode *> children(); | ||
%Docstring | ||
Returns a list of children belonging to the node. | ||
%End | ||
|
||
|
||
QgsProcessingToolboxModelGroupNode *getChildGroupNode( const QString &id ); | ||
%Docstring | ||
Tries to find a child node belonging to this node, which corresponds to | ||
a group node with the given group ``id``. Returns None if no matching | ||
child group node was found. | ||
%End | ||
|
||
void addChildNode( QgsProcessingToolboxModelNode *node /Transfer/ ); | ||
%Docstring | ||
Adds a child ``node`` to this node, transferring ownership of the node | ||
to this node. | ||
%End | ||
|
||
void deleteChildren(); | ||
%Docstring | ||
Deletes all child nodes from this node. | ||
%End | ||
|
||
}; | ||
|
||
class QgsProcessingToolboxModelProviderNode : QgsProcessingToolboxModelNode | ||
{ | ||
%Docstring | ||
Processing toolbox model node corresponding to a Processing provider. | ||
|
||
.. versionadded:: 3.2 | ||
|
||
.. warning:: | ||
|
||
Not part of stable API and may change in future QGIS releases. | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsprocessingtoolboxmodel.h" | ||
%End | ||
public: | ||
|
||
QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider ); | ||
%Docstring | ||
Constructor for QgsProcessingToolboxModelProviderNode, linked to the | ||
specified ``provider``. | ||
%End | ||
|
||
virtual NodeType nodeType() const; | ||
|
||
QgsProcessingProvider *provider(); | ||
%Docstring | ||
Returns the provider associated with this node. | ||
%End | ||
|
||
}; | ||
|
||
class QgsProcessingToolboxModelGroupNode : QgsProcessingToolboxModelNode | ||
{ | ||
%Docstring | ||
Processing toolbox model node corresponding to a group of algorithms. | ||
|
||
.. versionadded:: 3.2 | ||
|
||
.. warning:: | ||
|
||
Not part of stable API and may change in future QGIS releases. | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsprocessingtoolboxmodel.h" | ||
%End | ||
public: | ||
|
||
QgsProcessingToolboxModelGroupNode( const QString &id, const QString &name ); | ||
%Docstring | ||
Constructor for QgsProcessingToolboxModelGroupNode. | ||
|
||
The ``id`` argument specifies the group ID (unique and untranslated), | ||
and the ``name`` argument gives the translated, user-visible name | ||
of the group. | ||
%End | ||
|
||
virtual NodeType nodeType() const; | ||
|
||
QString id() const; | ||
%Docstring | ||
Returns the group's ID, which is unique and untranslated. | ||
%End | ||
|
||
QString name() const; | ||
%Docstring | ||
Returns the group's name, which is translated and user-visible. | ||
%End | ||
|
||
}; | ||
|
||
class QgsProcessingToolboxModelAlgorithmNode : QgsProcessingToolboxModelNode | ||
{ | ||
%Docstring | ||
Processing toolbox model node corresponding to an algorithm. | ||
|
||
.. versionadded:: 3.2 | ||
|
||
.. warning:: | ||
|
||
Not part of stable API and may change in future QGIS releases. | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsprocessingtoolboxmodel.h" | ||
%End | ||
public: | ||
|
||
QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm ); | ||
%Docstring | ||
Constructor for QgsProcessingToolboxModelAlgorithmNode, associated | ||
with the specified ``algorithm``. | ||
%End | ||
|
||
virtual NodeType nodeType() const; | ||
|
||
const QgsProcessingAlgorithm *algorithm() const; | ||
%Docstring | ||
Returns the algorithm associated with this node. | ||
%End | ||
|
||
}; | ||
|
||
|
||
class QgsProcessingToolboxModel : QAbstractItemModel | ||
{ | ||
%Docstring | ||
A model for providers and algorithms shown within the Processing toolbox. | ||
|
||
.. versionadded:: 3.2 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsprocessingtoolboxmodel.h" | ||
%End | ||
public: | ||
|
||
enum Roles | ||
{ | ||
RoleNodeType, | ||
RoleAlgorithmFlags, | ||
}; | ||
|
||
QgsProcessingToolboxModel( QObject *parent /TransferThis/ = 0, QgsProcessingRegistry *registry = 0 ); | ||
%Docstring | ||
Constructor for QgsProcessingToolboxModel, with the given ``parent`` object. | ||
|
||
If ``registry`` is specified then the model will show providers and algorithms | ||
from the given registry. If no registry is specified, then the processing | ||
registry attached to QgsApplication.processingRegistry() will be used | ||
by the model. | ||
%End | ||
|
||
virtual Qt::ItemFlags flags( const QModelIndex &index ) const; | ||
|
||
virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; | ||
|
||
virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const; | ||
|
||
virtual int columnCount( const QModelIndex & = QModelIndex() ) const; | ||
|
||
virtual QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const; | ||
|
||
virtual QModelIndex parent( const QModelIndex &index ) const; | ||
|
||
|
||
QgsProcessingToolboxModelNode *index2node( const QModelIndex &index ) const; | ||
%Docstring | ||
Returns the model node corresponding to the given ``index``. | ||
|
||
.. seealso:: :py:func:`node2index` | ||
%End | ||
|
||
QModelIndex node2index( QgsProcessingToolboxModelNode *node ) const; | ||
%Docstring | ||
Returns the model index corresponding to the given ``node``. | ||
|
||
.. seealso:: :py:func:`index2node` | ||
%End | ||
|
||
QgsProcessingProvider *providerForIndex( const QModelIndex &index ) const; | ||
%Docstring | ||
Returns the provider which corresponds to a given ``index``, or | ||
a None if the index does not represent a provider. | ||
|
||
.. seealso:: :py:func:`algorithmForIndex` | ||
|
||
.. seealso:: :py:func:`indexForProvider` | ||
%End | ||
|
||
const QgsProcessingAlgorithm *algorithmForIndex( const QModelIndex &index ) const; | ||
%Docstring | ||
Returns the algorithm which corresponds to a given ``index``, or | ||
a None if the index does not represent an algorithm. | ||
|
||
.. seealso:: :py:func:`providerForIndex` | ||
%End | ||
|
||
QModelIndex indexForProvider( QgsProcessingProvider *provider ) const; | ||
%Docstring | ||
Returns the index corresponding to the specified ``provider``. | ||
|
||
.. seealso:: :py:func:`providerForIndex` | ||
%End | ||
|
||
QModelIndex indexOfParentTreeNode( QgsProcessingToolboxModelNode *parentNode ) const; | ||
%Docstring | ||
Returns the index corresponding to the parent of a given node. | ||
%End | ||
|
||
}; | ||
|
||
|
||
class QgsProcessingToolboxProxyModel: QSortFilterProxyModel | ||
{ | ||
%Docstring | ||
A sort/filter proxy model for providers and algorithms shown within the Processing toolbox. | ||
|
||
.. versionadded:: 3.2 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsprocessingtoolboxmodel.h" | ||
%End | ||
public: | ||
|
||
explicit QgsProcessingToolboxProxyModel( QObject *parent /TransferThis/ = 0, QgsProcessingRegistry *registry = 0 ); | ||
%Docstring | ||
Constructor for QgsProcessingToolboxProxyModel, with the given ``parent`` object. | ||
|
||
If ``registry`` is specified then the model will show providers and algorithms | ||
from the given registry. If no registry is specified, then the processing | ||
registry attached to QgsApplication.processingRegistry() will be used | ||
by the model. | ||
%End | ||
|
||
virtual bool lessThan( const QModelIndex &left, const QModelIndex &right ) const; | ||
|
||
|
||
}; | ||
|
||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/processing/qgsprocessingtoolboxmodel.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
Oops, something went wrong.