Skip to content

Commit 93aacbc

Browse files
author
volayaf@gmail.com
committed
fixed bug in deepcopy of ModelAlgorithm
other small bugs Added number checking for numerical settings git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@32 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d
1 parent 7e93081 commit 93aacbc

File tree

6 files changed

+29
-9
lines changed

6 files changed

+29
-9
lines changed

src/sextante/gui/ConfigDialog.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def __init__(self, toolbox):
1212

1313
def setupUi(self):
1414
self.setObjectName("ConfigDialog")
15-
self.resize(400, 500)
15+
self.resize(700, 500)
1616
self.setWindowTitle("SEXTANTE options")
1717
self.verticalLayout = QtGui.QVBoxLayout()
1818
self.verticalLayout.setSpacing(2)
@@ -63,12 +63,20 @@ def fillTree(self):
6363
self.tree.addTopLevelItem(groupItem)
6464
if text != "":
6565
groupItem.setExpanded(True)
66-
66+
self.tree.sortItems(0, Qt.AscendingOrder)
6767

6868
def okPressed(self):
6969
for setting in self.items.keys():
7070
if isinstance(setting.value,bool):
7171
setting.value = (self.items[setting].checkState(1) == QtCore.Qt.Checked)
72+
elif isinstance(setting.value, (float,int, long)):
73+
value = str(self.items[setting].text(1))
74+
try:
75+
value = float(value)
76+
setting.value = value
77+
except ValueError:
78+
QtGui.QMessageBox.critical(self, "Wrong value","Wrong parameter value:\n" + value)
79+
return
7280
else:
7381
setting.value = str(self.items[setting].text(1))
7482
SextanteConfig.addSetting(setting)

src/sextante/gui/OutputSelectionPanel.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def __init__(self, output, alg):
1818
self.horizontalLayout.setObjectName("hLayout")
1919
self.text = QtGui.QLineEdit()
2020
self.text.setObjectName("label")
21-
self.text.setText(OutputSelectionPanel.SAVE_TO_TEMP_FILE)
21+
self.text.setPlaceholderText(OutputSelectionPanel.SAVE_TO_TEMP_FILE)
2222
self.text.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
2323
self.horizontalLayout.addWidget(self.text)
2424
self.pushButton = QtGui.QPushButton()

src/sextante/modeler/ModelerAlgorithm.py

+11
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,17 @@
1010

1111
class ModelerAlgorithm(GeoAlgorithm):
1212

13+
def __deepcopy__(self,memo):
14+
newone = ModelerAlgorithm()
15+
#newone.__dict__.update(self.__dict__)
16+
newone.algs = copy.deepcopy(self.algs, memo)
17+
newone.algParameters = copy.deepcopy(self.algParameters,memo)
18+
newone.algOutputs = copy.deepcopy(self.algOutputs,memo)
19+
newone.paramValues = copy.deepcopy(self.paramValues,memo)
20+
newone.parameters = copy.deepcopy(self.parameters, memo)
21+
newone.outputs = copy.deepcopy(self.outputs, memo)
22+
return newone
23+
1324
def __init__(self):
1425
GeoAlgorithm.__init__(self)
1526
self.descriptionFile = None

src/sextante/modeler/ModelerDialog.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ def setupUi(self):
6767
#right hand side part
6868
#==================================
6969
self.textName = QtGui.QLineEdit()
70-
self.textName.setText("[Enter model name here]")
70+
self.textName.setPlaceholderText("[Enter model name here]")
7171
self.textGroup = QtGui.QLineEdit()
72-
self.textGroup.setText("[Enter group name here]")
72+
self.textGroup.setPlaceholderText("[Enter group name here]")
7373
self.horizontalLayoutNames = QtGui.QHBoxLayout()
7474
self.horizontalLayoutNames.setSpacing(2)
7575
self.horizontalLayoutNames.setMargin(0)
@@ -134,7 +134,7 @@ def setupUi(self):
134134

135135

136136
def saveModel(self):
137-
if str(self.textGroup.text()) == "[Enter group name here]" or str(self.textName.text()) == "[Enter model name here]":
137+
if str(self.textGroup.text()).strip() == "" or str(self.textName.text()).strip() == "":
138138
QMessageBox.warning(self, "Warning", "Please enter group and model names before saving")
139139
return
140140
self.alg.setPositions(self.scene.getParameterPositions(), self.scene.getAlgorithmPositions())
@@ -174,7 +174,7 @@ def repaintModel(self):
174174
self.scene.setSceneRect(QtCore.QRectF(0, 0, 1000, 1000))
175175
self.scene.paintModel(self.alg)
176176
self.view.setScene(self.scene)
177-
self.pythonText.setText(self.alg.getAsPythonCode())
177+
self.pythonText.setText("This feature is not yet available... we are still working on it ;-)")#self.alg.getAsPythonCode())
178178

179179

180180
def addInput(self):

src/sextante/modeler/ModelerParametersDialog.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from sextante.outputs.OutputTable import OutputTable
1919
from sextante.modeler.ModelerAlgorithm import AlgorithmAndParameter
2020
from sextante.parameters.ParameterRange import ParameterRange
21+
from sextante.gui.RangePanel import RangePanel
2122

2223
class ModelerParametersDialog(QtGui.QDialog):
2324

@@ -251,7 +252,7 @@ def setTableContent(self):
251252
item.setFlags(QtCore.Qt.ItemIsEnabled)
252253
self.tableWidget.setItem(i,0, item)
253254
item = QLineEdit()
254-
item.setText(ModelerParametersDialog.ENTER_NAME)
255+
item.setPlaceholderText(ModelerParametersDialog.ENTER_NAME)
255256
self.valueItems[output.name] = item
256257
self.tableWidget.setCellWidget(i,1, item)
257258
self.tableWidget.setRowHeight(i,22)

src/sextante/saga/SagaAlgorithmProvider.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def __init__(self):
1616
SextanteConfig.addSetting(Setting("SAGA", SagaUtils.SAGA_RESAMPLING_REGION_XMIN, "Resampling region min x", 0))
1717
SextanteConfig.addSetting(Setting("SAGA", SagaUtils.SAGA_RESAMPLING_REGION_YMIN, "Resampling region min y", 0))
1818
SextanteConfig.addSetting(Setting("SAGA", SagaUtils.SAGA_RESAMPLING_REGION_XMAX, "Resampling region max x", 1000))
19-
SextanteConfig.addSetting(Setting("SAGA", SagaUtils.SAGA_RESAMPLING_REGION_XMAX, "Resampling region max y", 1000))
19+
SextanteConfig.addSetting(Setting("SAGA", SagaUtils.SAGA_RESAMPLING_REGION_YMAX, "Resampling region max y", 1000))
2020
SextanteConfig.addSetting(Setting("SAGA", SagaUtils.SAGA_RESAMPLING_REGION_CELLSIZE, "Resampling region cellsize", 1))
2121

2222
def _loadAlgorithms(self):

0 commit comments

Comments
 (0)