1
# -*- coding: utf-8 -*-
2
from PyQt4.QtCore import *
3
from PyQt4.QtGui import *
4
from qgis.core import *
8
from ui_widgetNearBlack import Ui_GdalToolsWidget as Ui_Widget
9
from widgetPluginBase import GdalToolsBasePluginWidget as BasePluginWidget
10
import GdalTools_utils as Utils
12
class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget):
14
def __init__(self, iface):
15
QWidget.__init__(self)
19
BasePluginWidget.__init__(self, self.iface, "nearblack")
21
self.outSelector.setType( self.outSelector.FILE )
23
# set the default QSpinBoxes value
24
self.nearSpin.setValue(15)
28
(self.inSelector, SIGNAL("filenameChanged()")),
29
(self.outSelector, SIGNAL("filenameChanged()")),
30
(self.nearSpin, SIGNAL("valueChanged(int)"), self.nearCheck),
31
(self.whiteCheckBox, SIGNAL("stateChanged(int)"))
35
self.connect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputFileEdit)
36
self.connect(self.outSelector, SIGNAL("selectClicked()"), self.fillOutputFileEdit)
38
def onLayersChanged(self):
39
self.inSelector.setLayers( Utils.LayerRegistry.instance().getRasterLayers() )
41
def fillInputFileEdit(self):
42
lastUsedFilter = Utils.FileFilter.lastUsedRasterFilter()
43
inputFile = Utils.FileDialog.getOpenFileName(self, self.tr( "Select the input file for Near Black" ), Utils.FileFilter.allRastersFilter(), lastUsedFilter )
44
if inputFile.isEmpty():
46
Utils.FileFilter.setLastUsedRasterFilter(lastUsedFilter)
48
self.inSelector.setFilename(inputFile)
50
def fillOutputFileEdit(self):
51
lastUsedFilter = Utils.FileFilter.lastUsedRasterFilter()
52
outputFile = Utils.FileDialog.getSaveFileName(self, self.tr( "Select the raster file to save the results to" ), Utils.FileFilter.allRastersFilter(), lastUsedFilter)
53
if outputFile.isEmpty():
55
Utils.FileFilter.setLastUsedRasterFilter(lastUsedFilter)
57
self.outSelector.setFilename(outputFile)
59
def getArguments(self):
60
arguments = QStringList()
61
if self.whiteCheckBox.isChecked():
63
if self.nearCheck.isChecked():
65
arguments << str(self.nearSpin.value())
67
arguments << self.getOutputFileName()
68
arguments << self.getInputFileName()
71
def getOutputFileName(self):
72
return self.outSelector.filename()
74
def getInputFileName(self):
75
return self.inSelector.filename()
77
def addLayerIntoCanvas(self, fileInfo):
78
self.iface.addRasterLayer(fileInfo.filePath())