class Ui_SextanteToolbox(object):
    def setupUi(self, SextanteToolbox):
        SextanteToolbox.setObjectName(_fromUtf8("SextanteToolbox"))
        SextanteToolbox.resize(289, 438)
        self.dockWidgetContents = QtGui.QWidget()
        self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
        self.verticalLayout = QtGui.QVBoxLayout(self.dockWidgetContents)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.externalAppsButton = QtGui.QPushButton(self.dockWidgetContents)
        self.externalAppsButton.setObjectName(_fromUtf8("externalAppsButton"))
        self.verticalLayout.addWidget(self.externalAppsButton)
        self.searchBox = QgsFilterLineEdit(self.dockWidgetContents)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.dockWidgetContents)
        self.algorithmTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.algorithmTree.setHeaderHidden(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.verticalLayout.addWidget(self.algorithmTree)
        self.modeComboBox = QtGui.QComboBox(self.dockWidgetContents)
        self.modeComboBox.setObjectName(_fromUtf8("modeComboBox"))
        self.verticalLayout.addWidget(self.modeComboBox)
        SextanteToolbox.setWidget(self.dockWidgetContents)

        self.retranslateUi(SextanteToolbox)
        QtCore.QMetaObject.connectSlotsByName(SextanteToolbox)

    def retranslateUi(self, SextanteToolbox):
        SextanteToolbox.setWindowTitle(QtGui.QApplication.translate("SextanteToolbox", "SEXTANTE Toolbox", None, QtGui.QApplication.UnicodeUTF8))
        self.externalAppsButton.setText(QtGui.QApplication.translate("SextanteToolbox", "Click here to learn more\n"
"about SEXTANTE", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(QtGui.QApplication.translate("SextanteToolbox", "Enter algorithm name to filter list", None, QtGui.QApplication.UnicodeUTF8))
Esempio n. 2
0
class Ui_DlgConfig(object):
    def setupUi(self, DlgConfig):
        DlgConfig.setObjectName(_fromUtf8("DlgConfig"))
        DlgConfig.resize(640, 450)
        self.verticalLayout = QtGui.QVBoxLayout(DlgConfig)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setMargin(9)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.searchBox = QgsFilterLineEdit(DlgConfig)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.tree = QtGui.QTreeView(DlgConfig)
        self.tree.setAlternatingRowColors(True)
        self.tree.setSelectionBehavior(QtGui.QAbstractItemView.SelectItems)
        self.tree.setObjectName(_fromUtf8("tree"))
        self.verticalLayout.addWidget(self.tree)
        self.buttonBox = QtGui.QDialogButtonBox(DlgConfig)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(DlgConfig)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), DlgConfig.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), DlgConfig.reject)
        QtCore.QMetaObject.connectSlotsByName(DlgConfig)

    def retranslateUi(self, DlgConfig):
        DlgConfig.setWindowTitle(_translate("DlgConfig", "Processing options", None))
        self.searchBox.setToolTip(_translate("DlgConfig", "Enter setting name to filter list", None))
Esempio n. 3
0
class Ui_ProcessingToolbox(object):
    def setupUi(self, ProcessingToolbox):
        ProcessingToolbox.setObjectName(_fromUtf8("ProcessingToolbox"))
        ProcessingToolbox.resize(289, 438)
        self.dockWidgetContents = QtGui.QWidget()
        self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
        self.verticalLayout = QtGui.QVBoxLayout(self.dockWidgetContents)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.searchBox = QgsFilterLineEdit(self.dockWidgetContents)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.dockWidgetContents)
        self.algorithmTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.algorithmTree.setHeaderHidden(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.verticalLayout.addWidget(self.algorithmTree)
        self.modeComboBox = QtGui.QComboBox(self.dockWidgetContents)
        self.modeComboBox.setObjectName(_fromUtf8("modeComboBox"))
        self.verticalLayout.addWidget(self.modeComboBox)
        ProcessingToolbox.setWidget(self.dockWidgetContents)

        self.retranslateUi(ProcessingToolbox)
        QtCore.QMetaObject.connectSlotsByName(ProcessingToolbox)

    def retranslateUi(self, ProcessingToolbox):
        ProcessingToolbox.setWindowTitle(QtGui.QApplication.translate("ProcessingToolbox", "Processing Toolbox", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(QtGui.QApplication.translate("ProcessingToolbox", "Enter algorithm name to filter list", None, QtGui.QApplication.UnicodeUTF8))
class Ui_QuickGeocodingToolbox(object):
    def setupUi(self, QuickGeocodingToolbox):
        QuickGeocodingToolbox.setObjectName(_fromUtf8("QuickGeocodingToolbox"))
        QuickGeocodingToolbox.resize(255, 379)
        self.dockWidgetContents = QtGui.QWidget()
        self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
        self.verticalLayout = QtGui.QVBoxLayout(self.dockWidgetContents)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.cmbGeocoder = QtGui.QComboBox(self.dockWidgetContents)
        self.cmbGeocoder.setObjectName(_fromUtf8("cmbGeocoder"))
        self.verticalLayout.addWidget(self.cmbGeocoder)
        self.txtSearch = QgsFilterLineEdit(self.dockWidgetContents)
        self.txtSearch.setObjectName(_fromUtf8("txtSearch"))
        self.verticalLayout.addWidget(self.txtSearch)
        self.lstSearchResult = QtGui.QListWidget(self.dockWidgetContents)
        self.lstSearchResult.setObjectName(_fromUtf8("lstSearchResult"))
        self.verticalLayout.addWidget(self.lstSearchResult)
        QuickGeocodingToolbox.setWidget(self.dockWidgetContents)

        self.retranslateUi(QuickGeocodingToolbox)
        QtCore.QMetaObject.connectSlotsByName(QuickGeocodingToolbox)

    def retranslateUi(self, QuickGeocodingToolbox):
        QuickGeocodingToolbox.setWindowTitle(_translate("QuickGeocodingToolbox", "Quick geocoding", None))
        self.txtSearch.setToolTip(_translate("QuickGeocodingToolbox", "Enter address for geocoding", None))
class Ui_DlgConfig(object):
    def setupUi(self, DlgConfig):
        DlgConfig.setObjectName(_fromUtf8("DlgConfig"))
        DlgConfig.resize(640, 450)
        self.verticalLayout = QtGui.QVBoxLayout(DlgConfig)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.searchBox = QgsFilterLineEdit(DlgConfig)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.tree = QtGui.QTreeWidget(DlgConfig)
        self.tree.setAlternatingRowColors(True)
        self.tree.setObjectName(_fromUtf8("tree"))
        self.verticalLayout.addWidget(self.tree)
        self.buttonBox = QtGui.QDialogButtonBox(DlgConfig)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(DlgConfig)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), DlgConfig.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), DlgConfig.reject)
        QtCore.QMetaObject.connectSlotsByName(DlgConfig)

    def retranslateUi(self, DlgConfig):
        DlgConfig.setWindowTitle(QtGui.QApplication.translate("DlgConfig", "SEXTANTE options", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(QtGui.QApplication.translate("DlgConfig", "Enter setting name to filter list", None, QtGui.QApplication.UnicodeUTF8))
        self.tree.headerItem().setText(0, QtGui.QApplication.translate("DlgConfig", "Setting", None, QtGui.QApplication.UnicodeUTF8))
        self.tree.headerItem().setText(1, QtGui.QApplication.translate("DlgConfig", "Value", None, QtGui.QApplication.UnicodeUTF8))
Esempio n. 6
0
class Ui_DlgConfig(object):
    def setupUi(self, DlgConfig):
        DlgConfig.setObjectName(_fromUtf8("DlgConfig"))
        DlgConfig.resize(640, 450)
        self.verticalLayout = QtGui.QVBoxLayout(DlgConfig)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.searchBox = QgsFilterLineEdit(DlgConfig)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.tree = QtGui.QTreeWidget(DlgConfig)
        self.tree.setAlternatingRowColors(True)
        self.tree.setObjectName(_fromUtf8("tree"))
        self.verticalLayout.addWidget(self.tree)
        self.buttonBox = QtGui.QDialogButtonBox(DlgConfig)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(DlgConfig)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), DlgConfig.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), DlgConfig.reject)
        QtCore.QMetaObject.connectSlotsByName(DlgConfig)

    def retranslateUi(self, DlgConfig):
        DlgConfig.setWindowTitle(QtGui.QApplication.translate("DlgConfig", "SEXTANTE options", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(QtGui.QApplication.translate("DlgConfig", "Enter setting name to filter list", None, QtGui.QApplication.UnicodeUTF8))
        self.tree.headerItem().setText(0, QtGui.QApplication.translate("DlgConfig", "Setting", None, QtGui.QApplication.UnicodeUTF8))
        self.tree.headerItem().setText(1, QtGui.QApplication.translate("DlgConfig", "Value", None, QtGui.QApplication.UnicodeUTF8))
class Ui_SextanteToolbox(object):
    def setupUi(self, SextanteToolbox):
        SextanteToolbox.setObjectName(_fromUtf8("SextanteToolbox"))
        SextanteToolbox.resize(289, 438)
        self.dockWidgetContents = QtGui.QWidget()
        self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
        self.verticalLayout = QtGui.QVBoxLayout(self.dockWidgetContents)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.externalAppsButton = QtGui.QPushButton(self.dockWidgetContents)
        self.externalAppsButton.setObjectName(_fromUtf8("externalAppsButton"))
        self.verticalLayout.addWidget(self.externalAppsButton)
        self.searchBox = QgsFilterLineEdit(self.dockWidgetContents)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.dockWidgetContents)
        self.algorithmTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.algorithmTree.setHeaderHidden(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.verticalLayout.addWidget(self.algorithmTree)
        self.modeComboBox = QtGui.QComboBox(self.dockWidgetContents)
        self.modeComboBox.setObjectName(_fromUtf8("modeComboBox"))
        self.verticalLayout.addWidget(self.modeComboBox)
        SextanteToolbox.setWidget(self.dockWidgetContents)

        self.retranslateUi(SextanteToolbox)
        QtCore.QMetaObject.connectSlotsByName(SextanteToolbox)

    def retranslateUi(self, SextanteToolbox):
        SextanteToolbox.setWindowTitle(
            QtGui.QApplication.translate("SextanteToolbox", "SEXTANTE Toolbox",
                                         None, QtGui.QApplication.UnicodeUTF8))
        self.externalAppsButton.setText(
            QtGui.QApplication.translate(
                "SextanteToolbox", "Click here to learn more\n"
                "about SEXTANTE", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(
            QtGui.QApplication.translate(
                "SextanteToolbox", "Enter algorithm name to filter list", None,
                QtGui.QApplication.UnicodeUTF8))
Esempio n. 8
0
class Ui_DlgConfig(object):
    def setupUi(self, DlgConfig):
        DlgConfig.setObjectName(_fromUtf8("DlgConfig"))
        DlgConfig.resize(640, 450)
        self.verticalLayout = QtGui.QVBoxLayout(DlgConfig)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setMargin(9)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.searchBox = QgsFilterLineEdit(DlgConfig)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout.addWidget(self.searchBox)
        self.tree = QtGui.QTreeView(DlgConfig)
        self.tree.setAlternatingRowColors(True)
        self.tree.setSelectionBehavior(QtGui.QAbstractItemView.SelectItems)
        self.tree.setObjectName(_fromUtf8("tree"))
        self.verticalLayout.addWidget(self.tree)
        self.buttonBox = QtGui.QDialogButtonBox(DlgConfig)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel
                                          | QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(DlgConfig)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("accepted()")),
                               DlgConfig.accept)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("rejected()")),
                               DlgConfig.reject)
        QtCore.QMetaObject.connectSlotsByName(DlgConfig)

    def retranslateUi(self, DlgConfig):
        DlgConfig.setWindowTitle(
            _translate("DlgConfig", "Processing options", None))
        self.searchBox.setToolTip(
            _translate("DlgConfig", "Enter setting name to filter list", None))
