示例#1
0
 def __init__(self, alg, paramType=None, param=None):
     self.alg = alg
     self.paramType = paramType
     self.param = param
     QDialog.__init__(self)
     self.setModal(True)
     self.setupUi()
示例#2
0
    def __init__(self, table, parent=None):
        QDialog.__init__(self, parent)
        self.table = table
        self.setupUi(self)

        self.db = self.table.database()

        m = TableFieldsModel(self)
        self.viewFields.setModel(m)

        m = TableConstraintsModel(self)
        self.viewConstraints.setModel(m)

        m = TableIndexesModel(self)
        self.viewIndexes.setModel(m)

        self.btnAddColumn.clicked.connect(self.addColumn)
        self.btnAddGeometryColumn.clicked.connect(self.addGeometryColumn)
        self.btnEditColumn.clicked.connect(self.editColumn)
        self.btnDeleteColumn.clicked.connect(self.deleteColumn)

        self.btnAddConstraint.clicked.connect(self.addConstraint)
        self.btnDeleteConstraint.clicked.connect(self.deleteConstraint)

        self.btnAddIndex.clicked.connect(self.createIndex)
        self.btnAddSpatialIndex.clicked.connect(self.createSpatialIndex)
        self.btnDeleteIndex.clicked.connect(self.deleteIndex)

        self.populateViews()
        self.checkSupports()
示例#3
0
    def __init__(self, table, parent=None):
        QDialog.__init__(self, parent)
        self.table = table
        self.setupUi(self)

        self.db = self.table.database()

        m = TableFieldsModel(self)
        self.viewFields.setModel(m)

        m = TableConstraintsModel(self)
        self.viewConstraints.setModel(m)

        m = TableIndexesModel(self)
        self.viewIndexes.setModel(m)

        self.btnAddColumn.clicked.connect(self.addColumn)
        self.btnAddGeometryColumn.clicked.connect(self.addGeometryColumn)
        self.btnEditColumn.clicked.connect(self.editColumn)
        self.btnDeleteColumn.clicked.connect(self.deleteColumn)

        self.btnAddConstraint.clicked.connect(self.addConstraint)
        self.btnDeleteConstraint.clicked.connect(self.deleteConstraint)

        self.btnAddIndex.clicked.connect(self.createIndex)
        self.btnAddSpatialIndex.clicked.connect(self.createSpatialIndex)
        self.btnDeleteIndex.clicked.connect(self.deleteIndex)

        self.populateViews()
        self.checkSupports()
    def __init__(self, parent, plugin):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.plugin = plugin
        self.mResult = ""
        self.progressBar.setRange(0, 0)
        self.progressBar.setFormat("%p%")
        self.labelName.setText(plugin["name"])
        self.buttonBox.clicked.connect(self.abort)

        url = QUrl(plugin["download_url"])

        fileName = plugin["filename"]
        tmpDir = QDir.tempPath()
        tmpPath = QDir.cleanPath(tmpDir + "/" + fileName)
        self.file = QFile(tmpPath)

        self.request = QNetworkRequest(url)
        authcfg = repositories.all()[plugin["zip_repository"]]["authcfg"]
        if authcfg and isinstance(authcfg, basestring):
            if not QgsAuthManager.instance().updateNetworkRequest(
                    self.request, authcfg.strip()):
                self.mResult = self.tr(
                    "Update of network request with authentication "
                    "credentials FAILED for configuration '{0}'").format(
                        authcfg)
                self.request = None

        if self.request is not None:
            self.reply = QgsNetworkAccessManager.instance().get(self.request)
            self.reply.downloadProgress.connect(self.readProgress)
            self.reply.finished.connect(self.requestFinished)

            self.stateChanged(4)
示例#5
0
    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.setWindowTitle(QCoreApplication.translate("SettingsDialogPythonConsole", "Settings Python Console"))
        self.parent = parent
        self.setupUi(self)

        self.listPath = []
        self.lineEdit.setReadOnly(True)

        self.restoreSettings()
        self.initialCheck()

        self.addAPIpath.setIcon(QIcon(":/images/themes/default/symbologyAdd.svg"))
        self.addAPIpath.setToolTip(QCoreApplication.translate("PythonConsole", "Add API path"))
        self.removeAPIpath.setIcon(QIcon(":/images/themes/default/symbologyRemove.svg"))
        self.removeAPIpath.setToolTip(QCoreApplication.translate("PythonConsole", "Remove API path"))

        self.preloadAPI.stateChanged.connect(self.initialCheck)
        self.addAPIpath.clicked.connect(self.loadAPIFile)
        self.removeAPIpath.clicked.connect(self.removeAPI)
        self.compileAPIs.clicked.connect(self._prepareAPI)

        self.resetFontColor.setIcon(QIcon(":/images/themes/default/console/iconResetColorConsole.png"))
        self.resetFontColor.setIconSize(QSize(18, 18))
        self.resetFontColorEditor.setIcon(QIcon(":/images/themes/default/console/iconResetColorConsole.png"))
        self.resetFontColorEditor.setIconSize(QSize(18, 18))
        self.resetFontColor.clicked.connect(self._resetFontColor)
        self.resetFontColorEditor.clicked.connect(self._resetFontColorEditor)
    def __init__(self, parent=None, table=None, db=None):
        QDialog.__init__(self, parent)
        self.table = table
        self.db = self.table.database() if self.table and self.table.database() else db
        self.setupUi(self)

        self.buttonBox.accepted.connect(self.createGeomColumn)
