Skip to content

Commit cfbc009

Browse files
committed
Restore Set style for vector layer alg
1 parent be48f17 commit cfbc009

File tree

2 files changed

+17
-24
lines changed

2 files changed

+17
-24
lines changed

python/plugins/processing/algs/qgis/QGISAlgorithmProvider.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
from .ServiceAreaFromLayer import ServiceAreaFromLayer
129129
from .ServiceAreaFromPoint import ServiceAreaFromPoint
130130
from .SetMValue import SetMValue
131+
from .SetVectorStyle import SetVectorStyle
131132
from .SetZValue import SetZValue
132133
from .ShortestPathLayerToPoint import ShortestPathLayerToPoint
133134
from .ShortestPathPointToLayer import ShortestPathPointToLayer
@@ -161,7 +162,6 @@
161162
# from .GeometryConvert import GeometryConvert
162163
# from .FieldsCalculator import FieldsCalculator
163164
# from .FieldPyculator import FieldsPyculator
164-
# from .SetVectorStyle import SetVectorStyle
165165
# from .SetRasterStyle import SetRasterStyle
166166
# from .SelectByAttributeSum import SelectByAttributeSum
167167
# from .Datasources2Vrt import Datasources2Vrt
@@ -192,7 +192,7 @@ def getAlgs(self):
192192
# SpatialJoin(),
193193
# GeometryConvert(), FieldsCalculator(),
194194
# FieldsPyculator(),
195-
# SetVectorStyle(), SetRasterStyle(),
195+
# SetRasterStyle(),
196196
# FieldsMapper(), SelectByAttributeSum(), Datasources2Vrt(),
197197
# DefineProjection(),
198198
# RectanglesOvalsDiamondsVariable(),
@@ -289,6 +289,7 @@ def getAlgs(self):
289289
ServiceAreaFromLayer(),
290290
ServiceAreaFromPoint(),
291291
SetMValue(),
292+
SetVectorStyle(),
292293
SetZValue(),
293294
ShortestPathLayerToPoint(),
294295
ShortestPathPointToLayer(),

python/plugins/processing/algs/qgis/SetVectorStyle.py

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,10 @@
2525

2626
__revision__ = '$Format:%H$'
2727

28-
import os
29-
from qgis.core import (QgsApplication,
30-
QgsProcessingUtils)
28+
from qgis.core import (QgsProcessingParameterFile,
29+
QgsProcessingParameterVectorLayer,
30+
QgsProcessingOutputVectorLayer)
3131
from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
32-
from processing.core.parameters import ParameterVector
33-
from processing.core.outputs import OutputVector
34-
from processing.core.parameters import ParameterFile
35-
from processing.tools import dataobjects
3632

3733

3834
class SetVectorStyle(QgisAlgorithm):
@@ -48,11 +44,12 @@ def __init__(self):
4844
super().__init__()
4945

5046
def initAlgorithm(self, config=None):
51-
self.addParameter(ParameterVector(self.INPUT,
52-
self.tr('Vector layer')))
53-
self.addParameter(ParameterFile(self.STYLE,
54-
self.tr('Style file'), False, False, 'qml'))
55-
self.addOutput(OutputVector(self.OUTPUT, self.tr('Styled'), True))
47+
self.addParameter(QgsProcessingParameterVectorLayer(self.INPUT,
48+
self.tr('Vector layer')))
49+
self.addParameter(QgsProcessingParameterFile(self.STYLE,
50+
self.tr('Style file'), extension='qml'))
51+
self.addOutput(QgsProcessingOutputVectorLayer(self.INPUT,
52+
self.tr('Styled')))
5653

5754
def name(self):
5855
return 'setstyleforvectorlayer'
@@ -61,13 +58,8 @@ def displayName(self):
6158
return self.tr('Set style for vector layer')
6259

6360
def processAlgorithm(self, parameters, context, feedback):
64-
filename = self.getParameterValue(self.INPUT)
65-
66-
style = self.getParameterValue(self.STYLE)
67-
layer = QgsProcessingUtils.mapLayerFromString(filename, context, False)
68-
if layer is None:
69-
dataobjects.load(filename, os.path.basename(filename), style=style)
70-
else:
71-
layer.loadNamedStyle(style)
72-
context.addLayerToLoadOnCompletion(layer.id())
73-
layer.triggerRepaint()
61+
layer = self.parameterAsVectorLayer(parameters, self.INPUT, context)
62+
style = self.parameterAsFile(parameters, self.STYLE, context)
63+
layer.loadNamedStyle(style)
64+
layer.triggerRepaint()
65+
return {self.INPUT: layer}

0 commit comments

Comments
 (0)