Skip to content

Commit 724506d

Browse files
committed
[sextante] added autofilling on double-click in batch processing dialog
Other minor changes
1 parent e394fc1 commit 724506d

File tree

6 files changed

+55
-7
lines changed

6 files changed

+55
-7
lines changed

python/plugins/sextante/admintools/AdminToolsAlgorithmProvider.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,13 @@ def __init__(self):
4141
AlgorithmProvider.__init__(self)
4242
self.alglist = [ImportVectorIntoGeoServer(), ImportRasterIntoGeoServer(),
4343
CreateWorkspace(), DeleteWorkspace(), DeleteDatastore(),
44-
CreateStyleGeoServer(), ImportIntoPostGIS(), PostGISExecuteSQL()]#, TruncateSeedGWC()]
44+
CreateStyleGeoServer()]
45+
46+
try:
47+
self.alglist.append(ImportIntoPostGIS())
48+
self.alglist.append(PostGISExecuteSQL())
49+
except:
50+
pass
4551

4652
def initializeSettings(self):
4753
AlgorithmProvider.initializeSettings(self)

python/plugins/sextante/algs/PointsLayerFromTable.py

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"""
1919
from sextante.parameters.ParameterTable import ParameterTable
2020
from sextante.parameters.ParameterTableField import ParameterTableField
21-
from sextante.core.SextanteLog import SextanteLog
2221

2322
__author__ = 'Victor Olaya'
2423
__date__ = 'August 2013'

python/plugins/sextante/core/Sextante.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -270,14 +270,14 @@ def runAlgorithm(algOrName, onFinish, *args):
270270
for param in alg.parameters:
271271
if not param.hidden:
272272
if not param.setValue(args[i]):
273-
print ("Error: Wrong parameter value: " + args[i])
273+
print ("Error: Wrong parameter value: " + unicode(args[i]))
274274
return
275275
i = i +1
276276

277277
for output in alg.outputs:
278278
if not output.hidden:
279279
if not output.setValue(args[i]):
280-
print ("Error: Wrong output value: " + args[i])
280+
print ("Error: Wrong output value: " + unicode(args[i]))
281281
return
282282
i = i +1
283283

python/plugins/sextante/gdal/warp.py

+12-2
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,17 @@
2323
# This will get replaced with a git SHA1 when you do a git archive
2424
__revision__ = '$Format:%H$'
2525

26+
import os
27+
from qgis.core import *
2628
from PyQt4 import QtGui
2729
from sextante.core.GeoAlgorithm import GeoAlgorithm
2830
from sextante.parameters.ParameterRaster import ParameterRaster
2931
from sextante.outputs.OutputRaster import OutputRaster
30-
import os
31-
from qgis.core import *
3232
from sextante.parameters.ParameterSelection import ParameterSelection
3333
from sextante.parameters.ParameterCrs import ParameterCrs
3434
from sextante.gdal.GdalUtils import GdalUtils
35+
from sextante.parameters.ParameterNumber import ParameterNumber
36+
from sextante.parameters.ParameterString import ParameterString
3537

3638
class warp(GeoAlgorithm):
3739

@@ -41,6 +43,8 @@ class warp(GeoAlgorithm):
4143
DEST_SRS = "DEST_SRS "
4244
METHOD = "METHOD"
4345
METHOD_OPTIONS = ["near", "bilinear", "cubic", "cubicspline", "lanczos"]
46+
TR = "TR"
47+
EXTRA = "EXTRA"
4448

4549
def getIcon(self):
4650
filepath = os.path.dirname(__file__) + "/icons/warp.png"
@@ -52,7 +56,9 @@ def defineCharacteristics(self):
5256
self.addParameter(ParameterRaster(warp.INPUT, "Input layer", False))
5357
self.addParameter(ParameterCrs(warp.SOURCE_SRS, "Source SRS (EPSG Code)", "EPSG:4326"))
5458
self.addParameter(ParameterCrs(warp.DEST_SRS, "Destination SRS (EPSG Code)", "EPSG:4326"))
59+
self.addParameter(ParameterNumber(warp.TR, "Output file resolution in target georeferenced units (leave 0 for no change)", 0.0, None, 0.0))
5560
self.addParameter(ParameterSelection(warp.METHOD, "Resampling method", warp.METHOD_OPTIONS))
61+
self.addParameter(ParameterString(warp.EXTRA, "Additional creation parameters", " "))
5662
self.addOutput(OutputRaster(warp.OUTPUT, "Output layer"))
5763

5864
def processAlgorithm(self, progress):
@@ -68,6 +74,10 @@ def processAlgorithm(self, progress):
6874
commands.append("-of")
6975
out = self.getOutputValue(warp.OUTPUT)
7076
commands.append(GdalUtils.getFormatShortNameFromFilename(out))
77+
if self.getParameterValue(warp.TR) != 0:
78+
trStr = "-tr "+str(self.getParameterValue(warp.TR))+" "+str(self.getParameterValue(warp.TR))
79+
commands.append(trStr)
80+
commands.append(str(self.getParameterValue(warp.EXTRA)))
7181
commands.append(self.getParameterValue(warp.INPUT))
7282
commands.append(out)
7383

python/plugins/sextante/gui/BatchProcessingDialog.py

+31
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,37 @@ def __init__(self, alg):
8686
self.table.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
8787
self.addRowButton.clicked.connect(self.addRow)
8888
self.deleteRowButton.clicked.connect(self.deleteRow)
89+
self.table.horizontalHeader().sectionDoubleClicked.connect(self.headerDoubleClicked)
90+
91+
92+
def headerDoubleClicked(self, col):
93+
widget = self.table.cellWidget(0, col)
94+
if isinstance(widget, QtGui.QComboBox):
95+
widgetValue = widget.currentIndex()
96+
for row in range(1, self.table.rowCount()):
97+
self.table.cellWidget(row, col).setCurrentIndex(widgetValue)
98+
99+
elif isinstance(widget, ExtentSelectionPanel):
100+
widgetValue = widget.getValue()
101+
for row in range(1, self.table.rowCount()):
102+
if widgetValue != None:
103+
self.table.cellWidget(row, col).text.setText(widgetValue)
104+
else:
105+
self.table.cellWidget(row, col).text.setText("")
106+
107+
elif isinstance(widget, CrsSelectionPanel):
108+
widgetValue = widget.getValue()
109+
for row in range(1, self.table.rowCount()):
110+
self.table.cellWidget(row, col).epsg = widgetValue
111+
self.table.cellWidget(row, col).setText()
112+
113+
elif isinstance(widget, QtGui.QLineEdit):
114+
widgetValue = widget.text()
115+
for row in range(1, self.table.rowCount()):
116+
self.table.cellWidget(row, col).setText(widgetValue)
117+
else:
118+
pass
119+
89120

90121
def setTableContent(self):
91122
i = 0

python/plugins/sextante/r/RAlgorithm.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,9 @@ def getImportCommands(self):
267267
# just use US mirror
268268
commands.append('options("repos"="http://cran.us.r-project.org")')
269269
rLibDir = "%s/rlibs" % SextanteUtils.userFolder().replace("\\","/")
270-
if not os.path.isdir(rLibDir): os.mkdir(rLibDir)
270+
if not os.path.isdir(rLibDir):
271+
os.mkdir(rLibDir)
272+
commands.append('.libPaths("%s")' % rLibDir )
271273
commands.append(
272274
'tryCatch(find.package("rgdal"), error=function(e) install.packages("rgdal", lib="%s"))' % rLibDir)
273275
commands.append("library(\"rgdal\")");

0 commit comments

Comments
 (0)