示例#7
0
    def __init__(self, iface):
        QDialog.__init__(self, iface.mainWindow())
        self.setAttribute(Qt.WA_DeleteOnClose)
        self.iface = iface
        self.setupUi(self)

        # binaries
        self.leGdalBinPath.setText(Utils.getGdalBinPath())
        self.btnSetBinPath.clicked.connect(self.setBinPath)
        self.bin_tooltip_label.setPixmap(QPixmap(':/icons/tooltip.png'))
        self.bin_tooltip_label.setToolTip(self.tr(u"""\
A list of colon-separated (Linux and MacOS) or
semicolon-separated (Windows) paths to both binaries
and python executables.

MacOS users usually need to set it to something like
/Library/Frameworks/GDAL.framework/Versions/1.8/Programs"""))

        # python modules
        self.leGdalPymodPath.setText(Utils.getGdalPymodPath())
        self.btnSetPymodPath.clicked.connect(self.setPymodPath)
        self.pymod_tooltip_label.setPixmap(QPixmap(':/icons/tooltip.png'))
        self.pymod_tooltip_label.setToolTip(self.tr(u"""\
A list of colon-separated (Linux and MacOS) or
semicolon-separated (Windows) paths to python modules."""))

        # help
        self.leGdalHelpPath.setText(Utils.getHelpPath())
        self.btnSetHelpPath.clicked.connect(self.setHelpPath)
        self.help_tooltip_label.setPixmap(QPixmap(':/icons/tooltip.png'))
        self.help_tooltip_label.setToolTip(self.tr(u"""\
Useful to open local GDAL documentation instead of online help
when pressing on the tool dialog's Help button."""))
示例#8
0
    def __init__(self, parent, iface, pluginBase, pluginName, pluginCommand):
        QDialog.__init__(self, parent)
        self.setAttribute(Qt.WA_DeleteOnClose)
        self.iface = iface

        self.process = QProcess(self)
        Utils.setProcessEnvironment(self.process)
        self.process.error.connect(self.processError)
        self.process.finished.connect(self.processFinished)

        self.setupUi(self)
        self.arguments = []

        self.editCmdBtn.setIcon(QIcon(":/icons/edit.png"))
        self.editCmdBtn.toggled.connect(self.editCommand)
        self.resetCmdBtn.setIcon(QIcon(":/icons/reset.png"))
        self.resetCmdBtn.clicked.connect(self.resetCommand)
        self.editCommand(False)

        self.buttonBox.rejected.connect(self.reject)
        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.helpRequested.connect(self.help)

        self.buttonBox.button(QDialogButtonBox.Ok).setDefault(True)

        self.plugin = pluginBase
        self.valuesChanged.connect(self.handleRefreshArgs)

        self.pluginLayout.addWidget(self.plugin)
        self.plugin.setFocus()

        self.setWindowTitle(pluginName)
        self.setPluginCommand(pluginCommand)
    def __init__(self, parent, plugin):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.plugin = plugin
        self.mResult = ""
        self.progressBar.setRange(0, 0)
        self.progressBar.setFormat("%p%")
        self.labelName.setText(plugin["name"])
        self.buttonBox.clicked.connect(self.abort)

        url = QUrl(plugin["download_url"])

        fileName = plugin["filename"]
        tmpDir = QDir.tempPath()
        tmpPath = QDir.cleanPath(tmpDir + "/" + fileName)
        self.file = QFile(tmpPath)

        self.request = QNetworkRequest(url)
        authcfg = repositories.all()[plugin["zip_repository"]]["authcfg"]
        if authcfg and isinstance(authcfg, basestring):
            if not QgsAuthManager.instance().updateNetworkRequest(
                    self.request, authcfg.strip()):
                self.mResult = self.tr(
                    "Update of network request with authentication "
                    "credentials FAILED for configuration '{0}'").format(authcfg)
                self.request = None

        if self.request is not None:
            self.reply = QgsNetworkAccessManager.instance().get(self.request)
            self.reply.downloadProgress.connect(self.readProgress)
            self.reply.finished.connect(self.requestFinished)

            self.stateChanged(4)