Esempio n. 9
0
class Ui_DlgModeler(object):
    def setupUi(self, DlgModeler):
        DlgModeler.setObjectName(_fromUtf8("DlgModeler"))
        DlgModeler.resize(1000, 600)
        self.verticalLayout = QtGui.QVBoxLayout(DlgModeler)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.splitter = QtGui.QSplitter(DlgModeler)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.tabWidget = QtGui.QTabWidget(self.splitter)
        self.tabWidget.setMinimumSize(QtCore.QSize(300, 0))
        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab)
        self.verticalLayout_2.setSpacing(2)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.inputsTree = QtGui.QTreeWidget(self.tab)
        self.inputsTree.setAlternatingRowColors(True)
        self.inputsTree.setObjectName(_fromUtf8("inputsTree"))
        self.inputsTree.headerItem().setText(0, _fromUtf8("1"))
        self.inputsTree.header().setVisible(False)
        self.verticalLayout_2.addWidget(self.inputsTree)
        self.tabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_2)
        self.verticalLayout_3.setSpacing(2)
        self.verticalLayout_3.setMargin(0)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.searchBox = QgsFilterLineEdit(self.tab_2)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout_3.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.tab_2)
        self.algorithmTree.setAlternatingRowColors(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.algorithmTree.header().setVisible(False)
        self.verticalLayout_3.addWidget(self.algorithmTree)
        self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.layoutWidget = QtGui.QWidget(self.splitter)
        self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
        self.gridLayout = QtGui.QGridLayout(self.layoutWidget)
        self.gridLayout.setSpacing(2)
        self.gridLayout.setMargin(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.textName = QtGui.QLineEdit(self.layoutWidget)
        self.textName.setObjectName(_fromUtf8("textName"))
        self.gridLayout.addWidget(self.textName, 0, 0, 1, 1)
        self.textGroup = QtGui.QLineEdit(self.layoutWidget)
        self.textGroup.setObjectName(_fromUtf8("textGroup"))
        self.gridLayout.addWidget(self.textGroup, 0, 1, 1, 1)
        self.view = QtGui.QGraphicsView(self.layoutWidget)
        self.view.setObjectName(_fromUtf8("view"))
        self.gridLayout.addWidget(self.view, 1, 0, 1, 2)
        self.verticalLayout.addWidget(self.splitter)
        self.buttonBox = QtGui.QDialogButtonBox(DlgModeler)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Close)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(DlgModeler)
        self.tabWidget.setCurrentIndex(1)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), DlgModeler.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), DlgModeler.reject)
        QtCore.QMetaObject.connectSlotsByName(DlgModeler)

    def retranslateUi(self, DlgModeler):
        DlgModeler.setWindowTitle(QtGui.QApplication.translate("DlgModeler", "Processing modeler", None, QtGui.QApplication.UnicodeUTF8))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QtGui.QApplication.translate("DlgModeler", "Inputs", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(QtGui.QApplication.translate("DlgModeler", "Enter algorithm name to filter list", None, QtGui.QApplication.UnicodeUTF8))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QtGui.QApplication.translate("DlgModeler", "Algorithms", None, QtGui.QApplication.UnicodeUTF8))
        self.textName.setToolTip(QtGui.QApplication.translate("DlgModeler", "Enter model name here", None, QtGui.QApplication.UnicodeUTF8))
        self.textGroup.setToolTip(QtGui.QApplication.translate("DlgModeler", "Enter group name here", None, QtGui.QApplication.UnicodeUTF8))
