Skip to content

Commit 6bcf10f

Browse files
committed
[sextante] file selector and iterator buttons can be hidden now in parameters dialog if algorithm does not support them
1 parent 4c39d27 commit 6bcf10f

File tree

6 files changed

+9
-2
lines changed

6 files changed

+9
-2
lines changed

python/plugins/sextante/algs/ftools/RandomSelection.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class RandomSelection(GeoAlgorithm):
5656
#===========================================================================
5757

5858
def defineCharacteristics(self):
59+
self.allowOnlyOpenedLayers = True
5960
self.name = "Random selection"
6061
self.group = "Vector selection tools"
6162

python/plugins/sextante/algs/ftools/RandomSelectionWithinSubsets.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class RandomSelectionWithinSubsets(GeoAlgorithm):
5555
#===========================================================================
5656

5757
def defineCharacteristics(self):
58+
self.allowOnlyOpenedLayers = True
5859
self.name = "Random selection within subsets"
5960
self.group = "Vector selection tools"
6061

python/plugins/sextante/algs/ftools/SelectByLocation.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class SelectByLocation(GeoAlgorithm):
5151
#===========================================================================
5252

5353
def defineCharacteristics(self):
54+
self.allowOnlyOpenedLayers = True
5455
self.name = "Select by location"
5556
self.group = "Vector selection tools"
5657
self.addParameter(ParameterVector(self.INPUT, "Layer to select from", ParameterVector.VECTOR_TYPE_ANY))

python/plugins/sextante/algs/mmqgisx/MMQGISXAlgorithms.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,7 @@ class mmqgisx_select_algorithm(GeoAlgorithm):
10301030
RESULT = "RESULT"
10311031

10321032
def defineCharacteristics(self):
1033+
self.allowOnlyOpenedLayers = True
10331034
self.name = "Select by attribute"
10341035
self.group = "Vector selection tools"
10351036

python/plugins/sextante/core/GeoAlgorithm.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ def __init__(self):
5959
#change any of the following if your algorithm should not appear in the toolbox or modeler
6060
self.showInToolbox = True
6161
self.showInModeler = True
62+
#if true, will show only loaded layers in parameters dialog
63+
self.allowOnlyOpenedLayers = False
64+
#False if it should not be run a a batch process
6265
self.canRunInBatchMode = True
6366
#to be set by the provider when it loads the algorithm
6467
self.provider = None

python/plugins/sextante/gui/ParametersPanel.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def initGUI(self):
119119
self.labels[param.name] = label
120120
widget = self.getWidgetFromParameter(param)
121121
self.valueItems[param.name] = widget
122-
if isinstance(param, ParameterVector):
122+
if isinstance(param, ParameterVector) and not self.alg.allowOnlyOpenedLayers:
123123
layout = QtGui.QHBoxLayout()
124124
layout.setSpacing(2)
125125
layout.setMargin(0)
@@ -202,7 +202,7 @@ def getWidgetFromParameter(self, param):
202202
items.append((self.getExtendedLayerName(layer), layer))
203203
item = InputLayerSelectorPanel(items)
204204
elif isinstance(param, ParameterVector):
205-
if self.somethingDependsOnThisParameter(param):
205+
if self.somethingDependsOnThisParameter(param) or self.alg.allowOnlyOpenedLayers:
206206
item = QtGui.QComboBox()
207207
layers = QGisLayers.getVectorLayers(param.shapetype)
208208
if (param.optional):

0 commit comments

Comments
 (0)