示例#10
0
    def __init__(self, item, parent=None):
        QDialog.__init__(self, parent)
        self.item = item
        self.setupUi(self)

        self.db = self.item.database()
        self.schemas = self.db.schemas()
        self.hasSchemas = self.schemas is not None

        self.buttonBox.accepted.connect(self.onOK)
        self.buttonBox.helpRequested.connect(self.showHelp)

        self.populateSchemas()
        self.populateTables()

        if isinstance(item, Table):
            index = self.cboTable.findText(self.item.name)
            if index >= 0:
                self.cboTable.setCurrentIndex(index)

        self.cboSchema.currentIndexChanged.connect(self.populateTables)

        # updates of SQL window
        self.cboSchema.currentIndexChanged.connect(self.updateSql)
        self.cboTable.currentIndexChanged.connect(self.updateSql)
        self.chkCreateCurrent.stateChanged.connect(self.updateSql)
        self.editPkey.textChanged.connect(self.updateSql)
        self.editStart.textChanged.connect(self.updateSql)
        self.editEnd.textChanged.connect(self.updateSql)

        self.updateSql()
 def __init__(self, alg, paramType=None, param=None):
     self.alg = alg
     self.paramType = paramType
     self.param = param
     QDialog.__init__(self)
     self.setModal(True)
     self.setupUi()
示例#12
0
    def __init__(self, parent, iface, pluginBase, pluginName, pluginCommand):
        QDialog.__init__(self, parent)
        self.setAttribute(Qt.WA_DeleteOnClose)
        self.iface = iface

        self.process = QProcess(self)
        Utils.setProcessEnvironment(self.process)
        self.process.error.connect(self.processError)
        self.process.finished.connect(self.processFinished)

        self.setupUi(self)
        self.arguments = []

        self.editCmdBtn.setIcon(QIcon(":/icons/edit.png"))
        self.editCmdBtn.toggled.connect(self.editCommand)
        self.resetCmdBtn.setIcon(QIcon(":/icons/reset.png"))
        self.resetCmdBtn.clicked.connect(self.resetCommand)
        self.editCommand(False)

        self.buttonBox.rejected.connect(self.reject)
        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.helpRequested.connect(self.help)

        self.buttonBox.button(QDialogButtonBox.Ok).setDefault(True)

        self.plugin = pluginBase
        self.valuesChanged.connect(self.handleRefreshArgs)

        self.pluginLayout.addWidget(self.plugin)
        self.plugin.setFocus()

        self.setWindowTitle(pluginName)
        self.setPluginCommand(pluginCommand)
示例#13
0
    def __init__(self, item, parent=None):
        QDialog.__init__(self, parent)
        self.item = item
        self.setupUi(self)

        self.db = self.item.database()
        self.schemas = self.db.schemas()
        self.hasSchemas = self.schemas is not None

        self.buttonBox.accepted.connect(self.onOK)
        self.buttonBox.helpRequested.connect(self.showHelp)

        self.populateSchemas()
        self.populateTables()

        if isinstance(item, Table):
            index = self.cboTable.findText(self.item.name)
            if index >= 0:
                self.cboTable.setCurrentIndex(index)

        self.cboSchema.currentIndexChanged.connect(self.populateTables)

        # updates of SQL window
        self.cboSchema.currentIndexChanged.connect(self.updateSql)
        self.cboTable.currentIndexChanged.connect(self.updateSql)
        self.chkCreateCurrent.stateChanged.connect(self.updateSql)
        self.editPkey.textChanged.connect(self.updateSql)
        self.editStart.textChanged.connect(self.updateSql)
        self.editEnd.textChanged.connect(self.updateSql)

        self.updateSql()
示例#14
0
    def __init__(self, conn_name=None):
        """init"""

        QDialog.__init__(self)
        self.setupUi(self)
        self.settings = QSettings()
        self.conn_name = None
        self.conn_name_orig = conn_name
示例#15
0
    def __init__(self, parent=None, table=None, db=None):
        QDialog.__init__(self, parent)
        self.table = table
        self.db = self.table.database() if self.table and self.table.database() else db
        self.setupUi(self)

        self.buttonBox.accepted.connect(self.createConstraint)
        self.populateColumns()
示例#16
0
    def __init__(self, conn_name=None):
        """init"""

        QDialog.__init__(self)
        self.setupUi(self)
        self.settings = QSettings()
        self.conn_name = None
        self.conn_name_orig = conn_name
 def __init__(self, parent=None):
     QDialog.__init__(self, parent)
     self.setupUi(self)
     self.editURL.setText("http://")
     self.editName.textChanged.connect(self.textChanged)
     self.editURL.textChanged.connect(self.textChanged)
     self.btnClearAuthCfg.clicked.connect(self.editAuthCfg.clear)
     self.btnEditAuthCfg.clicked.connect(self.editAuthCfgId)
     self.textChanged(None)
 def __init__(self, parent=None):
     QDialog.__init__(self, parent)
     self.setupUi(self)
     self.editURL.setText("http://")
     self.editName.textChanged.connect(self.textChanged)
     self.editURL.textChanged.connect(self.textChanged)
     self.btnClearAuthCfg.clicked.connect(self.editAuthCfg.clear)
     self.btnEditAuthCfg.clicked.connect(self.editAuthCfgId)
     self.textChanged(None)