Esempio n. 10
0
class Ui_DlgModeler(object):
    def setupUi(self, DlgModeler):
        DlgModeler.setObjectName(_fromUtf8("DlgModeler"))
        DlgModeler.resize(1000, 600)
        self.verticalLayout = QtGui.QVBoxLayout(DlgModeler)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setSpacing(-1)
        self.horizontalLayout.setMargin(3)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.btnOpen = QtGui.QToolButton(DlgModeler)
        self.btnOpen.setObjectName(_fromUtf8("btnOpen"))
        self.horizontalLayout.addWidget(self.btnOpen)
        self.btnSave = QtGui.QToolButton(DlgModeler)
        self.btnSave.setObjectName(_fromUtf8("btnSave"))
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnSaveAs = QtGui.QToolButton(DlgModeler)
        self.btnSaveAs.setObjectName(_fromUtf8("btnSaveAs"))
        self.horizontalLayout.addWidget(self.btnSaveAs)
        self.line = QtGui.QFrame(DlgModeler)
        self.line.setFrameShape(QtGui.QFrame.VLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName(_fromUtf8("line"))
        self.horizontalLayout.addWidget(self.line)
        self.btnExportImage = QtGui.QToolButton(DlgModeler)
        self.btnExportImage.setObjectName(_fromUtf8("btnExportImage"))
        self.horizontalLayout.addWidget(self.btnExportImage)
        self.line_2 = QtGui.QFrame(DlgModeler)
        self.line_2.setFrameShape(QtGui.QFrame.VLine)
        self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
        self.line_2.setObjectName(_fromUtf8("line_2"))
        self.horizontalLayout.addWidget(self.line_2)
        self.btnEditHelp = QtGui.QToolButton(DlgModeler)
        self.btnEditHelp.setObjectName(_fromUtf8("btnEditHelp"))
        self.horizontalLayout.addWidget(self.btnEditHelp)
        self.line_3 = QtGui.QFrame(DlgModeler)
        self.line_3.setFrameShape(QtGui.QFrame.VLine)
        self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
        self.line_3.setObjectName(_fromUtf8("line_3"))
        self.horizontalLayout.addWidget(self.line_3)
        self.btnRun = QtGui.QToolButton(DlgModeler)
        self.btnRun.setObjectName(_fromUtf8("btnRun"))
        self.horizontalLayout.addWidget(self.btnRun)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.splitter = QtGui.QSplitter(DlgModeler)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.tabWidget = QtGui.QTabWidget(self.splitter)
        self.tabWidget.setMinimumSize(QtCore.QSize(300, 0))
        self.tabWidget.setTabPosition(QtGui.QTabWidget.South)
        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab)
        self.verticalLayout_2.setSpacing(2)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.inputsTree = QtGui.QTreeWidget(self.tab)
        self.inputsTree.setAlternatingRowColors(True)
        self.inputsTree.setObjectName(_fromUtf8("inputsTree"))
        self.inputsTree.headerItem().setText(0, _fromUtf8("1"))
        self.inputsTree.header().setVisible(False)
        self.verticalLayout_2.addWidget(self.inputsTree)
        self.tabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_2)
        self.verticalLayout_3.setSpacing(2)
        self.verticalLayout_3.setMargin(0)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.searchBox = QgsFilterLineEdit(self.tab_2)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout_3.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.tab_2)
        self.algorithmTree.setAlternatingRowColors(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.algorithmTree.header().setVisible(False)
        self.verticalLayout_3.addWidget(self.algorithmTree)
        self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.layoutWidget = QtGui.QWidget(self.splitter)
        self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
        self.gridLayout = QtGui.QGridLayout(self.layoutWidget)
        self.gridLayout.setSpacing(2)
        self.gridLayout.setMargin(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.textName = QtGui.QLineEdit(self.layoutWidget)
        self.textName.setObjectName(_fromUtf8("textName"))
        self.gridLayout.addWidget(self.textName, 0, 0, 1, 1)
        self.textGroup = QtGui.QLineEdit(self.layoutWidget)
        self.textGroup.setObjectName(_fromUtf8("textGroup"))
        self.gridLayout.addWidget(self.textGroup, 0, 1, 1, 1)
        self.view = QtGui.QGraphicsView(self.layoutWidget)
        self.view.setObjectName(_fromUtf8("view"))
        self.gridLayout.addWidget(self.view, 1, 0, 1, 2)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(DlgModeler)
        self.tabWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(DlgModeler)

    def retranslateUi(self, DlgModeler):
        DlgModeler.setWindowTitle(QtGui.QApplication.translate("DlgModeler", "Processing modeler", None, QtGui.QApplication.UnicodeUTF8))
        self.btnOpen.setToolTip(QtGui.QApplication.translate("DlgModeler", "Open model", None, QtGui.QApplication.UnicodeUTF8))
        self.btnOpen.setText(QtGui.QApplication.translate("DlgModeler", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.btnSave.setToolTip(QtGui.QApplication.translate("DlgModeler", "Save", None, QtGui.QApplication.UnicodeUTF8))
        self.btnSave.setText(QtGui.QApplication.translate("DlgModeler", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.btnSaveAs.setToolTip(QtGui.QApplication.translate("DlgModeler", "Save as...", None, QtGui.QApplication.UnicodeUTF8))
        self.btnSaveAs.setText(QtGui.QApplication.translate("DlgModeler", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.btnExportImage.setToolTip(QtGui.QApplication.translate("DlgModeler", "Export as image", None, QtGui.QApplication.UnicodeUTF8))
        self.btnExportImage.setText(QtGui.QApplication.translate("DlgModeler", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.btnEditHelp.setToolTip(QtGui.QApplication.translate("DlgModeler", "Edit model help", None, QtGui.QApplication.UnicodeUTF8))
        self.btnEditHelp.setText(QtGui.QApplication.translate("DlgModeler", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.btnRun.setToolTip(QtGui.QApplication.translate("DlgModeler", "Run model", None, QtGui.QApplication.UnicodeUTF8))
        self.btnRun.setText(QtGui.QApplication.translate("DlgModeler", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QtGui.QApplication.translate("DlgModeler", "Inputs", None, QtGui.QApplication.UnicodeUTF8))
        self.searchBox.setToolTip(QtGui.QApplication.translate("DlgModeler", "Enter algorithm name to filter list", None, QtGui.QApplication.UnicodeUTF8))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QtGui.QApplication.translate("DlgModeler", "Algorithms", None, QtGui.QApplication.UnicodeUTF8))
        self.textName.setToolTip(QtGui.QApplication.translate("DlgModeler", "Enter model name here", None, QtGui.QApplication.UnicodeUTF8))
        self.textGroup.setToolTip(QtGui.QApplication.translate("DlgModeler", "Enter group name here", None, QtGui.QApplication.UnicodeUTF8))
Esempio n. 11
0
class Ui_DlgModeler(object):
    def setupUi(self, DlgModeler):
        DlgModeler.setObjectName(_fromUtf8("DlgModeler"))
        DlgModeler.resize(1000, 600)
        self.verticalLayout = QtGui.QVBoxLayout(DlgModeler)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.splitter = QtGui.QSplitter(DlgModeler)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.tabWidget = QtGui.QTabWidget(self.splitter)
        self.tabWidget.setMinimumSize(QtCore.QSize(300, 0))
        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab)
        self.verticalLayout_2.setSpacing(2)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.inputsTree = QtGui.QTreeWidget(self.tab)
        self.inputsTree.setAlternatingRowColors(True)
        self.inputsTree.setObjectName(_fromUtf8("inputsTree"))
        self.inputsTree.headerItem().setText(0, _fromUtf8("1"))
        self.inputsTree.header().setVisible(False)
        self.verticalLayout_2.addWidget(self.inputsTree)
        self.tabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_2)
        self.verticalLayout_3.setSpacing(2)
        self.verticalLayout_3.setMargin(0)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.searchBox = QgsFilterLineEdit(self.tab_2)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout_3.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.tab_2)
        self.algorithmTree.setAlternatingRowColors(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.algorithmTree.header().setVisible(False)
        self.verticalLayout_3.addWidget(self.algorithmTree)
        self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.layoutWidget = QtGui.QWidget(self.splitter)
        self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
        self.gridLayout = QtGui.QGridLayout(self.layoutWidget)
        self.gridLayout.setSpacing(2)
        self.gridLayout.setMargin(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.textName = QtGui.QLineEdit(self.layoutWidget)
        self.textName.setObjectName(_fromUtf8("textName"))
        self.gridLayout.addWidget(self.textName, 0, 0, 1, 1)
        self.textGroup = QtGui.QLineEdit(self.layoutWidget)
        self.textGroup.setObjectName(_fromUtf8("textGroup"))
        self.gridLayout.addWidget(self.textGroup, 0, 1, 1, 1)
        self.view = QtGui.QGraphicsView(self.layoutWidget)
        self.view.setObjectName(_fromUtf8("view"))
        self.gridLayout.addWidget(self.view, 1, 0, 1, 2)
        self.verticalLayout.addWidget(self.splitter)
        self.buttonBox = QtGui.QDialogButtonBox(DlgModeler)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Close)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(DlgModeler)
        self.tabWidget.setCurrentIndex(1)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("accepted()")),
                               DlgModeler.accept)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("rejected()")),
                               DlgModeler.reject)
        QtCore.QMetaObject.connectSlotsByName(DlgModeler)

    def retranslateUi(self, DlgModeler):
        DlgModeler.setWindowTitle(
            _translate("DlgModeler", "SEXTANTE modeler", None))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab),
                                  _translate("DlgModeler", "Inputs", None))
        self.searchBox.setToolTip(
            _translate("DlgModeler", "Enter algorithm name to filter list",
                       None))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2),
                                  _translate("DlgModeler", "Algorithms", None))
        self.textName.setToolTip(
            _translate("DlgModeler", "Enter model name here", None))
        self.textGroup.setToolTip(
            _translate("DlgModeler", "Enter group name here", None))
Esempio n. 12
0
class Ui_CustomToolbarDialog(object):
    def setupUi(self, CustomToolbarDialog):
        CustomToolbarDialog.setObjectName(_fromUtf8("CustomToolbarDialog"))
        CustomToolbarDialog.resize(833, 443)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/img/images/icon.png")),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        CustomToolbarDialog.setWindowIcon(icon)
        CustomToolbarDialog.setAccessibleDescription(_fromUtf8(""))
        self.verticalLayout_2 = QtGui.QVBoxLayout(CustomToolbarDialog)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.help_btn = QtGui.QPushButton(CustomToolbarDialog)
        self.help_btn.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.help_btn.setStyleSheet(_fromUtf8("text-align:left;"))
        self.help_btn.setFlat(True)
        self.help_btn.setObjectName(_fromUtf8("help_btn"))
        self.horizontalLayout.addWidget(self.help_btn)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setContentsMargins(-1, 6, -1, -1)
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.verticalLayout_6 = QtGui.QVBoxLayout()
        self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
        spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout_6.addItem(spacerItem1)
        self.pushButton = QtGui.QPushButton(CustomToolbarDialog)
        self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.pushButton.setText(_fromUtf8(""))
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/img/images/expand.png")),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton.setIcon(icon1)
        self.pushButton.setAutoDefault(False)
        self.pushButton.setFlat(True)
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.verticalLayout_6.addWidget(self.pushButton)
        self.pushButton_2 = QtGui.QPushButton(CustomToolbarDialog)
        self.pushButton_2.setCursor(QtGui.QCursor(
            QtCore.Qt.PointingHandCursor))
        self.pushButton_2.setText(_fromUtf8(""))
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/img/images/collapse.png")),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton_2.setIcon(icon2)
        self.pushButton_2.setAutoDefault(False)
        self.pushButton_2.setFlat(True)
        self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
        self.verticalLayout_6.addWidget(self.pushButton_2)
        spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout_6.addItem(spacerItem2)
        self.horizontalLayout_4.addLayout(self.verticalLayout_6)
        self.groupBox = QtGui.QGroupBox(CustomToolbarDialog)
        self.groupBox.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox.setFlat(True)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.searchBox = QgsFilterLineEdit(self.groupBox)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout_4.addWidget(self.searchBox)
        self.ToolBars = QtGui.QTreeWidget(self.groupBox)
        self.ToolBars.setStyleSheet(_fromUtf8(""))
        self.ToolBars.setDragEnabled(True)
        self.ToolBars.setDragDropOverwriteMode(False)
        self.ToolBars.setDragDropMode(QtGui.QAbstractItemView.DragOnly)
        self.ToolBars.setDefaultDropAction(QtCore.Qt.CopyAction)
        self.ToolBars.setAlternatingRowColors(True)
        self.ToolBars.setSelectionBehavior(QtGui.QAbstractItemView.SelectItems)
        self.ToolBars.setItemsExpandable(True)
        self.ToolBars.setAllColumnsShowFocus(False)
        self.ToolBars.setWordWrap(False)
        self.ToolBars.setObjectName(_fromUtf8("ToolBars"))
        self.ToolBars.header().setVisible(False)
        self.ToolBars.header().setSortIndicatorShown(False)
        self.ToolBars.header().setStretchLastSection(True)
        self.verticalLayout_4.addWidget(self.ToolBars)
        self.horizontalLayout_4.addWidget(self.groupBox)
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem3)
        self.new_btn = QtGui.QPushButton(CustomToolbarDialog)
        self.new_btn.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.new_btn.setStyleSheet(
            _fromUtf8("border:1px solid #6E6E6E;\n"
                      "border-style: outset;\n"
                      "border-width: 1px;\n"
                      "border-radius: 3px;\n"
                      "min-width: 3em;\n"
                      "padding: 2px;\n"
                      ""))
        self.new_btn.setFlat(True)
        self.new_btn.setObjectName(_fromUtf8("new_btn"))
        self.verticalLayout.addWidget(self.new_btn)
        self.rename_btn = QtGui.QPushButton(CustomToolbarDialog)
        self.rename_btn.setEnabled(False)
        self.rename_btn.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.rename_btn.setStyleSheet(
            _fromUtf8("border:1px solid #6E6E6E;\n"
                      "border-style: outset;\n"
                      "border-width: 1px;\n"
                      "border-radius: 3px;\n"
                      "min-width: 3em;\n"
                      "padding: 2px;"))
        self.rename_btn.setFlat(True)
        self.rename_btn.setObjectName(_fromUtf8("rename_btn"))
        self.verticalLayout.addWidget(self.rename_btn)
        spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem4)
        self.delete_btn = QtGui.QPushButton(CustomToolbarDialog)
        self.delete_btn.setEnabled(False)
        self.delete_btn.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.delete_btn.setStyleSheet(
            _fromUtf8("border:1px solid #6E6E6E;\n"
                      "border-style: outset;\n"
                      "border-width: 1px;\n"
                      "border-radius: 3px;\n"
                      "min-width: 3em;\n"
                      "padding: 2px;"))
        self.delete_btn.setFlat(True)
        self.delete_btn.setObjectName(_fromUtf8("delete_btn"))
        self.verticalLayout.addWidget(self.delete_btn)
        spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem5)
        self.Save_btn = QtGui.QPushButton(CustomToolbarDialog)
        self.Save_btn.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.Save_btn.setStyleSheet(
            _fromUtf8("border:1px solid #6E6E6E;\n"
                      "border-style: outset;\n"
                      "border-width: 1px;\n"
                      "border-radius: 3px;\n"
                      "padding: 2px;\n"
                      ""))
        self.Save_btn.setFlat(True)
        self.Save_btn.setObjectName(_fromUtf8("Save_btn"))
        self.verticalLayout.addWidget(self.Save_btn)
        self.horizontalLayout_4.addLayout(self.verticalLayout)
        self.groupBox_2 = QtGui.QGroupBox(CustomToolbarDialog)
        self.groupBox_2.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox_2.setFlat(True)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBox_2)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.MyToolsBars = QtGui.QTreeWidget(self.groupBox_2)
        self.MyToolsBars.setEnabled(False)
        self.MyToolsBars.setStyleSheet(_fromUtf8(""))
        self.MyToolsBars.setDragEnabled(False)
        self.MyToolsBars.setDragDropOverwriteMode(False)
        self.MyToolsBars.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
        self.MyToolsBars.setDefaultDropAction(QtCore.Qt.IgnoreAction)
        self.MyToolsBars.setAlternatingRowColors(True)
        self.MyToolsBars.setSelectionBehavior(
            QtGui.QAbstractItemView.SelectItems)
        self.MyToolsBars.setAutoExpandDelay(-1)
        self.MyToolsBars.setRootIsDecorated(True)
        self.MyToolsBars.setItemsExpandable(True)
        self.MyToolsBars.setObjectName(_fromUtf8("MyToolsBars"))
        self.MyToolsBars.header().setVisible(False)
        self.verticalLayout_3.addWidget(self.MyToolsBars)
        self.horizontalLayout_4.addWidget(self.groupBox_2)
        self.verticalLayout_8 = QtGui.QVBoxLayout()
        self.verticalLayout_8.setObjectName(_fromUtf8("verticalLayout_8"))
        spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout_8.addItem(spacerItem6)
        self.My_expand = QtGui.QPushButton(CustomToolbarDialog)
        self.My_expand.setEnabled(False)
        self.My_expand.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.My_expand.setText(_fromUtf8(""))
        self.My_expand.setIcon(icon1)
        self.My_expand.setAutoDefault(False)
        self.My_expand.setFlat(True)
        self.My_expand.setObjectName(_fromUtf8("My_expand"))
        self.verticalLayout_8.addWidget(self.My_expand)
        self.My_Collapse = QtGui.QPushButton(CustomToolbarDialog)
        self.My_Collapse.setEnabled(False)
        self.My_Collapse.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.My_Collapse.setText(_fromUtf8(""))
        self.My_Collapse.setIcon(icon2)
        self.My_Collapse.setAutoDefault(False)
        self.My_Collapse.setFlat(True)
        self.My_Collapse.setObjectName(_fromUtf8("My_Collapse"))
        self.verticalLayout_8.addWidget(self.My_Collapse)
        spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout_8.addItem(spacerItem7)
        self.horizontalLayout_4.addLayout(self.verticalLayout_8)
        self.verticalLayout_2.addLayout(self.horizontalLayout_4)

        self.retranslateUi(CustomToolbarDialog)
        QtCore.QObject.connect(
            self.ToolBars,
            QtCore.SIGNAL(_fromUtf8("itemPressed(QTreeWidgetItem*,int)")),
            CustomToolbarDialog.QgisToolsClick)
        QtCore.QObject.connect(
            self.MyToolsBars,
            QtCore.SIGNAL(_fromUtf8("itemClicked(QTreeWidgetItem*,int)")),
            CustomToolbarDialog.MyToolsClick)
        QtCore.QObject.connect(self.rename_btn,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.RenameToolBar)
        QtCore.QObject.connect(self.new_btn,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.NewToolBar)
        QtCore.QObject.connect(self.delete_btn,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.DeleteToolBar)
        QtCore.QObject.connect(self.Save_btn,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.SaveTools)
        QtCore.QObject.connect(self.pushButton,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.ExpandQgis)
        QtCore.QObject.connect(self.pushButton_2,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.CollapseQgis)
        QtCore.QObject.connect(self.My_expand,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.ExpandMyTools)
        QtCore.QObject.connect(self.My_Collapse,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.CollapseMyTools)
        QtCore.QObject.connect(
            self.searchBox, QtCore.SIGNAL(_fromUtf8("textChanged(QString)")),
            CustomToolbarDialog.Search)
        QtCore.QObject.connect(self.help_btn,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               CustomToolbarDialog.about)
        QtCore.QMetaObject.connectSlotsByName(CustomToolbarDialog)

    def retranslateUi(self, CustomToolbarDialog):
        CustomToolbarDialog.setWindowTitle(
            _translate("CustomToolbarDialog", "Create customs ToolBars", None))
        self.help_btn.setText(_translate("CustomToolbarDialog", "About", None))
        self.pushButton.setToolTip(
            _translate("CustomToolbarDialog", "Expand all", None))
        self.pushButton_2.setToolTip(
            _translate("CustomToolbarDialog", "Collapse all", None))
        self.groupBox.setTitle(
            _translate("CustomToolbarDialog", "Qgis Tools", None))
        self.searchBox.setToolTip(
            _translate("CustomToolbarDialog",
                       "Enter algorithm name to filter list", None))
        self.ToolBars.setSortingEnabled(False)
        self.new_btn.setText(
            _translate("CustomToolbarDialog", "New ToolBar", None))
        self.rename_btn.setText(
            _translate("CustomToolbarDialog", "Rename ToolBar", None))
        self.delete_btn.setText(
            _translate("CustomToolbarDialog", "Delete ToolBar or Tool", None))
        self.Save_btn.setText(
            _translate("CustomToolbarDialog", "Save Changes", None))
        self.groupBox_2.setTitle(
            _translate("CustomToolbarDialog", "My ToolBars", None))
        self.My_expand.setToolTip(
            _translate("CustomToolbarDialog", "Expand all", None))
        self.My_Collapse.setToolTip(
            _translate("CustomToolbarDialog", "Collapse all", None))
