Skip to content

Commit ba41062

Browse files
committedJul 16, 2018
Faster model
1 parent 9de2cc3 commit ba41062

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed
 

‎python/gui/auto_generated/processing/qgsprocessingtoolboxmodel.sip.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ Processing toolbox model node corresponding to a Processing provider.
139139
%End
140140
public:
141141

142-
QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider, QgsProcessingRegistry *registry );
142+
QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider );
143143
%Docstring
144144
Constructor for QgsProcessingToolboxModelProviderNode, linked to the
145145
specified ``provider``.
@@ -216,7 +216,7 @@ Processing toolbox model node corresponding to an algorithm.
216216
%End
217217
public:
218218

219-
QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm, QgsProcessingRegistry *registry );
219+
QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm );
220220
%Docstring
221221
Constructor for QgsProcessingToolboxModelAlgorithmNode, associated
222222
with the specified ``algorithm``.

‎src/gui/processing/qgsprocessingtoolboxmodel.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ void QgsProcessingToolboxModelNode::deleteChildren()
7272
// QgsProcessingToolboxModelProviderNode
7373
//
7474

75-
QgsProcessingToolboxModelProviderNode::QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider, QgsProcessingRegistry *registry )
75+
QgsProcessingToolboxModelProviderNode::QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider )
7676
: mProviderId( provider->id() )
77-
, mRegistry( registry )
77+
, mProvider( provider )
7878
{}
7979

8080
QgsProcessingProvider *QgsProcessingToolboxModelProviderNode::provider()
8181
{
82-
return mRegistry->providerById( mProviderId );
82+
return mProvider;
8383
}
8484

8585
//
@@ -95,14 +95,13 @@ QgsProcessingToolboxModelGroupNode::QgsProcessingToolboxModelGroupNode( const QS
9595
// QgsProcessingToolboxModelAlgorithmNode
9696
//
9797

98-
QgsProcessingToolboxModelAlgorithmNode::QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm, QgsProcessingRegistry *registry )
99-
: mAlgorithmId( algorithm->id() )
100-
, mRegistry( registry )
98+
QgsProcessingToolboxModelAlgorithmNode::QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm )
99+
: mAlgorithm( algorithm )
101100
{}
102101

103102
const QgsProcessingAlgorithm *QgsProcessingToolboxModelAlgorithmNode::algorithm() const
104103
{
105-
return mRegistry->algorithmById( mAlgorithmId );
104+
return mAlgorithm;
106105
}
107106

108107
//
@@ -268,7 +267,7 @@ void QgsProcessingToolboxModel::addProvider( QgsProcessingProvider *provider )
268267
QgsProcessingToolboxModelNode *parentNode = nullptr;
269268
if ( !isTopLevelProvider( provider->id() ) )
270269
{
271-
std::unique_ptr< QgsProcessingToolboxModelProviderNode > node = qgis::make_unique< QgsProcessingToolboxModelProviderNode >( provider, mRegistry );
270+
std::unique_ptr< QgsProcessingToolboxModelProviderNode > node = qgis::make_unique< QgsProcessingToolboxModelProviderNode >( provider );
272271
parentNode = node.get();
273272
mRootNode->addChildNode( node.release() );
274273
}
@@ -280,7 +279,7 @@ void QgsProcessingToolboxModel::addProvider( QgsProcessingProvider *provider )
280279
const QList< const QgsProcessingAlgorithm * > algorithms = provider->algorithms();
281280
for ( const QgsProcessingAlgorithm *algorithm : algorithms )
282281
{
283-
std::unique_ptr< QgsProcessingToolboxModelAlgorithmNode > algorithmNode = qgis::make_unique< QgsProcessingToolboxModelAlgorithmNode >( algorithm, mRegistry );
282+
std::unique_ptr< QgsProcessingToolboxModelAlgorithmNode > algorithmNode = qgis::make_unique< QgsProcessingToolboxModelAlgorithmNode >( algorithm );
284283

285284
const QString groupId = algorithm->groupId();
286285
if ( !groupId.isEmpty() )

‎src/gui/processing/qgsprocessingtoolboxmodel.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ class GUI_EXPORT QgsProcessingToolboxModelProviderNode : public QgsProcessingToo
162162
* Constructor for QgsProcessingToolboxModelProviderNode, linked to the
163163
* specified \a provider.
164164
*/
165-
QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider, QgsProcessingRegistry *registry );
165+
QgsProcessingToolboxModelProviderNode( QgsProcessingProvider *provider );
166166

167167
NodeType nodeType() const override { return NodeProvider; }
168168

@@ -179,7 +179,8 @@ class GUI_EXPORT QgsProcessingToolboxModelProviderNode : public QgsProcessingToo
179179
private:
180180

181181
QString mProviderId;
182-
QgsProcessingRegistry *mRegistry = nullptr;
182+
QgsProcessingProvider *mProvider = nullptr;
183+
183184
};
184185

185186
/**
@@ -237,7 +238,7 @@ class GUI_EXPORT QgsProcessingToolboxModelAlgorithmNode : public QgsProcessingTo
237238
* Constructor for QgsProcessingToolboxModelAlgorithmNode, associated
238239
* with the specified \a algorithm.
239240
*/
240-
QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm, QgsProcessingRegistry *registry );
241+
QgsProcessingToolboxModelAlgorithmNode( const QgsProcessingAlgorithm *algorithm );
241242

242243
NodeType nodeType() const override { return NodeAlgorithm; }
243244

@@ -248,8 +249,7 @@ class GUI_EXPORT QgsProcessingToolboxModelAlgorithmNode : public QgsProcessingTo
248249

249250
private:
250251

251-
const QString mAlgorithmId;
252-
QgsProcessingRegistry *mRegistry = nullptr;
252+
const QgsProcessingAlgorithm *mAlgorithm = nullptr;
253253

254254
};
255255

0 commit comments

Comments
 (0)
Please sign in to comment.