示例#19
0
    def __init__(self, parent=None, table=None, db=None):
        QDialog.__init__(self, parent)
        self.table = table
        self.db = self.table.database() if self.table and self.table.database() else db
        self.setupUi(self)

        self.buttonBox.accepted.connect(self.createIndex)

        self.cboColumn.currentIndexChanged.connect(self.columnChanged)
        self.populateColumns()
示例#20
0
    def __init__(self, mode):
        """init dialog"""

        QDialog.__init__(self)
        self.setupUi(self)
        self.settings = QSettings()
        self.filename = None
        self.mode = mode  # 0 - save, 1 - load
        self.btnBrowse.clicked.connect(self.select_file)
        self.manage_gui()
示例#21
0
    def __init__(self, parent=None, table=None, db=None):
        QDialog.__init__(self, parent)
        self.table = table
        self.db = self.table.database(
        ) if self.table and self.table.database() else db
        self.setupUi(self)

        self.buttonBox.accepted.connect(self.createIndex)

        self.cboColumn.currentIndexChanged.connect(self.columnChanged)
        self.populateColumns()
示例#22
0
    def __init__(self, e, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)

        def sanitize(txt):
            return "" if txt is None else "<pre>" + txt.replace("<", "&lt;") + "</pre>"

        if isinstance(e, DbError):
            self.setQueryMessage(sanitize(e.msg), sanitize(e.query))
        else:
            self.setMessage(sanitize(e.msg))
示例#23
0
    def __init__(self, parent=None, fld=None, table=None, db=None):
        QDialog.__init__(self, parent)
        self.fld = fld
        self.table = self.fld.table() if self.fld and self.fld.table() else table
        self.db = self.table.database() if self.table and self.table.database() else db
        self.setupUi(self)

        for item in self.db.connector.fieldTypes():
            self.cboType.addItem(item)
        self.setField(self.fld)

        self.buttonBox.accepted.connect(self.onOK)
示例#24
0
    def __init__(self, e, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)

        def sanitize(txt):
            return "" if txt is None else "<pre>" + txt.replace(
                '<', '&lt;') + "</pre>"

        if isinstance(e, DbError):
            self.setQueryMessage(sanitize(e.msg), sanitize(e.query))
        else:
            self.setMessage(sanitize(e.msg))
示例#25
0
 def __init__(self, alg, model, algName=None):
     QDialog.__init__(self)
     self.setModal(True)
     #The algorithm to define in this dialog. It is an instance of GeoAlgorithm
     self._alg = alg
     #The resulting algorithm after the user clicks on OK. it is an instance of the container Algorithm class
     self.alg = None
     #The model this algorithm is going to be added to
     self.model = model
     #The name of the algorithm in the model, in case we are editing it and not defining it for the first time
     self._algName = algName
     self.setupUi()
     self.params = None
示例#26
0
 def __init__(self, s):
     QDialog.__init__(self)
     self.setModal(True)
     self.resize(600, 400)
     self.setWindowTitle(self.tr('Unit test'))
     layout = QVBoxLayout()
     self.text = QTextEdit()
     self.text.setFontFamily("monospace")
     self.text.setEnabled(True)
     self.text.setText(s)
     layout.addWidget(self.text)
     self.setLayout(layout)
     QMetaObject.connectSlotsByName(self)
示例#27
0
 def __init__(self, api_lexer, api_files, pap_file, parent=None):
     QDialog.__init__(self, parent)
     self.ui = Ui_APIsDialogPythonConsole()
     self.ui.setupUi(self)
     self.setWindowTitle(QCoreApplication.translate("PythonConsole", "Compile APIs"))
     self.ui.plainTextEdit.setVisible(False)
     self.ui.textEdit_Qsci.setVisible(False)
     self.adjustSize()
     self._api = None
     self.ui.buttonBox.rejected.connect(self._stopPreparation)
     self._api_files = api_files
     self._api_lexer = api_lexer
     self._pap_file = pap_file
示例#28
0
 def __init__(self, alg, model, algName=None):
     QDialog.__init__(self)
     self.setModal(True)
     #The algorithm to define in this dialog. It is an instance of GeoAlgorithm
     self._alg = alg
     #The resulting algorithm after the user clicks on OK. it is an instance of the container Algorithm class
     self.alg = None
     #The model this algorithm is going to be added to
     self.model = model
     #The name of the algorithm in the model, in case we are editing it and not defining it for the first time
     self._algName = algName
     self.setupUi()
     self.params = None