Esempio n. 13
0
class Ui_DlgModeler(object):
    def setupUi(self, DlgModeler):
        DlgModeler.setObjectName(_fromUtf8("DlgModeler"))
        DlgModeler.resize(1000, 600)
        self.verticalLayout = QtGui.QVBoxLayout(DlgModeler)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setMargin(9)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setSpacing(6)
        self.horizontalLayout.setMargin(3)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.btnOpen = QtGui.QToolButton(DlgModeler)
        self.btnOpen.setAutoRaise(True)
        self.btnOpen.setObjectName(_fromUtf8("btnOpen"))
        self.horizontalLayout.addWidget(self.btnOpen)
        self.btnSave = QtGui.QToolButton(DlgModeler)
        self.btnSave.setAutoRaise(True)
        self.btnSave.setObjectName(_fromUtf8("btnSave"))
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnSaveAs = QtGui.QToolButton(DlgModeler)
        self.btnSaveAs.setAutoRaise(True)
        self.btnSaveAs.setObjectName(_fromUtf8("btnSaveAs"))
        self.horizontalLayout.addWidget(self.btnSaveAs)
        self.line = QtGui.QFrame(DlgModeler)
        self.line.setFrameShape(QtGui.QFrame.VLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName(_fromUtf8("line"))
        self.horizontalLayout.addWidget(self.line)
        self.btnExportImage = QtGui.QToolButton(DlgModeler)
        self.btnExportImage.setAutoRaise(True)
        self.btnExportImage.setObjectName(_fromUtf8("btnExportImage"))
        self.horizontalLayout.addWidget(self.btnExportImage)
        self.line_2 = QtGui.QFrame(DlgModeler)
        self.line_2.setFrameShape(QtGui.QFrame.VLine)
        self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
        self.line_2.setObjectName(_fromUtf8("line_2"))
        self.horizontalLayout.addWidget(self.line_2)
        self.btnEditHelp = QtGui.QToolButton(DlgModeler)
        self.btnEditHelp.setAutoRaise(True)
        self.btnEditHelp.setObjectName(_fromUtf8("btnEditHelp"))
        self.horizontalLayout.addWidget(self.btnEditHelp)
        self.line_3 = QtGui.QFrame(DlgModeler)
        self.line_3.setFrameShape(QtGui.QFrame.VLine)
        self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
        self.line_3.setObjectName(_fromUtf8("line_3"))
        self.horizontalLayout.addWidget(self.line_3)
        self.btnRun = QtGui.QToolButton(DlgModeler)
        self.btnRun.setAutoRaise(True)
        self.btnRun.setObjectName(_fromUtf8("btnRun"))
        self.horizontalLayout.addWidget(self.btnRun)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.splitter = QtGui.QSplitter(DlgModeler)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.tabWidget = QtGui.QTabWidget(self.splitter)
        self.tabWidget.setMinimumSize(QtCore.QSize(300, 0))
        self.tabWidget.setTabPosition(QtGui.QTabWidget.South)
        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab)
        self.verticalLayout_2.setSpacing(2)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.inputsTree = QtGui.QTreeWidget(self.tab)
        self.inputsTree.setAlternatingRowColors(True)
        self.inputsTree.setObjectName(_fromUtf8("inputsTree"))
        self.inputsTree.headerItem().setText(0, _fromUtf8("1"))
        self.inputsTree.header().setVisible(False)
        self.verticalLayout_2.addWidget(self.inputsTree)
        self.tabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_2)
        self.verticalLayout_3.setSpacing(2)
        self.verticalLayout_3.setMargin(0)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.searchBox = QgsFilterLineEdit(self.tab_2)
        self.searchBox.setObjectName(_fromUtf8("searchBox"))
        self.verticalLayout_3.addWidget(self.searchBox)
        self.algorithmTree = QtGui.QTreeWidget(self.tab_2)
        self.algorithmTree.setAlternatingRowColors(True)
        self.algorithmTree.setObjectName(_fromUtf8("algorithmTree"))
        self.algorithmTree.headerItem().setText(0, _fromUtf8("1"))
        self.algorithmTree.header().setVisible(False)
        self.verticalLayout_3.addWidget(self.algorithmTree)
        self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.layoutWidget = QtGui.QWidget(self.splitter)
        self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
        self.gridLayout = QtGui.QGridLayout(self.layoutWidget)
        self.gridLayout.setSpacing(2)
        self.gridLayout.setMargin(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.textName = QtGui.QLineEdit(self.layoutWidget)
        self.textName.setObjectName(_fromUtf8("textName"))
        self.gridLayout.addWidget(self.textName, 0, 0, 1, 1)
        self.textGroup = QtGui.QLineEdit(self.layoutWidget)
        self.textGroup.setObjectName(_fromUtf8("textGroup"))
        self.gridLayout.addWidget(self.textGroup, 0, 1, 1, 1)
        self.view = QtGui.QGraphicsView(self.layoutWidget)
        self.view.setObjectName(_fromUtf8("view"))
        self.gridLayout.addWidget(self.view, 1, 0, 1, 2)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(DlgModeler)
        self.tabWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(DlgModeler)

    def retranslateUi(self, DlgModeler):
        DlgModeler.setWindowTitle(
            _translate("DlgModeler", "Processing modeler", None))
        self.btnOpen.setToolTip(_translate("DlgModeler", "Open model", None))
        self.btnOpen.setText(_translate("DlgModeler", "...", None))
        self.btnOpen.setShortcut(_translate("DlgModeler", "Ctrl+O", None))
        self.btnSave.setToolTip(_translate("DlgModeler", "Save", None))
        self.btnSave.setText(_translate("DlgModeler", "...", None))
        self.btnSave.setShortcut(_translate("DlgModeler", "Ctrl+S", None))
        self.btnSaveAs.setToolTip(_translate("DlgModeler", "Save as...", None))
        self.btnSaveAs.setText(_translate("DlgModeler", "...", None))
        self.btnSaveAs.setShortcut(
            _translate("DlgModeler", "Ctrl+Shift+S", None))
        self.btnExportImage.setToolTip(
            _translate("DlgModeler", "Export as image", None))
        self.btnExportImage.setText(_translate("DlgModeler", "...", None))
        self.btnEditHelp.setToolTip(
            _translate("DlgModeler", "Edit model help", None))
        self.btnEditHelp.setText(_translate("DlgModeler", "...", None))
        self.btnRun.setToolTip(_translate("DlgModeler", "Run model", None))
        self.btnRun.setText(_translate("DlgModeler", "...", None))
        self.btnRun.setShortcut(_translate("DlgModeler", "F5", None))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab),
                                  _translate("DlgModeler", "Inputs", None))
        self.searchBox.setToolTip(
            _translate("DlgModeler", "Enter algorithm name to filter list",
                       None))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2),
                                  _translate("DlgModeler", "Algorithms", None))
        self.textName.setToolTip(
            _translate("DlgModeler", "Enter model name here", None))
        self.textGroup.setToolTip(
            _translate("DlgModeler", "Enter group name here", None))