示例#29
0
 def __init__(self, s):
     QDialog.__init__(self)
     self.setModal(True)
     self.resize(600, 400)
     self.setWindowTitle(self.tr('Unit test'))
     layout = QVBoxLayout()
     self.text = QTextEdit()
     self.text.setFontFamily("monospace")
     self.text.setEnabled(True)
     self.text.setText(s)
     layout.addWidget(self.text)
     self.setLayout(layout)
     QMetaObject.connectSlotsByName(self)
示例#30
0
    def __init__(self, parent=None, fld=None, table=None, db=None):
        QDialog.__init__(self, parent)
        self.fld = fld
        self.table = self.fld.table(
        ) if self.fld and self.fld.table() else table
        self.db = self.table.database(
        ) if self.table and self.table.database() else db
        self.setupUi(self)

        for item in self.db.connector.fieldTypes():
            self.cboType.addItem(item)
        self.setField(self.fld)

        self.buttonBox.accepted.connect(self.onOK)
示例#31
0
    def __init__(self, iface):
        QDialog.__init__(self, iface.mainWindow())
        self.setupUi(self)
        self.iface = iface

        self.inSelector.setType(self.inSelector.FILE)

        self.recurseCheck.hide()

        self.okButton = self.buttonBox.button(QDialogButtonBox.Ok)
        self.cancelButton = self.buttonBox.button(QDialogButtonBox.Cancel)

        self.inSelector.selectClicked.connect(self.fillInputFileEdit)
        self.batchCheck.stateChanged.connect(self.switchToolMode)
示例#32
0
    def __init__(self, title, parent=None):
        QDialog.__init__(self, parent)
        self.setWindowTitle(title)

        layout = QVBoxLayout()
        self.selector = QgsProjectionSelector(self)
        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Close)

        layout.addWidget(self.selector)
        layout.addWidget(buttonBox)
        self.setLayout(layout)

        buttonBox.accepted.connect(self.accept)
        buttonBox.rejected.connect(self.reject)
示例#33
0
    def __init__(self, inLayer, inDb, parent=None):
        QDialog.__init__(self, parent)
        self.inLayer = inLayer
        self.db = inDb
        self.setupUi(self)

        vectorFilterName = "lastVectorFileFilter"  # "lastRasterFileFilter"
        self.lastUsedVectorFilterSettingsKey = u"/UI/{0}".format(vectorFilterName)
        self.lastUsedVectorDirSettingsKey = u"/UI/{0}Dir".format(vectorFilterName)

        # update UI
        self.setupWorkingMode()
        self.populateFileFilters()
        self.populateEncodings()
示例#34
0
 def __init__(self, api_lexer, api_files, pap_file, parent=None):
     QDialog.__init__(self, parent)
     self.ui = Ui_APIsDialogPythonConsole()
     self.ui.setupUi(self)
     self.setWindowTitle(
         QCoreApplication.translate("PythonConsole", "Compile APIs"))
     self.ui.plainTextEdit.setVisible(False)
     self.ui.textEdit_Qsci.setVisible(False)
     self.adjustSize()
     self._api = None
     self.ui.buttonBox.rejected.connect(self._stopPreparation)
     self._api_files = api_files
     self._api_lexer = api_lexer
     self._pap_file = pap_file
示例#35
0
    def __init__(self, inLayer, inDb, parent=None):
        QDialog.__init__(self, parent)
        self.inLayer = inLayer
        self.db = inDb
        self.setupUi(self)

        vectorFilterName = "lastVectorFileFilter"  # "lastRasterFileFilter"
        self.lastUsedVectorFilterSettingsKey = u"/UI/{0}".format(
            vectorFilterName)
        self.lastUsedVectorDirSettingsKey = u"/UI/{0}Dir".format(
            vectorFilterName)

        # update UI
        self.setupWorkingMode()
        self.populateFileFilters()
        self.populateEncodings()
示例#36
0
    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent
        self.setWindowTitle(QCoreApplication.translate("PythonConsole",
                                                       "Python Console - Command History"))
        self.listView.setToolTip(QCoreApplication.translate("PythonConsole",
                                                            "Double click on item to execute"))
        self.model = QStandardItemModel(self.listView)

        self._reloadHistory()

        self.deleteScut = QShortcut(QKeySequence(Qt.Key_Delete), self)
        self.deleteScut.activated.connect(self._deleteItem)
        self.listView.doubleClicked.connect(self._runHistory)
        self.reloadHistory.clicked.connect(self._reloadHistory)
        self.saveHistory.clicked.connect(self._saveHistory)
 def __init__(self, parent):
     QDialog.__init__(self, parent)
     self.setupUi(self)
     self.progressBar.setRange(0, len(repositories.allEnabled()) * 100)
     self.itemProgress = {}
     self.item = {}
     for key in repositories.allEnabled():
         self.item[key] = QTreeWidgetItem(self.treeWidget)
         self.item[key].setText(0, key)
         if repositories.all()[key]["state"] > 1:
             self.itemProgress[key] = 100
             self.displayState(key, 0)
         else:
             self.itemProgress[key] = 0
             self.displayState(key, 2)
     self.treeWidget.resizeColumnToContents(0)
     repositories.repositoryFetched.connect(self.repositoryFetched)
     repositories.anythingChanged.connect(self.displayState)
 def __init__(self, parent):
     QDialog.__init__(self, parent)
     self.setupUi(self)
     self.progressBar.setRange(0, len(repositories.allEnabled()) * 100)
     self.itemProgress = {}
     self.item = {}
     for key in repositories.allEnabled():
         self.item[key] = QTreeWidgetItem(self.treeWidget)
         self.item[key].setText(0, key)
         if repositories.all()[key]["state"] > 1:
             self.itemProgress[key] = 100
             self.displayState(key, 0)
         else:
             self.itemProgress[key] = 0
             self.displayState(key, 2)
     self.treeWidget.resizeColumnToContents(0)
     repositories.repositoryFetched.connect(self.repositoryFetched)
     repositories.anythingChanged.connect(self.displayState)
示例#39
0
    def __init__(self, item, parent=None):
        QDialog.__init__(self, parent)
        self.item = item
        self.setupUi(self)

        self.db = self.item.database()
        self.schemas = self.db.schemas()
        self.hasSchemas = self.schemas is not None
        self.fieldTypes = self.db.connector.fieldTypes()

        m = TableFieldsModel(self, True)  # it's editable
        self.fields.setModel(m)
        self.fields.setColumnHidden(3, True)  # hide Default column

        d = TableFieldsDelegate(self.fieldTypes, self)
        self.fields.setItemDelegate(d)

        self.fields.setColumnWidth(0, 140)
        self.fields.setColumnWidth(1, 140)
        self.fields.setColumnWidth(2, 50)

        b = QPushButton(self.tr("&Create"))
        self.buttonBox.addButton(b, QDialogButtonBox.ActionRole)

        self.btnAddField.clicked.connect(self.addField)
        self.btnDeleteField.clicked.connect(self.deleteField)
        self.btnFieldUp.clicked.connect(self.fieldUp)
        self.btnFieldDown.clicked.connect(self.fieldDown)
        b.clicked.connect(self.createTable)

        self.chkGeomColumn.clicked.connect(self.updateUi)

        self.fields.selectionModel().selectionChanged.connect(
            self.updateUiFields)
        d.columnNameChanged.connect(self.updatePkeyCombo)

        self.populateSchemas()
        self.updateUi()
        self.updateUiFields()
示例#40
0
    def __init__(self, item, parent=None):
        QDialog.__init__(self, parent)
        self.item = item
        self.setupUi(self)

        self.db = self.item.database()
        self.schemas = self.db.schemas()
        self.hasSchemas = self.schemas is not None
        self.fieldTypes = self.db.connector.fieldTypes()

        m = TableFieldsModel(self, True)  # it's editable
        self.fields.setModel(m)
        self.fields.setColumnHidden(3, True)  # hide Default column

        d = TableFieldsDelegate(self.fieldTypes, self)
        self.fields.setItemDelegate(d)

        self.fields.setColumnWidth(0, 140)
        self.fields.setColumnWidth(1, 140)
        self.fields.setColumnWidth(2, 50)

        b = QPushButton(self.tr("&Create"))
        self.buttonBox.addButton(b, QDialogButtonBox.ActionRole)

        self.btnAddField.clicked.connect(self.addField)
        self.btnDeleteField.clicked.connect(self.deleteField)
        self.btnFieldUp.clicked.connect(self.fieldUp)
        self.btnFieldDown.clicked.connect(self.fieldDown)
        b.clicked.connect(self.createTable)

        self.chkGeomColumn.clicked.connect(self.updateUi)

        self.fields.selectionModel().selectionChanged.connect(self.updateUiFields)
        d.columnNameChanged.connect(self.updatePkeyCombo)

        self.populateSchemas()
        self.updateUi()
        self.updateUiFields()
示例#41
0
    def __init__(self, inLayer, outDb, outUri, parent=None):
        QDialog.__init__(self, parent)
        self.inLayer = inLayer
        self.db = outDb
        self.outUri = outUri
        self.setupUi(self)

        self.default_pk = "id"
        self.default_geom = "geom"

        self.mode = self.ASK_FOR_INPUT_MODE if self.inLayer is None else self.HAS_INPUT_MODE

        # used to delete the inlayer whether created inside this dialog
        self.inLayerMustBeDestroyed = False

        self.populateSchemas()
        self.populateTables()
        self.populateLayers()
        self.populateEncodings()

        # updates of UI
        self.setupWorkingMode(self.mode)
        self.cboSchema.currentIndexChanged.connect(self.populateTables)