Esempio n. 14
0
class DiviPluginDockWidget(QDockWidget, FORM_CLASS):

    closingPlugin = pyqtSignal()
    transform2mercator = QgsCoordinateTransform(
            QgsCoordinateReferenceSystem('EPSG:4326'),
            QgsCoordinateReferenceSystem('EPSG:3857'),
			QgsProject.instance()
        )

    def __init__(self, plugin, parent=None):
        """Constructor."""
        super(DiviPluginDockWidget, self).__init__(parent)
        # Set up the user interface from Designer.
        # After setupUI you can access any designer object by doing
        # self.<objectname>, and you can use autoconnect slots - see
        # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
        # #widgets-and-dialogs-with-auto-connect
        self.plugin = plugin
        self.iface = plugin.iface
        self.token = QSettings().value('%s/token' % CONFIG_NAME, None)
        self.user = QSettings().value('%s/email' % CONFIG_NAME, None)
        self.setupUi(self)
        self.initGui()
        proxyModel = DiviProxyModel()
        proxyModel.setSourceModel( DiviModel() )
        proxyModel.setDynamicSortFilter( True )
        self.tvData.setModel( proxyModel )
        self.tvData.setSortingEnabled(True)
        self.setLogginStatus(bool(self.token))
        #Signals
        self.btnConnect.clicked.connect(self.diviConnection)
        self.eSearch.textChanged.connect(self.searchData)
        self.tvData.activated.connect(self.addLayer)
        self.tvData.customContextMenuRequested.connect(self.showMenu)
        self.tvData.selectionModel().currentChanged.connect(self.treeSelectionChanged)
        QgsProject.instance().layersWillBeRemoved.connect( self.layersRemoved )
        self.gbFilters.collapsedStateChanged.connect(self.toggleFilters)
        self.cbVectors.stateChanged.connect(self.setSearchFilter)
        self.cbTables.stateChanged.connect(self.setSearchFilter)
        self.cbRasters.stateChanged.connect(self.setSearchFilter)
        self.cbWms.stateChanged.connect(self.setSearchFilter)
        self.cbBasemaps.stateChanged.connect(self.setSearchFilter)
        self.setSearchFilter(None)
    
    def initGui(self):
        self.eSearch = QgsFilterLineEdit(self.dockWidgetContents)
        self.eSearch.setObjectName(u"eSearch")
        self.eSearch.setPlaceholderText(self.tr("Search..."))
        self.editLayout.addWidget(self.eSearch)
        #Toolbar
        self.btnAddLayer.setIcon( QgsApplication.getThemeIcon('/mActionAddMap.svg') )
        menu = QMenu()
        menu.aboutToShow.connect(self.addMenuShow)
        self.btnAddLayer.setMenu(menu)
        self.btnAddLayer.clicked.connect( self.addItems )
        self.btnRefresh.clicked.connect(lambda checked: self.refreshItems( self.tvData.selectedIndexes()[0] if self.tvData.selectedIndexes() else None ))
        self.btnRefresh.setIcon( QgsApplication.getThemeIcon('/mActionReload.svg') )
        #Filters
        settings = QSettings()
        self.gbFilters.setCollapsed( not settings.value( '{}/filters/filters'.format(CONFIG_NAME), False, bool ) )
        self.cbVectors.setChecked( settings.value( '{}/filters/vectors'.format(CONFIG_NAME), True, bool ) )
        self.cbTables.setChecked( settings.value( '{}/filters/tables'.format(CONFIG_NAME), True, bool ) )
        self.cbRasters.setChecked( settings.value( '{}/filters/rasters'.format(CONFIG_NAME), True, bool ) )
        self.cbWms.setChecked( settings.value( '{}/filters/wms'.format(CONFIG_NAME), True, bool ) )
        self.cbBasemaps.setChecked( settings.value( '{}/filters/basmeaps'.format(CONFIG_NAME), True, bool ) )
    
    def getConnector(self, auto_login=True):
        connector = DiviConnector(iface=self.iface, auto_login=auto_login)
        connector.diviLogged.connect(self.setUserData)
        return connector
    
    def closeEvent(self, event):
        self.closingPlugin.emit()
        event.accept()
    
    def diviConnection(self, checked, auto_login=True):
        model = self.tvData.model().sourceModel()
        connector = self.getConnector(auto_login)
        if checked:
            #Connect
            model.showLoading()
            data = connector.diviFeatchData()
            if data is not None:
                model.addData( *data )
                self.setLogginStatus(True)
                items = self.getLoadedDiviLayers()
                #Refresh data after connect
                for item in items:
                    self.refreshData( item )
                return
            else:
                model.removeAll()
        else:
            #Disconnect
            layers = [ layer for layer in QgsProject.instance().mapLayers().values() if layer.customProperty('DiviId') is not None ]
            if any(layer.isModified() for layer in layers if layer.isEditable()):
                result = QMessageBox.question(None, self.tr('Edited layers'), 
                    self.tr('Some layers are modified. You need to save changes or rollback to continue. Do you want to revert all edits?'),
                    QMessageBox.Yes | QMessageBox.No)
                if result==QMessageBox.No:
                    self.btnConnect.setChecked(True)
                    return
            for layer in layers:
                if layer.isEditable():
                    layer.rollBack()
            connector.diviLogout()
            self.btnAddLayer.setEnabled(False)
            self.btnRefresh.setEnabled(False)
        settings = QSettings()
        settings.remove('%s/token' % CONFIG_NAME)
        settings.remove('%s/id' % CONFIG_NAME)
        settings.remove('%s/status' % CONFIG_NAME)
        self.setLogginStatus(False)
    
    def setLogginStatus(self, logged):
        if logged:
            self.setWindowTitle( 'DIVI QGIS Plugin - %s' % self.user )
            self.btnConnect.setText(self.tr('Disconnect'))
            self.btnConnect.setChecked(True)
        else:
            self.tvData.model().sourceModel().removeAll()
            self.setWindowTitle( 'DIVI QGIS Plugin' )
            self.btnConnect.setText(self.tr('Connect'))
            self.btnConnect.setChecked(False)
            self.token = None
        self.plugin.setEnabled( logged )
        QgsMessageLog.logMessage(str(self.token), 'DIVI')
    
    def setUserData(self, user, token):
        self.user = user
        self.token = token
        if token:
            self.setLogginStatus(True)
    
    def getLoadedDiviLayers(self, layers=None):
        if layers is None:
            layers = [ layer for layer in QgsProject.instance().mapLayers().values() if layer.customProperty('DiviId') is not None ]
        model = self.tvData.model().sourceModel()
        items = set()
        for layer in layers:
            divi_id = layer.customProperty('DiviId')
            item_type = self.plugin.getItemType(layer)
            layerIndex = model.findItem(divi_id, item_type, True)
            if layerIndex is not None:
                layerItem = layerIndex.data(role=Qt.UserRole)
                items.add(layerItem)
                if layer not in layerItem.items:
                    fields = [] if isinstance(layer, QgsRasterLayer) else layerItem.fields
                    layerItem.items.append(layer)
                    model.dataChanged.emit(layerIndex, layerIndex)
                    if isinstance(layerItem, RasterItem):
                        self.plugin.updateRasterToken( layer, layerItem.getUri(self.token) )
        return items
    
    #SLOTS
    
    def addMenuShow(self):
        menu = self.sender()
        menu.clear()
        indexes = self.tvData.selectedIndexes()
        if not indexes:
            return
        item = indexes[0].data(Qt.UserRole)
        add_text = self.tr('Add layer') if isinstance(item, LayerItem) else self.tr(u'Add all layers from project')
        add = menu.addAction(QgsApplication.getThemeIcon('/mActionAddMap.svg'), add_text, lambda: self.addLayer(indexes[0]))
        f = add.font()
        f.setBold(True)
        add.setFont(f)
        if not isinstance(item, VectorItem):
            return
        sep = menu.addSeparator()
        sep.setText(self.tr('Add as...'))
        sep.setEnabled(False)
        load_layer_as = partial(self.plugin.loadLayerType, item=item)
        menu.addAction(QgsApplication.getThemeIcon('/mIconPointLayer.svg'), self.tr('Points'), lambda: load_layer_as(geom_type='MultiPoint'))
        menu.addAction(QgsApplication.getThemeIcon('/mIconLineLayer.svg'), self.tr('Linestring'), lambda: load_layer_as(geom_type='MultiLineString'))
        menu.addAction(QgsApplication.getThemeIcon('/mIconPolygonLayer.svg'), self.tr('Polygons'), lambda: load_layer_as(geom_type='MultiPolygon'))
    
    def treeSelectionChanged(self, new, old):
        item = new.data(Qt.UserRole)
        self.btnAddLayer.setEnabled( isinstance(item, (LayerItem, ProjectItem)) )
        self.btnRefresh.setEnabled( (not isinstance(item, LayerItem)) or (isinstance(item, TableItem)) )
    
    def addItems(self):
        indexes = self.tvData.selectedIndexes()
        if not indexes:
            return
        index = indexes[0]
        item = index.data(Qt.UserRole)
        if isinstance(item, LayerItem):
            self.addLayer(index)
        elif isinstance(item, ProjectItem):
            self.addProjectData(index)
    
    def addLayer(self, index, old=None, addToMap=True):
        item = index.data(role=Qt.UserRole)
        if not isinstance(item, LayerItem):
            return
        if not self.plugin.setLoading(True):
            return
        addedData = []
        if isinstance(item, VectorItem):
            connector = self.getConnector()
            self.plugin.msgBar = ProgressMessageBar(self.iface, self.tr("Downloading layer '%s'...")%item.name, connector=connector)
            self.plugin.msgBar.setValue(10)
            connector.downloadingProgress.connect(self.plugin.updateDownloadProgress)
            data = connector.diviGetLayerFeatures(item.id)
            layers = []
            if data:
                permissions = connector.getUserPermission(item.id, 'layer')
                self.plugin.msgBar.setBoundries(50, 50)
                #Disable rendering for changing symbology
                self.iface.mapCanvas().setRenderFlag(False)
                layers = self.plugin.addLayer(data['features'], item, permissions, addToMap=addToMap)
                for layer in layers:
                    #Set symbols based on layer geometry type
                    item.setQgisStyle(layer)
                    self.iface.layerTreeView().refreshLayerSymbology(layer.id())
                self.iface.mapCanvas().setRenderFlag(True)
                addedData.extend( layers )
                item.items.extend( addedData )
            self.plugin.msgBar.setValue(100)
            aborted = self.plugin.msgBar.aborted
            self.plugin.msgBar.close()
            self.plugin.msgBar = None
            if aborted:
                # fix_print_with_import
                print('Aborted')
            elif not layers:
                #User can select geometry type in message bar
                widget = self.iface.messageBar().createMessage(
                    self.tr("Warning"),
                    self.tr(u"Layer '%s' is empty. To open it in QGIS you need to select geometry type.") % item.name
                )
                button = QToolButton(widget)
                button.setText(self.tr("Add layer as..."))
                button.setPopupMode(QToolButton.InstantPopup)
                menu = QMenu(button)
                def load_layer_as(geom_type):
                    self.plugin.loadLayerType(item = item, geom_type = geom_type)
                    self.iface.messageBar().clearWidgets()
                menu.addAction(QgsApplication.getThemeIcon('/mIconPointLayer.svg'), self.tr('Points'), lambda: load_layer_as(geom_type='MultiPoint'))
                menu.addAction(QgsApplication.getThemeIcon('/mIconLineLayer.svg'), self.tr('Linestring'), lambda: load_layer_as(geom_type='MultiLineString'))
                menu.addAction(QgsApplication.getThemeIcon('/mIconPolygonLayer.svg'), self.tr('Polygons'), lambda: load_layer_as(geom_type='MultiPolygon'))
                button.setMenu( menu )
                widget.layout().addWidget(button)
                self.iface.messageBar().pushWidget(widget, Qgis.Warning)

        elif isinstance(item, TableItem):
            if Qgis.QGIS_VERSION_INT < 21400:
                self.iface.messageBar().pushMessage('DIVI',
                    self.tr(u'QGIS 2.14 or later is required for loading DIVI tables.'),
                    Qgis.Critical,
                    duration = 3
                )
            else:
                self.plugin.msgBar = ProgressMessageBar(self.iface, self.tr("Downloading table '%s'...")%item.name)
                self.plugin.msgBar.setValue(10)
                connector = self.getConnector()
                connector.downloadingProgress.connect(self.plugin.updateDownloadProgress)
                data = connector.diviGetTableRecords(item.id)
                if data:
                    permissions = connector.getUserPermission(item.id, 'table')
                    self.plugin.msgBar.setBoundries(50, 50)
                    addedData.append( self.plugin.addTable(data['header'], data['data'], item, permissions, addToMap=addToMap) )
                    item.items.extend( addedData )
                self.plugin.msgBar.setValue(100)
                self.plugin.msgBar.close()
                self.plugin.msgBar = None
        elif isinstance(item, RasterItem):
            if Qgis.QGIS_VERSION_INT < 21800:
                self.iface.messageBar().pushMessage('DIVI',
                    self.tr(u'QGIS 2.18 or later is required for loading DIVI rasters.'),
                    Qgis.Critical,
                    duration = 3
                )
            else:
                uri = item.getUri(self.token)
                uri = uri.replace("b'", "").replace("'", "")
                QgsMessageLog.logMessage( uri, 'DIVI')
                r = QgsRasterLayer(uri, item.name, 'wms')
                r.setCustomProperty('DiviId', item.id)
                if item.extent is not None:
                    #Set extent for raster layer
                    bbox = self.transform2mercator.transformBoundingBox( QgsRectangle(
                            item.extent['st_xmin'],
                            item.extent['st_ymin'],
                            item.extent['st_xmax'],
                            item.extent['st_ymax']
                        ))
                    r.setExtent( bbox )
                addedData.append( r )
                item.items.extend( addedData )
                if addToMap:
                    QgsProject.instance().addMapLayer(r)
        elif isinstance(item, WmsItem):
            uri = item.getUri()
            QgsMessageLog.logMessage( uri, 'DIVI')
            r = QgsRasterLayer(uri, item.name, 'wms')
            r.setCustomProperty('DiviId', item.id)
            addedData.append( r )
            item.items.extend( addedData )
            if addToMap:
                QgsProject.instance().addMapLayer(r)
        elif isinstance(item, BasemapItem):
            uri = item.getUri()
            QgsMessageLog.logMessage( uri, 'DIVI')
            r = QgsRasterLayer(uri, item.name, 'wms')
            r.setCustomProperty('DiviId', item.id)
            addedData.append( r )
            item.items.extend( addedData )
            if addToMap:
                QgsProject.instance().addMapLayer(r)
        else:
            return
        index.model().dataChanged.emit(index.parent().parent(), index)
        self.plugin.setLoading(False)
        return addedData
    
    def refreshData(self, item):
        layers = item.items[:]
        for l in layers:
            if l.VectorLayer:
                if l.isEditable():
                    self.iface.messageBar().pushMessage('DIVI',
                        self.tr(u'One of related layers is in edit mode. End edit mode of that layer to continue.'),
                        Qgis.Critical,
                        duration = 3
                    )
                    return
        with Cache(self.plugin):
            for lyr in layers:
                if lyr.RasterLayer:
                    try:
                        lyr.reload()
                    except:
                        self.iface.messageBar().pushMessage('Error',
                        self.tr('Raster data was deleted from the view.'),
                        Qgis.Critical,
                        duration = 3
                        )
                        return
                else:
                    lyr.dataProvider().deleteFeatures(lyr.allFeatureIds())
                try:
                    self.plugin.unregisterLayer(lyr)
                except TypeError:
                    pass
                layer_meta = self.plugin.loadLayer(lyr)
                lyr.triggerRepaint()
        item.items = layers[:]
        item.updateData(layer_meta)
    
    def showMenu(self, point):
        index = self.tvData.indexAt(point)
        item = index.data(role=Qt.UserRole)
        menu = QMenu(self)
        if isinstance(item, LayerItem):
            #Layer menu
            if isinstance(item, TableItem):
                menu.addAction(QgsApplication.getThemeIcon('/mActionAddMap.png'), self.tr('Add layer'), lambda: self.addLayer(index))
                if type(item) is VectorItem:
                    open_as_menu = menu.addMenu(QgsApplication.getThemeIcon('/mActionAddOgrLayer.svg'), self.tr("Add layer as..."))
                    load_layer_as = partial(self.plugin.loadLayerType, item=item)
                    open_as_menu.addAction(QgsApplication.getThemeIcon('/mIconPointLayer.svg'), self.tr('Points'), lambda: load_layer_as(geom_type='MultiPoint'))
                    open_as_menu.addAction(QgsApplication.getThemeIcon('/mIconLineLayer.svg'), self.tr('Linestring'), lambda: load_layer_as(geom_type='MultiLineString'))
                    open_as_menu.addAction(QgsApplication.getThemeIcon('/mIconPolygonLayer.svg'), self.tr('Polygons'), lambda: load_layer_as(geom_type='MultiPolygon'))
            elif isinstance(item, RasterItem):
                menu.addAction(QgsApplication.getThemeIcon('/mActionAddMap.png'), self.tr('Download raster'), lambda: self.downloadRaster(index))
            menu.addAction(QgsApplication.getThemeIcon('/mActionToggleEditing.svg'), self.tr('Change layer name...'), lambda: self.editLayerName(index))
            if item.items:
                menu.addAction(QgsApplication.getThemeIcon('/mActionDraw.svg'), self.tr('Reload data'), lambda: self.refreshData(item))
        elif isinstance(item, ProjectItem):
            menu.addAction(QgsApplication.getThemeIcon('/mActionAddGroup.png'), self.tr(u'Add all layers from project'), lambda: self.addProjectData(index))
            menu.addAction(QgsApplication.getThemeIcon('/mActionDraw.svg'), self.tr(u'Refresh items'), lambda: self.refreshItems(index))
        menu.popup(self.tvData.viewport().mapToGlobal(point))
    
    def layersRemoved(self, layers):
        removed_ids = set([])
        model = self.tvData.model().sourceModel()
        for lid in layers:
            layer = QgsProject.instance().mapLayer(lid)
            divi_id = layer.customProperty('DiviId')
            if divi_id is None:
                continue
            QgsMessageLog.logMessage(self.tr('Removing layer %s')%layer.name(), 'DIVI')
            item_type = self.plugin.getItemType(layer)
            layerIndex = model.findItem(divi_id, item_type, True)
            if layerIndex is None:
                continue
            layerItem = layerIndex.data(role=Qt.UserRole)
            if layer in layerItem.items:
                layerItem.items.remove(layer)
                self.plugin.unregisterLayer(layer)
                model.dataChanged.emit(layerIndex, layerIndex)
    
    def searchData(self, text):
        self.tvData.model().setFilterRegExp(QRegExp(text, Qt.CaseInsensitive, QRegExp.FixedString))
        if text:
            self.tvData.expandAll()
        else:
            self.tvData.collapseAll()
    
    def setSearchFilter(self, value):
        settings = QSettings()
        settings.setValue( '{}/filters/vectors'.format(CONFIG_NAME), self.cbVectors.isChecked() )
        settings.setValue( '{}/filters/tables'.format(CONFIG_NAME), self.cbTables.isChecked() )
        settings.setValue( '{}/filters/rasters'.format(CONFIG_NAME), self.cbRasters.isChecked() )
        settings.setValue( '{}/filters/wms'.format(CONFIG_NAME), self.cbWms.isChecked() )
        settings.setValue( '{}/filters/basmeaps'.format(CONFIG_NAME), self.cbBasemaps.isChecked() )
        filters = ['loading']
        if self.cbVectors.isChecked():
            filters.append('vector')
        if self.cbTables.isChecked():
            filters.append('table')
        if self.cbRasters.isChecked():
            filters.append('raster')
        if self.cbWms.isChecked():
            filters.append('wms')
        if self.cbBasemaps.isChecked():
            filters.append('basemap')
        self.tvData.model().types = filters
        self.tvData.model().invalidateFilter()
    
    def toggleFilters(self, collapsed):
        # fix_print_with_import
        print(collapsed)
        QSettings().setValue( '{}/filters/filters'.format(CONFIG_NAME), not collapsed )
    
    def editLayerName(self, index):
        item = index.data(role=Qt.UserRole)
        name, status = QInputDialog.getText(self, self.tr('Change name'),
            self.tr('Enter new layer name for %s') % item.name,
            text = item.name)
        if status and name != item.name:
            result = self.editLayerMetadata(item, {'name':name})
            if result['layer']['name'] == name:
                self.iface.messageBar().pushMessage('DIVI',
                    self.tr('Name of layer %s was changed to %s.') % (item.name, name),
                    duration = 3
                )
                item.name = name
                index.model().dataChanged.emit(index, index)
            else:
                self.iface.messageBar().pushMessage('DIVI',
                    self.tr('Error occured while changing name.'),
                    Qgis.Critical,
                    duration = 3
                )
    
    def editLayerMetadata(self, item, data):
        connector = self.getConnector()
        if type(item) is TableItem:
            item_type = 'table'
        else:
            item_type = 'vector'
        return connector.updateLayer(item.id, data, item_type=item_type)
    
    def addProjectData(self, index):
        item = index.data( role=Qt.UserRole )
        layers = []
        for i, data in enumerate(item.childItems):
            if isinstance(data, LayerItem):
                layers.extend( self.addLayer( index.child(i, 0), addToMap=False ) )
        if layers:
            idx2 = QgsProject.instance().layerTreeRoot().addGroup(item.name)
            #idx = self.iface.legendInterface().addGroup(item.name, True)
            #for layer in reversed(layers):
                #self.iface.legendInterface().moveLayer(layer, idx)
            for layer in layers:
                idx2.addLayer(layer)

    
    def refreshItems(self, index):
        if index is None:
            return
        index = self.tvData.model().mapToSource(index)
        item = index.data( role=Qt.UserRole )
        if isinstance(item, TableItem):
            self.plugin.loadLayers(item.items)
            return
        elif isinstance(item, LayerItem):
            return
        connector = self.getConnector()
        model = self.tvData.model().sourceModel()
        self.unregisterLayers(item)
        model.removeRows(0, item.childCount(),index)
        layers, tables = connector.diviGetProjectItems(projectid=item.id)
        model.addProjectItems(item, layers, tables)
        self.getLoadedDiviLayers()
    
    def downloadRaster(self, index):
        item = index.data(Qt.UserRole)
        filePath = getSavePath( '%s.tiff' % item.name )
        if filePath is None:
            return
        connector = self.getConnector()
        fileData = connector.downloadRaster( item.id )
        filePath = str(filePath).split(',')[0].replace("'", "").replace("(", "")\
            +str(str(filePath).split(',')[1]).strip().replace("'", "").replace(")", "")
        
        try:
            with open(filePath, 'wb') as f:
                f.write(fileData)
        except:
            pass
    
    def unregisterLayers(self, item):
        for child in item.childItems:
            for layer in child.items:
                self.plugin.unregisterLayer(layer)