示例#42
0
    def __init__(self, inLayer, outDb, outUri, parent=None):
        QDialog.__init__(self, parent)
        self.inLayer = inLayer
        self.db = outDb
        self.outUri = outUri
        self.setupUi(self)

        self.default_pk = "id"
        self.default_geom = "geom"

        self.mode = self.ASK_FOR_INPUT_MODE if self.inLayer is None else self.HAS_INPUT_MODE

        # used to delete the inlayer whether created inside this dialog
        self.inLayerMustBeDestroyed = False

        self.populateSchemas()
        self.populateTables()
        self.populateLayers()
        self.populateEncodings()

        # updates of UI
        self.setupWorkingMode(self.mode)
        self.cboSchema.currentIndexChanged.connect(self.populateTables)
示例#43
0
    def __init__(self, iface):
        QDialog.__init__(self, iface.mainWindow())
        self.setAttribute(Qt.WA_DeleteOnClose)
        self.iface = iface
        self.setupUi(self)

        # binaries
        self.leGdalBinPath.setText(Utils.getGdalBinPath())
        self.btnSetBinPath.clicked.connect(self.setBinPath)
        self.bin_tooltip_label.setPixmap(QPixmap(':/icons/tooltip.png'))
        self.bin_tooltip_label.setToolTip(
            self.tr(u"""\
A list of colon-separated (Linux and MacOS) or
semicolon-separated (Windows) paths to both binaries
and python executables.

MacOS users usually need to set it to something like
/Library/Frameworks/GDAL.framework/Versions/1.8/Programs"""))

        # python modules
        self.leGdalPymodPath.setText(Utils.getGdalPymodPath())
        self.btnSetPymodPath.clicked.connect(self.setPymodPath)
        self.pymod_tooltip_label.setPixmap(QPixmap(':/icons/tooltip.png'))
        self.pymod_tooltip_label.setToolTip(
            self.tr(u"""\
A list of colon-separated (Linux and MacOS) or
semicolon-separated (Windows) paths to python modules."""))

        # help
        self.leGdalHelpPath.setText(Utils.getHelpPath())
        self.btnSetHelpPath.clicked.connect(self.setHelpPath)
        self.help_tooltip_label.setPixmap(QPixmap(':/icons/tooltip.png'))
        self.help_tooltip_label.setToolTip(
            self.tr(u"""\
Useful to open local GDAL documentation instead of online help
when pressing on the tool dialog's Help button."""))
示例#44
0
    def __init__(self):
        """init"""

        QDialog.__init__(self)
        self.setupUi(self)
示例#45
0
 def __init__(self, parent, canvas):
     self.canvas = canvas
     QDialog.__init__(self, parent, Qt.FramelessWindowHint)
     self.commands = imp.load_source("commands", self.commandsFile())
     self.initGui()
示例#46
0
 def __init__(self, parent, errorMessage):
     QDialog.__init__(self, parent)
     self.setupUi(self)
     if not errorMessage:
         errorMessage = self.tr("no error message received")
     self.textBrowser.setText(errorMessage)
示例#47
0
    def __init__(self, iface, db, parent=None, reset=False):
        QDialog.__init__(self, parent)
        self.iface = iface
        self.db = db
        self.query = ''
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.group.setMaximumHeight(self.ui.tab.sizeHint().height())
        self.ui.order.setMaximumHeight(self.ui.tab.sizeHint().height())

        self.evt = FocusEventFilter(self)
        self.ui.col.installEventFilter(self.evt)
        self.ui.where.installEventFilter(self.evt)
        self.ui.group.installEventFilter(self.evt)
        self.ui.order.installEventFilter(self.evt)

        d = self.db.connector.getQueryBuilderDictionary()
        #Application default parameters
        self.table = None
        self.col_col = []
        self.col_where = []
        self.coltables = []
        self.ui.extract.setChecked(True)
        #ComboBox default values
        self.ui.functions.insertItems(1, d['function'])
        self.ui.math.insertItems(1, d['math'])
        self.ui.aggregates.insertItems(1, d['aggregate'])
        self.ui.operators.insertItems(1, d['operator'])
        self.ui.stringfct.insertItems(1, d['string'])
        #self.ui.Rtree.insertItems(1,rtreecommand)

        # restore last query if needed
        if reset:
            QueryBuilderDlg.saveParameter = None
        if QueryBuilderDlg.saveParameter is not None:
            self.restoreLastQuery()

        #Show Tables
        self.show_tables()

        #Signal/slot
        self.ui.aggregates.currentIndexChanged.connect(self.add_aggregate)
        self.ui.stringfct.currentIndexChanged.connect(self.add_stringfct)
        self.ui.operators.currentIndexChanged.connect(self.add_operators)
        self.ui.functions.currentIndexChanged.connect(self.add_functions)
        self.ui.math.currentIndexChanged.connect(self.add_math)
        self.ui.tables.currentIndexChanged.connect(self.add_tables)
        self.ui.tables.currentIndexChanged.connect(self.list_cols)
        self.ui.columns.currentIndexChanged.connect(self.add_columns)
        self.ui.columns_2.currentIndexChanged.connect(self.list_values)
        self.ui.reset.clicked.connect(self.reset)
        self.ui.extract.stateChanged.connect(self.list_values)
        self.ui.values.doubleClicked.connect(self.query_item)
        self.ui.buttonBox.accepted.connect(self.validate)
        self.ui.checkBox.stateChanged.connect(self.show_tables)

        if self.db.explicitSpatialIndex():
            self.tablesGeo = [table for table in self.tables if isinstance(table, VectorTable)]
            tablesGeo = ['"%s"."%s"' % (table.name, table.geomColumn) for table in self.tablesGeo]
            self.ui.table_target.insertItems(1, tablesGeo)
            self.idxTables = [table for table in self.tablesGeo if table.hasSpatialIndex()]
            idxTables = ['"%s"."%s"' % (table.name, table.geomColumn) for table in self.idxTables]
            self.ui.table_idx.insertItems(1, idxTables)

            self.ui.usertree.clicked.connect(self.use_rtree)
        else:
            self.ui.toolBox.setItemEnabled(2, False)
示例#48
0
 def __init__(self, parent, canvas):
     self.canvas = canvas
     QDialog.__init__(self, parent, Qt.FramelessWindowHint)
     self.commands = imp.load_source('commands', self.commandsFile())
     self.initGui()
示例#49
0
    def __init__(self, iface):
        """init window"""

        QDialog.__init__(self)
        self.setupUi(self)

        self.iface = iface
        self.map = iface.mapCanvas()
        self.settings = QSettings()
        self.catalog = None
        self.catalog_url = None
        self.context = StaticContext()

        version = self.context.metadata.get('general', 'version')
        self.setWindowTitle('MetaSearch %s' % version)

        self.rubber_band = QgsRubberBand(self.map, True)  # True = a polygon
        self.rubber_band.setColor(QColor(255, 0, 0, 75))
        self.rubber_band.setWidth(5)

        # form inputs
        self.startfrom = 0
        self.maxrecords = 10
        self.timeout = 10
        self.constraints = []

        # Servers tab
        self.cmbConnectionsServices.activated.connect(self.save_connection)
        self.cmbConnectionsSearch.activated.connect(self.save_connection)
        self.btnServerInfo.clicked.connect(self.connection_info)
        self.btnAddDefault.clicked.connect(self.add_default_connections)
        self.btnCapabilities.clicked.connect(self.show_xml)
        self.tabWidget.currentChanged.connect(self.populate_connection_list)

        # server management buttons
        self.btnNew.clicked.connect(self.add_connection)
        self.btnEdit.clicked.connect(self.edit_connection)
        self.btnDelete.clicked.connect(self.delete_connection)
        self.btnLoad.clicked.connect(self.load_connections)
        self.btnSave.clicked.connect(save_connections)

        # Search tab
        self.treeRecords.itemSelectionChanged.connect(self.record_clicked)
        self.treeRecords.itemDoubleClicked.connect(self.show_metadata)
        self.btnSearch.clicked.connect(self.search)
        self.leKeywords.returnPressed.connect(self.search)
        # prevent dialog from closing upon pressing enter
        self.buttonBox.button(QDialogButtonBox.Close).setAutoDefault(False)
        # launch help from button
        self.buttonBox.helpRequested.connect(self.help)
        self.btnCanvasBbox.setAutoDefault(False)
        self.btnCanvasBbox.clicked.connect(self.set_bbox_from_map)
        self.btnGlobalBbox.clicked.connect(self.set_bbox_global)

        # navigation buttons
        self.btnFirst.clicked.connect(self.navigate)
        self.btnPrev.clicked.connect(self.navigate)
        self.btnNext.clicked.connect(self.navigate)
        self.btnLast.clicked.connect(self.navigate)

        self.btnAddToWms.clicked.connect(self.add_to_ows)
        self.btnAddToWfs.clicked.connect(self.add_to_ows)
        self.btnAddToWcs.clicked.connect(self.add_to_ows)
        self.btnShowXml.clicked.connect(self.show_xml)

        # settings
        self.radioTitleAsk.clicked.connect(self.set_ows_save_title_ask)
        self.radioTitleNoAsk.clicked.connect(self.set_ows_save_title_no_ask)
        self.radioTempName.clicked.connect(self.set_ows_save_temp_name)

        self.manageGui()