Ejemplo n.º 1
0
    def process_gpx_files(self):
        if self.gpx_files is not None and len(self.gpx_files) > 0:

            progress_message_bar = self.iface.messageBar().createMessage("Create gpx segments...")
            progress = QtWidgets.QProgressBar()
            progress.setMaximum(len(self.gpx_files))
            progress_message_bar.layout().addWidget(progress)
            self.iface.messageBar().pushWidget(progress_message_bar, Qgis.Info)

            overwrite = False
            use_wgs84 = True  # if self.dlg.chkUseWgs84.isChecked() else False
            calculate_motion_attributes = True if self.dlg.chkCalculateMotionAttributes.isChecked() else False
            attribute_select = "Both"
            if self.dlg.radioButtonFirst.isChecked():
                attribute_select = "First"
            elif self.dlg.radioButtonLast.isChecked():
                attribute_select = "Last"

            i = 0
            for gpx_file in self.gpx_files:
                layer = self.gpx_file_reader.import_gpx_file(gpx_file, self.output_directory, attribute_select,
                                                             use_wgs84, calculate_motion_attributes, overwrite)
                if layer is not None:
                    QgsProject.instance().addMapLayer(layer)

                self.dlg.lblFeedback.setText(self.gpx_file_reader.error_message)

                i += 1
                progress.setValue(i)
                if i == len(self.gpx_files):
                    self.iface.messageBar().clearWidgets()

                if self.gpx_file_reader.equal_coordinates > 0:
                    self.iface.messageBar().pushMessage("Error", 'Cannot create ' +
                                                        str(self.gpx_file_reader.equal_coordinates) +
                                                        ' segments because of equal coordinates', level=Qgis.Warning)

                if self.gpx_file_reader.error_message != '':
                    self.iface.messageBar().pushMessage("Error", self.gpx_file_reader.error_message,
                                                        level=Qgis.CRITICAL)
Ejemplo n.º 2
0
    def createGroupBox(cls, module_name, box_header, project, params,
                       param_show_list):
        box = QtWidgets.QGroupBox(box_header)
        scroll = QtWidgets.QScrollArea()
        scroll.setWidget(box)
        scroll.setFrameShape(QtWidgets.QFrame.NoFrame)
        scroll.setWidgetResizable(True)
        status = QtWidgets.QListWidgetItem("hidden status")
        mod = cls(execName=os.path.join(project.opalspath,
                                        module_name + ".exe"),
                  QpalsProject=project)
        mod.listitem = status
        mod.load()
        for p in mod.params:
            if p.name in params:
                p.val = params[p.name]
                p.changed = True
        ui = mod.getFilteredParamUi(filter=param_show_list)
        advancedBox = QCollapsibleGroupBox.QCollapsibleGroupBox(
            "Advanced options")
        advancedBox.setChecked(False)
        ui.addRow(advancedBox)
        advancedLa = mod.getFilteredParamUi(notfilter=param_show_list)
        advancedBox.setLayout(advancedLa)
        runbar = QtWidgets.QHBoxLayout()
        runprogress = QtWidgets.QProgressBar()
        mod.progressbar = runprogress
        mod.runbtn = QtWidgets.QPushButton("Run module")
        mod.runbtn.clicked.connect(mod.run_async_self)
        runbar.addWidget(runprogress)
        runbar.addWidget(mod.runbtn)
        ui.addRow(runbar)
        box.setLayout(ui)
        height = box.minimumSizeHint().height()
        scroll.setFixedHeight(height + 10)

        return mod, scroll
    def setupUi(self, MainApp):
        MainApp.setObjectName(_fromUtf8("MainApp"))
        MainApp.resize(918, 332)
        MainApp.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.centralWidget = QtWidgets.QWidget(MainApp)
        self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
        self.gridLayout_4 = QtWidgets.QGridLayout(self.centralWidget)
        self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
        self.splitter = QtWidgets.QSplitter(self.centralWidget)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.stackedWidget = QtWidgets.QStackedWidget(self.splitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth())
        self.stackedWidget.setSizePolicy(sizePolicy)
        self.stackedWidget.setObjectName(_fromUtf8("stackedWidget"))
        self.importPage = QtWidgets.QWidget()
        self.importPage.setObjectName(_fromUtf8("importPage"))
        self.gridLayout_10 = QtWidgets.QGridLayout(self.importPage)
        self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
        self.scrollArea_5 = QtWidgets.QScrollArea(self.importPage)
        self.scrollArea_5.setWidgetResizable(True)
        self.scrollArea_5.setObjectName(_fromUtf8("scrollArea_5"))
        self.scrollAreaWidgetContents_5 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 409, 294))
        self.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
        self.gridLayout_11 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_5)
        self.gridLayout_11.setObjectName(_fromUtf8("gridLayout_11"))
        self.widget = QtWidgets.QWidget(self.scrollAreaWidgetContents_5)
        self.widget.setObjectName(_fromUtf8("widget"))
        self.gridLayout_17 = QtWidgets.QGridLayout(self.widget)
        self.gridLayout_17.setMargin(0)
        self.gridLayout_17.setObjectName(_fromUtf8("gridLayout_17"))
        self.groupBox = QtWidgets.QGroupBox(self.widget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
        self.groupBox.setSizePolicy(sizePolicy)
        self.groupBox.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.groupBox.setFlat(False)
        self.groupBox.setCheckable(False)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.groupBox)
        self.horizontalLayout_6.setSpacing(6)
        self.horizontalLayout_6.setContentsMargins(9, 7, -1, 0)
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.rb_file = QtWidgets.QRadioButton(self.groupBox)
        self.rb_file.setChecked(True)
        self.rb_file.setObjectName(_fromUtf8("rb_file"))
        self.horizontalLayout_6.addWidget(self.rb_file)
        self.rb_directory = QtWidgets.QRadioButton(self.groupBox)
        self.rb_directory.setObjectName(_fromUtf8("rb_directory"))
        self.horizontalLayout_6.addWidget(self.rb_directory)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem)
        self.gridLayout_17.addWidget(self.groupBox, 0, 0, 1, 1)
        spacerItem1 = QtWidgets.QSpacerItem(20, 13, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_17.addItem(spacerItem1, 2, 0, 1, 1)
        self.gridLayout_12 = QtWidgets.QGridLayout()
        self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
        self.pb_nextFile = QtWidgets.QPushButton(self.widget)
        self.pb_nextFile.setMinimumSize(QtCore.QSize(0, 0))
        self.pb_nextFile.setMaximumSize(QtCore.QSize(27, 27))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setUnderline(False)
        font.setWeight(75)
        font.setStrikeOut(False)
        font.setKerning(False)
        self.pb_nextFile.setFont(font)
        self.pb_nextFile.setStyleSheet(_fromUtf8(""))
        self.pb_nextFile.setAutoRepeat(False)
        self.pb_nextFile.setAutoDefault(False)
        self.pb_nextFile.setDefault(False)
        self.pb_nextFile.setFlat(False)
        self.pb_nextFile.setObjectName(_fromUtf8("pb_nextFile"))
        self.gridLayout_12.addWidget(self.pb_nextFile, 0, 2, 1, 1)
        self.label_2 = QtWidgets.QLabel(self.widget)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout_12.addWidget(self.label_2, 1, 0, 1, 1)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.vfkFileLineEdit = QtWidgets.QLineEdit(self.widget)
        self.vfkFileLineEdit.setObjectName(_fromUtf8("vfkFileLineEdit"))
        self.horizontalLayout_3.addWidget(self.vfkFileLineEdit)
        self.browseButton = QtWidgets.QPushButton(self.widget)
        self.browseButton.setObjectName(_fromUtf8("browseButton"))
        self.horizontalLayout_3.addWidget(self.browseButton)
        self.gridLayout_12.addLayout(self.horizontalLayout_3, 0, 1, 1, 1)
        self.budCheckBox = QtWidgets.QCheckBox(self.widget)
        self.budCheckBox.setChecked(True)
        self.budCheckBox.setObjectName(_fromUtf8("budCheckBox"))
        self.gridLayout_12.addWidget(self.budCheckBox, 2, 1, 1, 1)
        self.label = QtWidgets.QLabel(self.widget)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout_12.addWidget(self.label, 0, 0, 1, 1)
        self.parCheckBox = QtWidgets.QCheckBox(self.widget)
        self.parCheckBox.setChecked(True)
        self.parCheckBox.setObjectName(_fromUtf8("parCheckBox"))
        self.gridLayout_12.addWidget(self.parCheckBox, 1, 1, 1, 1)
        self.l_settings = QtWidgets.QLabel(self.widget)
        self.l_settings.setMinimumSize(QtCore.QSize(69, 0))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.l_settings.setFont(font)
        self.l_settings.setObjectName(_fromUtf8("l_settings"))
        self.gridLayout_12.addWidget(self.l_settings, 3, 0, 1, 1)
        self.overwriteCheckBox = QtWidgets.QCheckBox(self.widget)
        self.overwriteCheckBox.setChecked(False)
        self.overwriteCheckBox.setObjectName(_fromUtf8("overwriteCheckBox"))
        self.gridLayout_12.addWidget(self.overwriteCheckBox, 3, 1, 1, 1)
        self.gridLayout_17.addLayout(self.gridLayout_12, 1, 0, 1, 1)
        self.labelLoading = QtWidgets.QLabel(self.widget)
        self.labelLoading.setText(_fromUtf8(""))
        self.labelLoading.setObjectName(_fromUtf8("labelLoading"))
        self.gridLayout_17.addWidget(self.labelLoading, 3, 0, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.progressBar = QtWidgets.QProgressBar(self.widget)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName(_fromUtf8("progressBar"))
        self.horizontalLayout_2.addWidget(self.progressBar)
        self.loadVfkButton = QtWidgets.QPushButton(self.widget)
        self.loadVfkButton.setObjectName(_fromUtf8("loadVfkButton"))
        self.horizontalLayout_2.addWidget(self.loadVfkButton)
        self.gridLayout_17.addLayout(self.horizontalLayout_2, 4, 0, 1, 1)
        self.gridLayout_11.addWidget(self.widget, 1, 0, 1, 1)
        self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_5)
        self.gridLayout_10.addWidget(self.scrollArea_5, 0, 0, 1, 1)
        self.stackedWidget.addWidget(self.importPage)
        self.changesPage = QtWidgets.QWidget()
        self.changesPage.setObjectName(_fromUtf8("changesPage"))
        self.gridLayout_15 = QtWidgets.QGridLayout(self.changesPage)
        self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
        self.scrollArea_6 = QtWidgets.QScrollArea(self.changesPage)
        self.scrollArea_6.setWidgetResizable(True)
        self.scrollArea_6.setObjectName(_fromUtf8("scrollArea_6"))
        self.scrollAreaWidgetContents_6 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 269, 194))
        self.scrollAreaWidgetContents_6.setObjectName(_fromUtf8("scrollAreaWidgetContents_6"))
        self.gridLayout_16 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_6)
        self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
        self.widget_3 = QtWidgets.QWidget(self.scrollAreaWidgetContents_6)
        self.widget_3.setObjectName(_fromUtf8("widget_3"))
        self.gridLayout_14 = QtWidgets.QGridLayout(self.widget_3)
        self.gridLayout_14.setMargin(0)
        self.gridLayout_14.setObjectName(_fromUtf8("gridLayout_14"))
        self.gridLayout_13 = QtWidgets.QGridLayout()
        self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
        self.label_4 = QtWidgets.QLabel(self.widget_3)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.gridLayout_13.addWidget(self.label_4, 0, 0, 1, 1)
        self.le_mainDb = QtWidgets.QLineEdit(self.widget_3)
        self.le_mainDb.setObjectName(_fromUtf8("le_mainDb"))
        self.gridLayout_13.addWidget(self.le_mainDb, 0, 1, 1, 1)
        self.pb_mainDb = QtWidgets.QPushButton(self.widget_3)
        self.pb_mainDb.setObjectName(_fromUtf8("pb_mainDb"))
        self.gridLayout_13.addWidget(self.pb_mainDb, 0, 2, 1, 1)
        self.label_5 = QtWidgets.QLabel(self.widget_3)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout_13.addWidget(self.label_5, 1, 0, 1, 1)
        self.le_amendmentDb = QtWidgets.QLineEdit(self.widget_3)
        self.le_amendmentDb.setObjectName(_fromUtf8("le_amendmentDb"))
        self.gridLayout_13.addWidget(self.le_amendmentDb, 1, 1, 1, 1)
        self.pb_amendmentDb = QtWidgets.QPushButton(self.widget_3)
        self.pb_amendmentDb.setObjectName(_fromUtf8("pb_amendmentDb"))
        self.gridLayout_13.addWidget(self.pb_amendmentDb, 1, 2, 1, 1)
        self.label_6 = QtWidgets.QLabel(self.widget_3)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridLayout_13.addWidget(self.label_6, 2, 0, 1, 1)
        self.le_exportDb = QtWidgets.QLineEdit(self.widget_3)
        self.le_exportDb.setObjectName(_fromUtf8("le_exportDb"))
        self.gridLayout_13.addWidget(self.le_exportDb, 2, 1, 1, 1)
        self.pb_exportDb = QtWidgets.QPushButton(self.widget_3)
        self.pb_exportDb.setObjectName(_fromUtf8("pb_exportDb"))
        self.gridLayout_13.addWidget(self.pb_exportDb, 2, 2, 1, 1)
        self.gridLayout_14.addLayout(self.gridLayout_13, 0, 0, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(20, 38, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_14.addItem(spacerItem2, 1, 0, 1, 1)
        self.l_status = QtWidgets.QLabel(self.widget_3)
        self.l_status.setText(_fromUtf8(""))
        self.l_status.setObjectName(_fromUtf8("l_status"))
        self.gridLayout_14.addWidget(self.l_status, 2, 0, 1, 1)
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.progressBar_Changes = QtWidgets.QProgressBar(self.widget_3)
        self.progressBar_Changes.setProperty("value", 0)
        self.progressBar_Changes.setObjectName(_fromUtf8("progressBar_Changes"))
        self.horizontalLayout_5.addWidget(self.progressBar_Changes)
        self.pb_applyChanges = QtWidgets.QPushButton(self.widget_3)
        self.pb_applyChanges.setObjectName(_fromUtf8("pb_applyChanges"))
        self.horizontalLayout_5.addWidget(self.pb_applyChanges)
        self.gridLayout_14.addLayout(self.horizontalLayout_5, 3, 0, 1, 1)
        self.gridLayout_16.addWidget(self.widget_3, 0, 0, 1, 1)
        self.scrollArea_6.setWidget(self.scrollAreaWidgetContents_6)
        self.gridLayout_15.addWidget(self.scrollArea_6, 0, 0, 1, 1)
        self.stackedWidget.addWidget(self.changesPage)
        self.searchPage = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.searchPage.sizePolicy().hasHeightForWidth())
        self.searchPage.setSizePolicy(sizePolicy)
        self.searchPage.setObjectName(_fromUtf8("searchPage"))
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.searchPage)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.label_3 = QtWidgets.QLabel(self.searchPage)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
        self.label_3.setSizePolicy(sizePolicy)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.horizontalLayout_4.addWidget(self.label_3)
        self.searchCombo = QtWidgets.QComboBox(self.searchPage)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.searchCombo.sizePolicy().hasHeightForWidth())
        self.searchCombo.setSizePolicy(sizePolicy)
        self.searchCombo.setObjectName(_fromUtf8("searchCombo"))
        self.horizontalLayout_4.addWidget(self.searchCombo)
        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
        self.searchForms = QtWidgets.QStackedWidget(self.searchPage)
        self.searchForms.setObjectName(_fromUtf8("searchForms"))
        self.page = QtWidgets.QWidget()
        self.page.setObjectName(_fromUtf8("page"))
        self.gridLayout = QtWidgets.QGridLayout(self.page)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.scrollArea = QtWidgets.QScrollArea(self.page)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 48, 28))
        self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
        self.gridLayout_5 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
        self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
        self.vlastniciSearchForm = VlastniciSearchForm(self.scrollAreaWidgetContents)
        self.vlastniciSearchForm.setObjectName(_fromUtf8("vlastniciSearchForm"))
        self.gridLayout_5.addWidget(self.vlastniciSearchForm, 0, 0, 1, 1)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.gridLayout.addWidget(self.scrollArea, 0, 0, 1, 1)
        self.searchForms.addWidget(self.page)
        self.page_2 = QtWidgets.QWidget()
        self.page_2.setObjectName(_fromUtf8("page_2"))
        self.gridLayout_6 = QtWidgets.QGridLayout(self.page_2)
        self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
        self.scrollArea_3 = QtWidgets.QScrollArea(self.page_2)
        self.scrollArea_3.setWidgetResizable(True)
        self.scrollArea_3.setObjectName(_fromUtf8("scrollArea_3"))
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 66, 28))
        self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2"))
        self.gridLayout_7 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
        self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
        self.parcelySearchForm = ParcelySearchForm(self.scrollAreaWidgetContents_2)
        self.parcelySearchForm.setObjectName(_fromUtf8("parcelySearchForm"))
        self.gridLayout_7.addWidget(self.parcelySearchForm, 0, 0, 1, 1)
        self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_2)
        self.gridLayout_6.addWidget(self.scrollArea_3, 0, 0, 1, 1)
        self.searchForms.addWidget(self.page_2)
        self.page_3 = QtWidgets.QWidget()
        self.page_3.setObjectName(_fromUtf8("page_3"))
        self.gridLayout_2 = QtWidgets.QGridLayout(self.page_3)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.scrollArea_2 = QtWidgets.QScrollArea(self.page_3)
        self.scrollArea_2.setWidgetResizable(True)
        self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2"))
        self.scrollAreaWidgetContents_3 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 66, 28))
        self.scrollAreaWidgetContents_3.setObjectName(_fromUtf8("scrollAreaWidgetContents_3"))
        self.gridLayout_3 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_3)
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.budovySearchForm = BudovySearchForm(self.scrollAreaWidgetContents_3)
        self.budovySearchForm.setObjectName(_fromUtf8("budovySearchForm"))
        self.gridLayout_3.addWidget(self.budovySearchForm, 0, 0, 1, 1)
        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_3)
        self.gridLayout_2.addWidget(self.scrollArea_2, 0, 0, 1, 1)
        self.searchForms.addWidget(self.page_3)
        self.page_4 = QtWidgets.QWidget()
        self.page_4.setObjectName(_fromUtf8("page_4"))
        self.gridLayout_8 = QtWidgets.QGridLayout(self.page_4)
        self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
        self.scrollArea_4 = QtWidgets.QScrollArea(self.page_4)
        self.scrollArea_4.setWidgetResizable(True)
        self.scrollArea_4.setObjectName(_fromUtf8("scrollArea_4"))
        self.scrollAreaWidgetContents_4 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 66, 28))
        self.scrollAreaWidgetContents_4.setObjectName(_fromUtf8("scrollAreaWidgetContents_4"))
        self.gridLayout_9 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_4)
        self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
        self.jednotkySearchForm = JednotkySearchForm(self.scrollAreaWidgetContents_4)
        self.jednotkySearchForm.setObjectName(_fromUtf8("jednotkySearchForm"))
        self.gridLayout_9.addWidget(self.jednotkySearchForm, 0, 0, 1, 1)
        self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_4)
        self.gridLayout_8.addWidget(self.scrollArea_4, 0, 0, 1, 1)
        self.searchForms.addWidget(self.page_4)
        self.verticalLayout_3.addWidget(self.searchForms)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem3)
        self.searchButton = QtWidgets.QPushButton(self.searchPage)
        self.searchButton.setObjectName(_fromUtf8("searchButton"))
        self.horizontalLayout.addWidget(self.searchButton)
        self.verticalLayout_3.addLayout(self.horizontalLayout)
        self.stackedWidget.addWidget(self.searchPage)
        self.widget_2 = QtWidgets.QWidget(self.splitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(3)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
        self.widget_2.setSizePolicy(sizePolicy)
        self.widget_2.setObjectName(_fromUtf8("widget_2"))
        self.rightWidgetLayout = QtWidgets.QVBoxLayout(self.widget_2)
        self.rightWidgetLayout.setMargin(0)
        self.rightWidgetLayout.setObjectName(_fromUtf8("rightWidgetLayout"))
        self.vfkBrowser = VfkTextBrowser(self.widget_2)
        self.vfkBrowser.setObjectName(_fromUtf8("vfkBrowser"))
        self.rightWidgetLayout.addWidget(self.vfkBrowser)
        self.gridLayout_4.addWidget(self.splitter, 0, 1, 1, 1)
        MainApp.setWidget(self.centralWidget)
        self.actionVyhledavani = QtWidgets.QAction(MainApp)
        self.actionVyhledavani.setCheckable(True)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/search.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionVyhledavani.setIcon(icon)
        self.actionVyhledavani.setObjectName(_fromUtf8("actionVyhledavani"))
        self.actionImport = QtWidgets.QAction(MainApp)
        self.actionImport.setCheckable(True)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/db-add.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionImport.setIcon(icon1)
        self.actionImport.setObjectName(_fromUtf8("actionImport"))
        self.actionBack = QtWidgets.QAction(MainApp)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/arrowBack.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionBack.setIcon(icon2)
        self.actionBack.setObjectName(_fromUtf8("actionBack"))
        self.actionForward = QtWidgets.QAction(MainApp)
        self.actionForward.setEnabled(True)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/arrowForward.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionForward.setIcon(icon3)
        self.actionForward.setObjectName(_fromUtf8("actionForward"))
        self.actionExportLatex = QtWidgets.QAction(MainApp)
        self.actionExportLatex.setObjectName(_fromUtf8("actionExportLatex"))
        self.actionExportHtml = QtWidgets.QAction(MainApp)
        self.actionExportHtml.setObjectName(_fromUtf8("actionExportHtml"))
        self.actionSelectParInMap = QtWidgets.QAction(MainApp)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/selectPar.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionSelectParInMap.setIcon(icon4)
        self.actionSelectParInMap.setObjectName(_fromUtf8("actionSelectParInMap"))
        self.actionSelectBudInMap = QtWidgets.QAction(MainApp)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/selectBud.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionSelectBudInMap.setIcon(icon5)
        self.actionSelectBudInMap.setObjectName(_fromUtf8("actionSelectBudInMap"))
        self.actionCuzkPage = QtWidgets.QAction(MainApp)
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/cuzk.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionCuzkPage.setIcon(icon6)
        self.actionCuzkPage.setObjectName(_fromUtf8("actionCuzkPage"))
        self.actionShowInfoaboutSelection = QtWidgets.QAction(MainApp)
        self.actionShowInfoaboutSelection.setCheckable(True)
        icon7 = QtGui.QIcon()
        icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/showInfo.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionShowInfoaboutSelection.setIcon(icon7)
        self.actionShowInfoaboutSelection.setObjectName(_fromUtf8("actionShowInfoaboutSelection"))
        self.actionShowHelpPage = QtWidgets.QAction(MainApp)
        icon8 = QtGui.QIcon()
        icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/vfkPlugin.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionShowHelpPage.setIcon(icon8)
        self.actionShowHelpPage.setObjectName(_fromUtf8("actionShowHelpPage"))
        self.actionZpracujZmeny = QtWidgets.QAction(MainApp)
        self.actionZpracujZmeny.setCheckable(True)
        icon9 = QtGui.QIcon()
        icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/applyChanges.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionZpracujZmeny.setIcon(icon9)
        self.actionZpracujZmeny.setObjectName(_fromUtf8("actionZpracujZmeny"))

        self.retranslateUi(MainApp)
        self.stackedWidget.setCurrentIndex(0)
        self.searchForms.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(MainApp)
Ejemplo n.º 4
0
    def setupUi(self, Refresh):
        Refresh.setObjectName(_fromUtf8("Refresh"))
        Refresh.resize(493, 249)
        self.gridLayout = QtWidgets.QGridLayout(Refresh)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.buttonBox = QtWidgets.QDialogButtonBox(Refresh)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.gridLayout.addWidget(self.buttonBox, 11, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 40,
                                           QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 10, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.unevaluatedCheckBox = QtWidgets.QCheckBox(Refresh)
        self.unevaluatedCheckBox.setObjectName(
            _fromUtf8("unevaluatedCheckBox"))
        self.horizontalLayout.addWidget(self.unevaluatedCheckBox)
        self.unevalutedDaysSpinBox = QtWidgets.QSpinBox(Refresh)
        self.unevalutedDaysSpinBox.setMinimum(1)
        self.unevalutedDaysSpinBox.setMaximum(9999)
        self.unevalutedDaysSpinBox.setProperty("value", 10)
        self.unevalutedDaysSpinBox.setObjectName(
            _fromUtf8("unevalutedDaysSpinBox"))
        self.horizontalLayout.addWidget(self.unevalutedDaysSpinBox)
        self.label_2 = QtWidgets.QLabel(Refresh)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.horizontalLayout.addWidget(self.label_2)
        self.gridLayout.addLayout(self.horizontalLayout, 4, 0, 1, 1)
        self.deletedLayersCheckBox = QtWidgets.QCheckBox(Refresh)
        self.deletedLayersCheckBox.setChecked(True)
        self.deletedLayersCheckBox.setObjectName(
            _fromUtf8("deletedLayersCheckBox"))
        self.gridLayout.addWidget(self.deletedLayersCheckBox, 5, 0, 1, 1)
        self.unrecordedCheckBox = QtWidgets.QCheckBox(Refresh)
        self.unrecordedCheckBox.setObjectName(_fromUtf8("unrecordedCheckBox"))
        self.gridLayout.addWidget(self.unrecordedCheckBox, 2, 0, 1, 1)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem1)
        self.cancelButton = QtWidgets.QPushButton(Refresh)
        self.cancelButton.setObjectName(_fromUtf8("cancelButton"))
        self.horizontalLayout_3.addWidget(self.cancelButton)
        self.refreshButton = QtWidgets.QPushButton(Refresh)
        self.refreshButton.setObjectName(_fromUtf8("refreshButton"))
        self.horizontalLayout_3.addWidget(self.refreshButton)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem2)
        self.gridLayout.addLayout(self.horizontalLayout_3, 7, 0, 1, 1)
        self.progressBar = QtWidgets.QProgressBar(Refresh)
        self.progressBar.setProperty("value", 24)
        self.progressBar.setObjectName(_fromUtf8("progressBar"))
        self.gridLayout.addWidget(self.progressBar, 9, 0, 1, 1)
        spacerItem3 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem3, 6, 0, 1, 1)
        self.selectionWidget = QtWidgets.QWidget(Refresh)
        self.selectionWidget.setObjectName(_fromUtf8("selectionWidget"))
        self.selectionLayout = QtWidgets.QHBoxLayout(self.selectionWidget)
        self.selectionLayout.setMargin(0)
        self.selectionLayout.setObjectName(_fromUtf8("selectionLayout"))
        self.label = QtWidgets.QLabel(self.selectionWidget)
        self.label.setObjectName(_fromUtf8("label"))
        self.selectionLayout.addWidget(self.label)
        self.selectionComboBox = QtWidgets.QComboBox(self.selectionWidget)
        self.selectionComboBox.setSizeAdjustPolicy(
            QtWidgets.QComboBox.AdjustToContents)
        self.selectionComboBox.setObjectName(_fromUtf8("selectionComboBox"))
        self.selectionComboBox.addItem(_fromUtf8(""))
        self.selectionComboBox.addItem(_fromUtf8(""))
        self.selectionLayout.addWidget(self.selectionComboBox)
        spacerItem4 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.selectionLayout.addItem(spacerItem4)
        self.gridLayout.addWidget(self.selectionWidget, 1, 0, 1, 1)

        self.retranslateUi(Refresh)
        #        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Refresh.accept)
        #        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Refresh.reject)
        self.buttonBox.accepted.connect(Refresh.accept)
        self.buttonBox.rejected.connect(Refresh.reject)
        QtCore.QMetaObject.connectSlotsByName(Refresh)
Ejemplo n.º 5
0
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.setEnabled(True)
        Dialog.resize(627, 490)
        Dialog.setFocusPolicy(QtCore.Qt.NoFocus)
        Dialog.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/icons/tableManagerIcon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Dialog.setWindowIcon(icon)
        Dialog.setSizeGripEnabled(True)
        self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.tabWidget = QtWidgets.QTabWidget(Dialog)
        self.tabWidget.setMinimumSize(QtCore.QSize(0, 0))
        self.tabWidget.setAutoFillBackground(True)
        self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded)
        self.tabWidget.setElideMode(QtCore.Qt.ElideNone)
        self.tabWidget.setUsesScrollButtons(False)
        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
        self.tab_1 = QtWidgets.QWidget()
        self.tab_1.setObjectName(_fromUtf8("tab_1"))
        self.gridlayout = QtWidgets.QGridLayout(self.tab_1)
        self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
        self.fieldsTable = QtWidgets.QTableWidget(self.tab_1)
        self.fieldsTable.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.fieldsTable.sizePolicy().hasHeightForWidth())
        self.fieldsTable.setSizePolicy(sizePolicy)
        self.fieldsTable.setMinimumSize(QtCore.QSize(0, 280))
        self.fieldsTable.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.fieldsTable.setEditTriggers(QtWidgets.QAbstractItemView.AnyKeyPressed|QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
        self.fieldsTable.setDragDropMode(QtWidgets.QAbstractItemView.NoDragDrop)
        self.fieldsTable.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.fieldsTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.fieldsTable.setGridStyle(QtCore.Qt.DotLine)
        self.fieldsTable.setWordWrap(False)
        self.fieldsTable.setCornerButtonEnabled(False)
        self.fieldsTable.setRowCount(0)
        self.fieldsTable.setColumnCount(2)
        self.fieldsTable.setObjectName(_fromUtf8("fieldsTable"))
        item = QtWidgets.QTableWidgetItem()
        self.fieldsTable.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.fieldsTable.setHorizontalHeaderItem(1, item)
        self.gridlayout.addWidget(self.fieldsTable, 0, 0, 1, 1)
        self.vboxlayout = QtWidgets.QVBoxLayout()
        self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
        self.butUp = QtWidgets.QToolButton(self.tab_1)
        self.butUp.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.butUp.sizePolicy().hasHeightForWidth())
        self.butUp.setSizePolicy(sizePolicy)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/crystalsvg_1uparrow.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butUp.setIcon(icon1)
        self.butUp.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.butUp.setObjectName(_fromUtf8("butUp"))
        self.vboxlayout.addWidget(self.butUp)
        self.butDown = QtWidgets.QToolButton(self.tab_1)
        self.butDown.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.butDown.sizePolicy().hasHeightForWidth())
        self.butDown.setSizePolicy(sizePolicy)
        self.butDown.setMinimumSize(QtCore.QSize(120, 0))
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/crystalsvg_1downarrow.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butDown.setIcon(icon2)
        self.butDown.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.butDown.setObjectName(_fromUtf8("butDown"))
        self.vboxlayout.addWidget(self.butDown)
        self.butRename = QtWidgets.QToolButton(self.tab_1)
        self.butRename.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.butRename.sizePolicy().hasHeightForWidth())
        self.butRename.setSizePolicy(sizePolicy)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/tableManagerIcon3.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butRename.setIcon(icon3)
        self.butRename.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.butRename.setObjectName(_fromUtf8("butRename"))
        self.vboxlayout.addWidget(self.butRename)
        self.butIns = QtWidgets.QToolButton(self.tab_1)
        self.butIns.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.butIns.sizePolicy().hasHeightForWidth())
        self.butIns.setSizePolicy(sizePolicy)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/mActionNewAttribute.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butIns.setIcon(icon4)
        self.butIns.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.butIns.setObjectName(_fromUtf8("butIns"))
        self.vboxlayout.addWidget(self.butIns)
        self.butClone = QtWidgets.QToolButton(self.tab_1)
        self.butClone.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.butClone.sizePolicy().hasHeightForWidth())
        self.butClone.setSizePolicy(sizePolicy)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/mActionCopySelected.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butClone.setIcon(icon5)
        self.butClone.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.butClone.setObjectName(_fromUtf8("butClone"))
        self.vboxlayout.addWidget(self.butClone)
        spacerItem = QtWidgets.QSpacerItem(20, 24, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.vboxlayout.addItem(spacerItem)
        self.butDel = QtWidgets.QToolButton(self.tab_1)
        self.butDel.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.butDel.sizePolicy().hasHeightForWidth())
        self.butDel.setSizePolicy(sizePolicy)
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(150, 147, 145))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, brush)
        self.butDel.setPalette(palette)
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/mActionDeleteAttribute.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butDel.setIcon(icon6)
        self.butDel.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.butDel.setObjectName(_fromUtf8("butDel"))
        self.vboxlayout.addWidget(self.butDel)
        spacerItem1 = QtWidgets.QSpacerItem(120, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.vboxlayout.addItem(spacerItem1)
        self.gridlayout.addLayout(self.vboxlayout, 0, 1, 1, 1)
        self.tabWidget.addTab(self.tab_1, _fromUtf8(""))
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.gridlayout1 = QtWidgets.QGridLayout(self.tab_2)
        self.gridlayout1.setObjectName(_fromUtf8("gridlayout1"))
        self.dataTable = QtWidgets.QTableWidget(self.tab_2)
        self.dataTable.setEnabled(True)
        self.dataTable.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
        self.dataTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectColumns)
        self.dataTable.setGridStyle(QtCore.Qt.DotLine)
        self.dataTable.setWordWrap(False)
        self.dataTable.setCornerButtonEnabled(False)
        self.dataTable.setObjectName(_fromUtf8("dataTable"))
        self.dataTable.setColumnCount(0)
        self.dataTable.setRowCount(0)
        self.gridlayout1.addWidget(self.dataTable, 0, 0, 1, 1)
        self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName(_fromUtf8("tab_3"))
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab_3)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.verticalLayout_2.addItem(spacerItem2)
        self.label = QtWidgets.QLabel(self.tab_3)
        self.label.setWordWrap(True)
        self.label.setObjectName(_fromUtf8("label"))
        self.verticalLayout_2.addWidget(self.label)
        spacerItem3 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.verticalLayout_2.addItem(spacerItem3)
        self.label_2 = QtWidgets.QLabel(self.tab_3)
        self.label_2.setWordWrap(True)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.verticalLayout_2.addWidget(self.label_2)
        spacerItem4 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.verticalLayout_2.addItem(spacerItem4)
        self.cbWarning = QtWidgets.QCheckBox(self.tab_3)
        self.cbWarning.setChecked(True)
        self.cbWarning.setObjectName(_fromUtf8("cbWarning"))
        self.verticalLayout_2.addWidget(self.cbWarning)
        spacerItem5 = QtWidgets.QSpacerItem(20, 272, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem5)
        self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
        self.verticalLayout.addWidget(self.tabWidget)
        self.hboxlayout = QtWidgets.QHBoxLayout()
        self.hboxlayout.setObjectName(_fromUtf8("hboxlayout"))
        spacerItem6 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem6)
        self.progressBar = QtWidgets.QProgressBar(Dialog)
        self.progressBar.setEnabled(True)
        self.progressBar.setAlignment(QtCore.Qt.AlignHCenter)
        self.progressBar.setTextVisible(True)
        self.progressBar.setOrientation(QtCore.Qt.Horizontal)
        self.progressBar.setInvertedAppearance(False)
        self.progressBar.setTextDirection(QtWidgets.QProgressBar.TopToBottom)
        self.progressBar.setFormat(_fromUtf8(""))
        self.progressBar.setObjectName(_fromUtf8("progressBar"))
        self.hboxlayout.addWidget(self.progressBar)
        spacerItem7 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem7)
        self.butSave = QtWidgets.QPushButton(Dialog)
        self.butSave.setEnabled(False)
        self.butSave.setMinimumSize(QtCore.QSize(0, 32))
        palette = QtGui.QPalette()
        self.butSave.setPalette(palette)
        self.butSave.setStatusTip(_fromUtf8(""))
        self.butSave.setWhatsThis(_fromUtf8(""))
        self.butSave.setAccessibleDescription(_fromUtf8(""))
        icon7 = QtGui.QIcon()
        icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/mActionFileSave.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butSave.setIcon(icon7)
        self.butSave.setObjectName(_fromUtf8("butSave"))
        self.hboxlayout.addWidget(self.butSave)
        self.butSaveAs = QtWidgets.QPushButton(Dialog)
        self.butSaveAs.setEnabled(False)
        self.butSaveAs.setMinimumSize(QtCore.QSize(0, 32))
        icon8 = QtGui.QIcon()
        icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/plugins/tableManager/dialog/icons/mActionFileSaveAs.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butSaveAs.setIcon(icon8)
        self.butSaveAs.setObjectName(_fromUtf8("butSaveAs"))
        self.hboxlayout.addWidget(self.butSaveAs)
        spacerItem8 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem8)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.buttonBox.sizePolicy().hasHeightForWidth())
        self.buttonBox.setSizePolicy(sizePolicy)
        self.buttonBox.setMinimumSize(QtCore.QSize(0, 32))
        self.buttonBox.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.buttonBox.setAutoFillBackground(False)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close)
        self.buttonBox.setCenterButtons(False)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.hboxlayout.addWidget(self.buttonBox)
        spacerItem9 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem9)
        self.verticalLayout.addLayout(self.hboxlayout)

        self.retranslateUi(Dialog)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.buttonBox, self.tabWidget)
        Dialog.setTabOrder(self.tabWidget, self.fieldsTable)
        Dialog.setTabOrder(self.fieldsTable, self.butUp)
        Dialog.setTabOrder(self.butUp, self.butDown)
        Dialog.setTabOrder(self.butDown, self.butRename)
        Dialog.setTabOrder(self.butRename, self.butIns)
        Dialog.setTabOrder(self.butIns, self.butClone)
        Dialog.setTabOrder(self.butClone, self.butDel)
        Dialog.setTabOrder(self.butDel, self.dataTable)
        Dialog.setTabOrder(self.dataTable, self.butSaveAs)
        Dialog.setTabOrder(self.butSaveAs, self.butSave)
Ejemplo n.º 6
0
    def setupUi(self, geoRefMainWindow):
        geoRefMainWindow.setObjectName("geoRefMainWindow")
        geoRefMainWindow.resize(800, 665)
        self.centralwidget = QtWidgets.QWidget(geoRefMainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.graphicsView = QtWidgets.QGraphicsView(self.centralwidget)
        self.graphicsView.setGeometry(QtCore.QRect(220, 80, 561, 341))
        self.graphicsView.setObjectName("graphicsView")
        self.lineEditXCoordQGIS = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEditXCoordQGIS.setGeometry(QtCore.QRect(260, 480, 113, 20))
        self.lineEditXCoordQGIS.setReadOnly(True)
        self.lineEditXCoordQGIS.setObjectName("lineEditXCoordQGIS")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(210, 480, 51, 16))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(210, 510, 51, 16))
        self.label_2.setObjectName("label_2")
        self.lineEditYCoordQGIS = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEditYCoordQGIS.setGeometry(QtCore.QRect(260, 510, 113, 20))
        self.lineEditYCoordQGIS.setReadOnly(True)
        self.lineEditYCoordQGIS.setObjectName("lineEditYCoordQGIS")
        self.pushButtonGPX = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonGPX.setEnabled(False)
        self.pushButtonGPX.setGeometry(QtCore.QRect(600, 560, 181, 23))
        self.pushButtonGPX.setObjectName("pushButtonGPX")
        self.pushButtonClick = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonClick.setGeometry(QtCore.QRect(550, 480, 161, 23))
        self.pushButtonClick.setCheckable(False)
        self.pushButtonClick.setObjectName("pushButtonClick")
        self.labelCurrentPic = QtWidgets.QLabel(self.centralwidget)
        self.labelCurrentPic.setGeometry(QtCore.QRect(220, 420, 561, 16))
        self.labelCurrentPic.setText("")
        self.labelCurrentPic.setObjectName("labelCurrentPic")
        self.lineEditXCoordStand = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEditXCoordStand.setGeometry(QtCore.QRect(380, 480, 113, 20))
        self.lineEditXCoordStand.setReadOnly(True)
        self.lineEditXCoordStand.setObjectName("lineEditXCoordStand")
        self.lineEditYCoordStand = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEditYCoordStand.setGeometry(QtCore.QRect(380, 510, 113, 20))
        self.lineEditYCoordStand.setReadOnly(True)
        self.lineEditYCoordStand.setObjectName("lineEditYCoordStand")
        self.groupBox = dropedit(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(210, 10, 581, 61))
        self.groupBox.setObjectName("groupBox")
        self.lineEditRootPath = QtWidgets.QLineEdit(self.groupBox)
        self.lineEditRootPath.setGeometry(QtCore.QRect(10, 30, 531, 20))
        self.lineEditRootPath.setObjectName("lineEditRootPath")
        self.toolButton = QtWidgets.QToolButton(self.groupBox)
        self.toolButton.setGeometry(QtCore.QRect(550, 30, 25, 19))
        self.toolButton.setObjectName("toolButton")
        self.treeWidget = QtWidgets.QTreeWidget(self.centralwidget)
        self.treeWidget.setGeometry(QtCore.QRect(10, 20, 191, 251))
        self.treeWidget.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOn)
        self.treeWidget.setSizeAdjustPolicy(
            QtWidgets.QAbstractScrollArea.AdjustToContents)
        self.treeWidget.setAutoScroll(False)
        self.treeWidget.setAlternatingRowColors(True)
        self.treeWidget.setHeaderHidden(True)
        self.treeWidget.setObjectName("treeWidget")
        self.treeWidget.headerItem().setText(0, "1")
        self.listAvailablePic = QtWidgets.QListWidget(self.centralwidget)
        self.listAvailablePic.setGeometry(QtCore.QRect(10, 290, 191, 221))
        self.listAvailablePic.setAutoScroll(False)
        self.listAvailablePic.setAlternatingRowColors(True)
        self.listAvailablePic.setObjectName("listAvailablePic")
        self.labelEPSG = QtWidgets.QLabel(self.centralwidget)
        self.labelEPSG.setGeometry(QtCore.QRect(260, 460, 91, 16))
        self.labelEPSG.setObjectName("labelEPSG")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(380, 460, 61, 16))
        self.label_4.setObjectName("label_4")
        self.lineEditHeading = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEditHeading.setGeometry(QtCore.QRect(380, 560, 113, 20))
        self.lineEditHeading.setReadOnly(True)
        self.lineEditHeading.setObjectName("lineEditHeading")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(380, 540, 51, 16))
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(260, 540, 47, 13))
        self.label_7.setObjectName("label_7")
        self.lineEditAltitude = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEditAltitude.setGeometry(QtCore.QRect(260, 560, 113, 20))
        self.lineEditAltitude.setReadOnly(True)
        self.lineEditAltitude.setObjectName("lineEditAltitude")
        self.pushButtonEdit = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonEdit.setGeometry(QtCore.QRect(270, 590, 100, 23))
        self.pushButtonEdit.setObjectName("pushButtonEdit")
        self.progressBar = QtWidgets.QProgressBar(self.centralwidget)
        self.progressBar.setGeometry(QtCore.QRect(10, 520, 191, 23))
        self.progressBar.setProperty("value", 0)
        self.progressBar.setTextVisible(False)
        self.progressBar.setObjectName("progressBar")
        self.labelProgress = QtWidgets.QLabel(self.centralwidget)
        self.labelProgress.setGeometry(QtCore.QRect(10, 550, 191, 20))
        self.labelProgress.setAlignment(QtCore.Qt.AlignCenter)
        self.labelProgress.setObjectName("labelProgress")
        self.radioButtonDD = QtWidgets.QRadioButton(self.centralwidget)
        self.radioButtonDD.setGeometry(QtCore.QRect(500, 480, 82, 17))
        self.radioButtonDD.setChecked(True)
        self.radioButtonDD.setObjectName("radioButtonDD")
        self.radioButtonDMS = QtWidgets.QRadioButton(self.centralwidget)
        self.radioButtonDMS.setGeometry(QtCore.QRect(500, 510, 82, 17))
        self.radioButtonDMS.setChecked(False)
        self.radioButtonDMS.setObjectName("radioButtonDMS")
        self.pushButtonApplySingle = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonApplySingle.setEnabled(False)
        self.pushButtonApplySingle.setGeometry(QtCore.QRect(560, 510, 115, 23))
        self.pushButtonApplySingle.setObjectName("pushButtonApplySingle")
        self.pushButtonCancelClick = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonCancelClick.setEnabled(False)
        self.pushButtonCancelClick.setGeometry(QtCore.QRect(720, 480, 75, 23))
        self.pushButtonCancelClick.setObjectName("pushButtonCancelClick")
        self.pushButtonApplyGroup = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonApplyGroup.setEnabled(False)
        self.pushButtonApplyGroup.setGeometry(QtCore.QRect(680, 510, 115, 23))
        self.pushButtonApplyGroup.setObjectName("pushButtonApplyGroup")
        self.pushButtonClone = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonClone.setGeometry(QtCore.QRect(390, 590, 101, 23))
        self.pushButtonClone.setObjectName("pushButtonClone")
        self.pushButtonShapefile = QtWidgets.QPushButton(self.centralwidget)
        self.pushButtonShapefile.setGeometry(QtCore.QRect(30, 600, 141, 23))
        self.pushButtonShapefile.setObjectName("pushButtonShapefile")
        self.checkBoxShowPosition = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBoxShowPosition.setGeometry(QtCore.QRect(45, 575, 121, 17))
        self.checkBoxShowPosition.setChecked(True)
        self.checkBoxShowPosition.setObjectName("checkBoxShowPosition")
        geoRefMainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(geoRefMainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName("menubar")
        geoRefMainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(geoRefMainWindow)
        self.statusbar.setObjectName("statusbar")
        geoRefMainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(geoRefMainWindow)
        QtCore.QMetaObject.connectSlotsByName(geoRefMainWindow)
Ejemplo n.º 7
0
    def createWidget(self):
        # Form
        boxleft = QtWidgets.QVBoxLayout()
        loadDir = QtWidgets.QPushButton("load")
        newProj = QtWidgets.QPushButton("new")
        newProj.clicked.connect(self.newProject)
        loadDir.clicked.connect(self.loadProject)
        hbox2 = QtWidgets.QHBoxLayout()
        hbox2.addWidget(loadDir)
        hbox2.addWidget(newProj)
        boxleft.addLayout(hbox2)
        self.prjBox = QtWidgets.QGroupBox("Project settings")
        self.prjBox.setEnabled(False)
        formL = QtWidgets.QFormLayout()
        self.prjBox.setLayout(formL)
        self.odmText = QpalsDropTextbox(layerlist=self.layerlist)
        self.odmText.currentTextChanged.connect(self.odmFileChanged)
        formL.addRow("odm", self.odmText)
        self.axisText = QpalsDropTextbox(layerlist=self.layerlist,
                                         filterrex='.*[\.shp]')
        formL.addRow("axis shp", self.axisText)

        self.widthSpin = QtWidgets.QDoubleSpinBox()
        self.widthSpin.setValue(15)
        self.widthSpin.setSingleStep(0.1)
        self.widthSpin.setRange(1, 50)
        self.widthSpin.setSuffix(" m")
        formL.addRow("sec width", self.widthSpin)

        self.depthSpin = QtWidgets.QDoubleSpinBox()
        self.depthSpin.setValue(5)
        self.depthSpin.setSingleStep(0.1)
        self.depthSpin.setRange(1, 50)
        self.depthSpin.setSuffix(" m")
        formL.addRow("sec depth", self.depthSpin)

        self.overlapSpin = QtWidgets.QDoubleSpinBox()
        self.overlapSpin.setValue(0)
        self.overlapSpin.setSingleStep(1)
        self.overlapSpin.setRange(0, 100)
        self.overlapSpin.setSuffix("%")
        formL.addRow("sec overlap", self.overlapSpin)

        self.attrSel = QtWidgets.QComboBox()
        formL.addRow("attribute", self.attrSel)

        # createShd = QtWidgets.QPushButton("create shading")
        # createShd.clicked.connect(self.createShd)
        # formL.addRow(createShd)
        createSec = QtWidgets.QPushButton("save && create sections")
        createSec.clicked.connect(self.createSec)
        formL.addRow(createSec)
        self.progress = QtWidgets.QProgressBar()
        formL.addRow(self.progress)
        boxleft.addWidget(self.prjBox)
        modeBox = QtWidgets.QGroupBox("Mode")
        modeBoxL = QtWidgets.QFormLayout()
        modeBox.setLayout(modeBoxL)
        self.modeGrp = QtWidgets.QButtonGroup()
        for mode in ['linear (1,2,3...)', 'alternating (farthest sampling)']:
            btn = QtWidgets.QRadioButton(mode)
            modeBoxL.addRow(btn)
            self.modeGrp.addButton(btn)
            if mode.startswith('alternating'):
                btn.setChecked(True)

        boxleft.addWidget(modeBox)
        saveBtn = QtWidgets.QPushButton("Save progress")
        saveBtn.clicked.connect(self.saveProgress)
        boxleft.addWidget(saveBtn)

        expGroup = QtWidgets.QGroupBox("Export")
        expGroupLayout = QtWidgets.QFormLayout()
        expGroup.setLayout(expGroupLayout)
        self.expBtn = QtWidgets.QPushButton("Export WSM")
        self.expBtn.clicked.connect(self.exportWSM)
        self.expBtn.setEnabled(False)
        self.expPath = QpalsDropTextbox()
        self.expPath.currentTextChanged.connect(self.exportChanged)
        expGroupLayout.addRow("Output file", self.expPath)
        self.dXSpin = QtWidgets.QDoubleSpinBox()
        self.dYSpin = QtWidgets.QDoubleSpinBox()
        self.dXSpin.valueChanged.connect(self.dXdYChanged)
        self.dYSpin.valueChanged.connect(self.dXdYChanged)
        self.dXSpin.setValue(1)
        self.dYSpin.setValue(1)
        self.dXSpin.setSingleStep(0.1)
        self.dYSpin.setSingleStep(0.1)
        expGroupLayout.addRow("X cell size", self.dXSpin)
        expGroupLayout.addRow("Y cell size", self.dYSpin)
        self.progress2 = QtWidgets.QProgressBar()
        expGroupLayout.addRow(self.progress2)
        expGroupLayout.addRow(self.expBtn)

        boxleft.addWidget(expGroup)

        # center figure
        figure = plt.figure()
        centerbox = QtWidgets.QVBoxLayout()
        self.plotcenter = FigureCanvas(figure)
        self.axcenter = figure.add_subplot(111)
        figure.subplots_adjust(left=0, right=1, top=0.99, bottom=0.01)
        #manager, canvas = figure.canvas.manager, figure.canvas
        #canvas.mpl_disconnect(manager.key_press_handler_id)  # remove default key bindings (ctrl+w = close)
        #cid = self.plotcenter.mpl_connect('key_press_event', self.keyPressed)
        cid2 = self.plotcenter.mpl_connect('button_press_event',
                                           self.mousePressed)
        cid2 = self.plotcenter.mpl_connect('motion_notify_event',
                                           self.mouseMoved)
        cid3 = self.plotcenter.mpl_connect('button_release_event',
                                           self.mouseReleased)
        cid4 = self.plotcenter.mpl_connect('scroll_event', self.mouseScrolled)

        #toolbar = NavigationToolbar(self.plotcenter, self.widget)
        centerbox.addWidget(self.plotcenter)
        #centerbox.addWidget(toolbar)
        centerw = QtWidgets.QWidget()
        centerw.setLayout(centerbox)

        # right figure
        vboxright = QtWidgets.QVBoxLayout()
        data3d = {
            'X': np.array([0]),
            'Y': np.array([0]),
            'Z': np.array([0]),
            self.attrSel.currentText(): np.array([0])
        }
        mins = {self.attrSel.currentText(): 0}
        maxes = {self.attrSel.currentText(): 1}
        self.pltwindow_3d = mpl_plotwindow(self.project, self.iface, data3d,
                                           mins, maxes)
        self.plotright = self.pltwindow_3d.ui

        # Section Grid Buttons
        secGrid = QtWidgets.QGridLayout()
        leftup = QtWidgets.QPushButton("↑")
        self.hleftLbl = QtWidgets.QLabel("h=")
        leftdown = QtWidgets.QPushButton("↓")
        rightup = QtWidgets.QPushButton("↑")
        self.hrightLbl = QtWidgets.QLabel("h=")
        rightdown = QtWidgets.QPushButton("↓")
        symCanvas = QtWidgets.QWidget()
        secGrid.addWidget(leftup, 0, 0)
        secGrid.addWidget(self.hleftLbl, 1, 0)
        secGrid.addWidget(leftdown, 2, 0)
        secGrid.addWidget(rightup, 0, 2)
        secGrid.addWidget(self.hrightLbl, 1, 2)
        secGrid.addWidget(rightdown, 2, 2)
        secGrid.addWidget(symCanvas, 0, 1, 3, 1)

        # Navigation Buttons
        navGrid = QtWidgets.QGridLayout()
        prevBtn = QtWidgets.QPushButton("prev")
        nextBtn = QtWidgets.QPushButton("next")
        prevBtn.clicked.connect(self.prevSec)
        nextBtn.clicked.connect(self.nextSec)
        self.incbox = QtWidgets.QSpinBox()
        self.incbox.setMinimum(1)
        self.currbox = QtWidgets.QSpinBox()
        self.currbox.valueChanged.connect(self.currSecChanged)
        self.skipSeen = QtWidgets.QCheckBox("Skip already seen sections")
        self.skipSeen.setChecked(True)
        pickBtn = QtWidgets.QPushButton("pick")
        pickBtn.clicked.connect(self.activatePickTool)
        self.status = QtWidgets.QLabel("Section 0/0: 0% finished")
        navGrid.addWidget(prevBtn, 0, 0)
        navGrid.addWidget(QtWidgets.QLabel("inc"), 0, 1)
        navGrid.addWidget(self.incbox, 0, 2)
        navGrid.addWidget(nextBtn, 0, 3)
        navGrid.addWidget(self.skipSeen, 1, 0, 1, 4)
        navGrid.addWidget(QtWidgets.QLabel("Current Index:"))
        navGrid.addWidget(self.currbox, 2, 1)
        navGrid.addWidget(pickBtn, 2, 3)
        navGrid.addWidget(self.status, 3, 0, 1, 4)

        vboxright.addWidget(self.plotright, stretch=1)
        vboxright.addWidget(QHLine())
        #vboxright.addLayout(secGrid)
        vboxright.addWidget(QHLine())
        vboxright.addLayout(navGrid)

        boxleftw = QtWidgets.QWidget()
        boxleftw.setLayout(boxleft)
        vboxrightw = QtWidgets.QWidget()
        vboxrightw.setLayout(vboxright)
        self.addWidget(boxleftw)
        self.addWidget(centerw)
        self.addWidget(vboxrightw)
        self.setStretchFactor(0, 1)
        self.setStretchFactor(1, 15)
        self.setStretchFactor(2, 1)
        self.setStyleSheet("QSplitter::handle{background-color: #CCCCCC;}")
        self.setHandleWidth(2)
Ejemplo n.º 8
0
    def createWidget(self):
        self.advanced_widget = QtWidgets.QDialog()
        self.simple_widget = QtWidgets.QDialog()
        self.tabs = QtWidgets.QTabWidget()
        ### SIMPLE ###
        self.ls = QtWidgets.QFormLayout()
        self.ls.addRow(QtWidgets.QLabel("Choose input file:"))
        self.txtinfileSimple = QpalsDropTextbox.QpalsDropTextbox(
            layerlist=self.layerlist, filterrex=".*\.odm$")
        hboxsimple1 = QtWidgets.QHBoxLayout()
        hboxsimple1.addWidget(self.txtinfileSimple, 1)
        self.txtinfileSimple.textChanged.connect(self.simpleIsLoaded)
        self.ls.addRow(QtWidgets.QLabel("Input file (odm)"), hboxsimple1)
        self.linetoolBtn = QtWidgets.QPushButton("Pick section")
        self.linetoolBtn.clicked.connect(self.activateLineTool)
        self.linetoolBtn.setEnabled(False)
        self.ls.addRow(self.linetoolBtn)

        self.runSecBtnSimple = QtWidgets.QPushButton("Create section")
        self.runSecBtnSimple.clicked.connect(self.ltool.runsec)
        self.runSecBtnSimple.setEnabled(False)
        self.runSecBtnSimple.setStyleSheet("background-color: rgb(50,240,50)")

        self.runSecBtnView = QtWidgets.QPushButton("Open section in opalsView")
        self.runSecBtnView.clicked.connect(self.ltool.runview)
        self.runSecBtnView.setEnabled(False)
        self.runSecBtnView.setStyleSheet("background-color: rgb(100,100,240)")
        hb = QtWidgets.QHBoxLayout()
        hb.addWidget(self.runSecBtnSimple)
        hb.addWidget(self.runSecBtnView)

        self.simpleLineLayer = QgsMapLayerComboBox()
        self.simpleLineLayer.setFilters(QgsMapLayerProxyModel.LineLayer)
        self.simpleLineLayerChk = QtWidgets.QCheckBox(
            "Visualize (3D) Line Layer:")
        self.ls.addRow(self.simpleLineLayerChk, self.simpleLineLayer)
        self.showSection = QtWidgets.QCheckBox("Show section")
        self.filterStr = QtWidgets.QLineEdit("Class[Ground]")
        self.filterAttrBox = QCollapsibleGroupBox.QCollapsibleGroupBox(
            'Show attribute selection')
        self.filterAttrBox.setLayout(QtWidgets.QGridLayout())
        self.filterAttrBox.setChecked(False)  # hide it
        self.filterAttrs = {}
        self.progress = QtWidgets.QProgressBar()
        self.stateSwitch = QToggleSwitch.QToggleSwitch("vispy", "matplotlib")
        self.showSection.stateChanged.connect(self.checkBoxChanged)
        self.showSection.setCheckState(2)
        self.showSection.setTristate(False)
        self.ls.addRow(self.showSection)
        self.ls.addRow("Filter String:", self.filterStr)
        self.ls.addRow(self.filterAttrBox)
        self.ls.addRow(hb)
        self.ls.addRow(self.progress)
        self.ls.addRow(self.stateSwitch)
        self.simple_widget.setLayout(self.ls)
        ### ADVANCED ###
        lo = QtWidgets.QFormLayout()
        ######
        lo.addRow(
            QtWidgets.QLabel("Step 1. Choose point cloud and visualize it:"))
        self.txtinfile = QpalsDropTextbox.QpalsDropTextbox(
            layerlist=self.layerlist)
        hbox1 = QtWidgets.QHBoxLayout()
        hbox1.addWidget(self.txtinfile, 1)
        lo.addRow(QtWidgets.QLabel("Input file (odm)"), hbox1)
        self.runShdBtn = QtWidgets.QPushButton("Create shading")
        self.runShdBtn.clicked.connect(self.loadShading)
        lo.addRow(self.runShdBtn)
        ######
        self.status = QtWidgets.QListWidgetItem("hidden status")
        lo.addRow(QtWidgets.QLabel("Step 2. Create sections"))
        self.secInst = QpalsModuleBase.QpalsModuleBase(
            execName=os.path.join(self.project.opalspath, "opalsSection.exe"),
            QpalsProject=self.project)
        self.secInst.load()
        self.secInst.listitem = self.status
        secUi = self.secInst.getParamUi()
        lo.addRow(secUi)

        self.runSecBtn = QtWidgets.QPushButton("Calculate sections")
        self.runSecBtn.clicked.connect(self.runSection)
        lo.addRow(self.runSecBtn)
        #######
        lo.addRow(
            QtWidgets.QLabel(
                "Step 3. Use the Section picking tool to show Sections"))
        self.pickSecBtn = QtWidgets.QPushButton("Pick section")
        self.pickSecBtn.clicked.connect(self.activateTool)
        lo.addRow(self.pickSecBtn)

        self.advanced_widget.setLayout(lo)
        self.tabs.addTab(self.simple_widget, "Simple")
        self.tabs.addTab(self.advanced_widget, "Advanced")

        self.scrollwidget = QtWidgets.QScrollArea()
        self.scrollwidget.setWidgetResizable(True)
        self.scrollwidget.setSizePolicy(QtWidgets.QSizePolicy.Ignored,
                                        QtWidgets.QSizePolicy.Ignored)
        self.scrollwidget.setWidget(self.tabs)

        return self.scrollwidget
Ejemplo n.º 9
0
    def initUi(self):

        groupSelect = QtWidgets.QGroupBox()
        self.moduleList = QtWidgets.QListWidget()
        for moduleDict in self.modulesAvailiable:
            module = QpalsListWidgetItem(moduleDict)
            module.paramClass.listitem = module
            self.moduleList.addItem(module)
        self.moduleList.itemClicked.connect(self.loadModuleAsync)

        filterBox = QtWidgets.QHBoxLayout()
        filterBox.addWidget(QtWidgets.QLabel("Filter:"))
        self.filterText = QtWidgets.QLineEdit()
        self.filterText.textChanged.connect(self.filterModuleList)
        filterBox.addWidget(self.filterText, stretch=1)
        filterClear = QtWidgets.QPushButton()
        filterClear.setText("X")
        filterClear.setMaximumWidth(20)
        filterClear.pressed.connect(self.clearFilterText)
        filterBox.addWidget(filterClear)
        self.loadAllBtn = QtWidgets.QPushButton()
        self.loadAllBtn.setText("load all")
        self.loadAllBtn.pressed.connect(self.loadAllModules)
        filterBox.addWidget(self.loadAllBtn)

        groupSelect.setTitle("Module Selector")
        vbox = QtWidgets.QVBoxLayout()
        vbox.addWidget(self.moduleList, stretch=1)
        vbox.addLayout(filterBox)
        groupSelect.setLayout(vbox)

        self.moduleparamLayout = QtWidgets.QVBoxLayout()

        self.moduleparamBox = QtWidgets.QGroupBox()
        self.moduleparamBox.setTitle("Module parameters")
        self.moduleparamBox.setLayout(self.moduleparamLayout)

        rungroup = QtWidgets.QGroupBox()
        rungroup.setTitle("Run list")
        self.runListWidget = QtWidgets.QListWidget()
        #self.runListWidget.currentItemChanged.connect(self.loadModuleAsync)
        self.runListWidget.itemClicked.connect(self.loadModuleAsync)
        self.runListWidget.setDragEnabled(True)
        self.runListWidget.setDragDropMode(
            QtWidgets.QAbstractItemView.InternalMove)

        runAllBtn = QtWidgets.QPushButton()
        runAllBtn.setText("Run")
        runAllBtn.clicked.connect(self.runRunList)

        runDelZone = QpalsDeleteLabel("Drop here to remove")
        runDelZone.setAcceptDrops(True)

        runvbox = QtWidgets.QVBoxLayout()
        runvbox.addWidget(self.runListWidget, stretch=1)
        runhbox = QtWidgets.QHBoxLayout()
        runhbox.addWidget(runDelZone)
        runhbox.addWidget(runAllBtn)
        runvbox.addLayout(runhbox)
        saveloadbox = QtWidgets.QHBoxLayout()
        savbtn = QtWidgets.QPushButton("Save .bat")
        loadbtn = QtWidgets.QPushButton("Load .bat")
        savbtn.clicked.connect(self.saveRunList)
        loadbtn.clicked.connect(self.loadRunList)
        saveloadbox.addWidget(savbtn)
        saveloadbox.addWidget(loadbtn)

        self.pbar = QtWidgets.QProgressBar()
        self.pbar.setValue(100)
        runvbox.addWidget(self.pbar)
        runvbox.addLayout(saveloadbox)
        rungroup.setLayout(runvbox)

        grpBoxContainer = QtWidgets.QHBoxLayout()
        grpBoxContainer.addWidget(groupSelect)
        grpBoxContainer.addWidget(self.moduleparamBox, stretch=1)
        grpBoxContainer.addWidget(rungroup)

        lowerhbox = QtWidgets.QHBoxLayout()

        statusLayoutBox = QtWidgets.QHBoxLayout()
        self.statusText = QtWidgets.QTextEdit()
        self.statusText.setReadOnly(True)
        self.statusText.setVisible(False)
        self.progressBar = QtWidgets.QProgressBar()
        self.progressBar.setRange(0, 100)
        statusLayoutBox.addWidget(self.statusText, 1)

        self.statusBar = QtWidgets.QPushButton()
        self.statusBar.clicked.connect(self.showHideStatusText)
        self.statusBar.setFlat(True)
        self.statusBar.setStyleSheet("text-align:left")
        self.statusBar.setToolTip("Click to show/hide command line output")
        statusBarLayout = QtWidgets.QHBoxLayout()
        self.stopExec = QtWidgets.QPushButton()
        self.stopExec.setText("Stop")
        self.stopExec.clicked.connect(self.stop)
        statusBarLayout.addWidget(self.statusBar, 1)
        statusBarLayout.addWidget(self.progressBar)
        statusBarLayout.addWidget(self.stopExec)
        self.setWorkerRunning(False)

        overallBox = QtWidgets.QVBoxLayout()
        overallBox.addLayout(grpBoxContainer)
        overallBox.addLayout(lowerhbox)
        overallBox.addLayout(statusLayoutBox)
        overallBox.addLayout(statusBarLayout)

        self.main_widget = QtWidgets.QWidget()
        self.main_widget.setLayout(overallBox)
        self.setLayout(overallBox)
        self.setWindowTitle('qpals')
Ejemplo n.º 10
0
    def createWidget(self):
        self.scrollwidget = QtWidgets.QScrollArea()
        self.scrollwidget.setWidgetResizable(True)
        self.tabs = QtWidgets.QTabWidget()
        self.scrollwidget.setWidget(self.tabs)
        self.names = [
            'Settings', 'DTM', 'Slope', '2D-Approximation',
            'Topologic correction', 'Editing', '3D-Modelling', 'Editing (3D)',
            'Export'
        ]
        self.widgets = {}
        self.settings = {}
        self.modules = {}

        for idx, name in enumerate(self.names):
            self.widgets[name] = QtWidgets.QDialog()
            ls = QtWidgets.QFormLayout()
            # Tab-specific options
            if name == "Settings":
                desc = QtWidgets.QLabel(
                    "Welcome to the qpals LineModeler GUI! \nThis tool will help you to detect and "
                    "model breaklines based on a DTM and/or a point cloud using the opals module "
                    "opalsLineModeler.\nThe process includes manual editing in QGIS (\"Editing\") "
                    "as well as automatic dectection and modelling.\n\n"
                    "To begin, please enter some basic information.")
                desc.setWordWrap(True)
                ls.addRow(desc)
                boxRun = QtWidgets.QGroupBox(
                    "Run multiple steps automatically:")
                boxVL = QtWidgets.QVBoxLayout()
                boxRun.setLayout(boxVL)
                self.settings['settings'] = OrderedDict([
                    ('name', QtWidgets.QLineEdit()),
                    ('inFile',
                     QpalsDropTextbox.QpalsDropTextbox(
                         layerlist=self.layerlist)),
                    ('tempFolder', QpalsDropTextbox.QpalsDropTextbox()),
                    ('outFolder', QpalsDropTextbox.QpalsDropTextbox()),
                    ('chkDTM', QtWidgets.QCheckBox("DTM")),
                    ('chkSlope', QtWidgets.QCheckBox("Slope")),
                    ('chk2D', QtWidgets.QCheckBox("2D-Approximation")),
                    ('chktopo2D',
                     QtWidgets.QCheckBox("Topological correction")),
                    ('chkEditing2d',
                     QtWidgets.QLabel(
                         "--- Manual editing of 2D-Approximations ---")),
                    ('chk3Dmodel', QtWidgets.QCheckBox("3D-Modelling")),
                    ('chkEditing3d',
                     QtWidgets.QLabel("--- Manual editing of 3D-Lines ---")),
                    ('chkExport', QtWidgets.QCheckBox("Export")),
                ])
                for key, value in list(self.settings['settings'].items()):
                    if isinstance(value, QpalsDropTextbox.QpalsDropTextbox):
                        value.setMinimumContentsLength(20)
                        value.setSizeAdjustPolicy(
                            QtWidgets.QComboBox.AdjustToMinimumContentsLength)
                    if key.startswith("chk"):
                        boxVL.addWidget(value)

                ls.addRow(QtWidgets.QLabel("Project name"),
                          self.settings['settings']['name'])
                hbox_wrap = QtWidgets.QHBoxLayout()
                hbox_wrap.addWidget(self.settings['settings']['inFile'],
                                    stretch=1)
                ls.addRow(QtWidgets.QLabel("Input file (TIFF/LAS/ODM)"),
                          hbox_wrap)
                hbox_wrap = QtWidgets.QHBoxLayout()
                hbox_wrap.addWidget(self.settings['settings']['tempFolder'],
                                    stretch=1)
                self.settings['settings']['tempFolder'].setPlaceholderText(
                    "drop folder here (will be created if not exists)")
                ls.addRow(QtWidgets.QLabel("Folder for temporary files"),
                          hbox_wrap)
                hbox_wrap = QtWidgets.QHBoxLayout()
                self.settings['settings']['outFolder'].setPlaceholderText(
                    "drop folder here (will be created if not exists)")
                hbox_wrap.addWidget(self.settings['settings']['outFolder'],
                                    stretch=1)
                ls.addRow(QtWidgets.QLabel("Folder for output files"),
                          hbox_wrap)
                ls.addRow(QtWidgets.QLabel(""))
                boxBtnRun = QtWidgets.QPushButton("Run selected steps now")
                boxBtnRun.clicked.connect(lambda: self.run_step("all"))
                boxBtnExp = QtWidgets.QPushButton(
                    "Export selected steps to .bat")
                boxBtnExp.clicked.connect(self.createBatFile)
                # saveBtn = QtWidgets.QPushButton("Save to project file")
                # saveBtn.clicked.connect(self.save)
                boxVL.addWidget(boxBtnRun)
                boxVL.addWidget(boxBtnExp)
                # boxVL.addWidget(saveBtn)
                ls.addRow(boxRun)

            if name == "DTM":
                desc = QtWidgets.QLabel(
                    "This first step will create a digital terrain model (DTM) from your point cloud data. "
                    "Also, a shading of your DTM "
                    "will be created for visualisation purposes. If the input file is not an ODM, one has to be "
                    "created for the modelling process later on.")
                desc.setWordWrap(True)
                ls.addRow(desc)

                impmod, impscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsImport", "opalsImport", self.project,
                    {'outFile': 'pointcloud.odm'}, ["inFile", "outFile"])
                self.modules['dtmImp'] = impmod
                self.widgets['dtmImp'] = impscroll
                ls.addRow(impscroll)

                dtmmod, dtmscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsGrid", "opalsGrid", self.project, {
                        'interpolation': 'movingPlanes',
                        'gridSize': '1',
                        'outFile': 'DTM_1m.tif'
                    }, [
                        "inFile", "outFile", "neighbours", "searchRadius",
                        "interpolation"
                    ])
                self.modules['dtmGrid'] = dtmmod
                self.widgets['dtmGrid'] = dtmscroll
                dtmmod.afterRun = self.addDtm
                ls.addRow(dtmscroll)

                shdmod, shdscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsShade", "opalsShade", self.project, {
                        'inFile': 'DTM_1m.tif',
                        'outFile': 'DTM_1m_shd.tif'
                    }, [
                        "inFile",
                        "outFile",
                    ])
                self.modules['dtmShade'] = shdmod
                shdmod.afterRun = self.addShd
                ls.addRow(shdscroll)

            if name == "Slope":
                desc = QtWidgets.QLabel(
                    "To automatically detect breaklines, a slope map is calculated. This map uses the neighboring 9"
                    " pixels to estimate a plane. The gradient (steepest slope) is then taken, converted to a slope"
                    "in degrees, and assigned to the pixel.")
                desc.setWordWrap(True)
                ls.addRow(desc)

                gfmod, gfscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsGridFeature", "opalsGridFeature", self.project, {
                        'feature': 'slpDeg',
                        'inFile': 'DTM_1m.tif',
                        'outFile': 'DTM_1m_slope.tif'
                    }, ["inFile", "outFile", "feature"])
                self.modules['slope'] = gfmod
                ls.addRow(gfscroll)

            if name == "2D-Approximation":
                desc = QtWidgets.QLabel(
                    "The slope map is used to detect breaklines. For this, the algorithm by Canny (1986) is used.\n"
                    "First, the slope map is convoluted with a gaussian kernel for smoothing, then the derivative "
                    "is calculated. The two threshold parameters represent the upper and lower values for the "
                    "binarization of the derivative map. Edges that have at least one pixel > upper threshold will be "
                    "followed until they have a pixel < lower threshold.")
                desc.setWordWrap(True)
                ls.addRow(desc)

                edgeDmod, edgeDscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsEdgeDetect", "opalsEdgeDetect", self.project, {
                        'threshold': '2;4',
                        'sigmaSmooth': '1.8',
                        'inFile': 'DTM_1m_slope_slpDeg.tif',
                        'outFile': 'detected_edges.tif'
                    }, ["inFile", "outFile", "threshold", "sigmaSmooth"])
                self.modules['edgeDetect'] = edgeDmod
                ls.addRow(edgeDscroll)

                desc = QtWidgets.QLabel(
                    "Since the output of opalsEdgeDetect is still a raster, we need to vectorize it:"
                )
                desc.setWordWrap(True)
                ls.addRow(desc)

                vecmod, vecscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsVectorize", "opalsVectorize", self.project, {
                        'inFile': 'detected_edges.tif',
                        'outFile': 'detected_edges.shp'
                    }, ["inFile", "outFile"])
                self.modules['vectorize'] = vecmod
                ls.addRow(vecscroll)

            if name == "Topologic correction":
                desc = QtWidgets.QLabel(
                    "Vectorized binary rasters usually need some topological cleaning. Here, this is done in three steps: \n"
                    "1) Find the longest line and remove all lines < 10m\n"
                    "2) Merge lines iteratively\n"
                    "3) Clean up")
                desc.setWordWrap(True)
                ls.addRow(desc)

                lt1mod, lt1scroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsLineTopology", "opalsLineTopology (1)", self.project,
                    {
                        'method': 'longest',
                        'minLength': '10',
                        'snapRadius': '0',
                        'maxTol': '0.5',
                        'maxAngleDev': '75;15',
                        'avgDist': '3',
                        'inFile': 'detected_edges.shp',
                        'outFile': 'edges1.shp'
                    }, ["inFile", "outFile", "method", "minLength", "maxTol"])
                self.modules['lt1'] = lt1mod
                ls.addRow(lt1scroll)

                lt2mod, lt2scroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsLineTopology", "opalsLineTopology (2)", self.project,
                    {
                        'method': 'merge',
                        'minLength': '10',
                        'snapRadius': '3',
                        'maxTol': '0',
                        'maxAngleDev': '150;15',
                        'avgDist': '3',
                        'merge.minWeight': '0.75',
                        'merge.relWeightLead': '0',
                        'merge.maxIter': '10',
                        'merge.revertDist': '5',
                        'merge.revertInterval': '1',
                        'merge.searchGeneration': '4',
                        'merge.preventIntersection': '1',
                        'inFile': 'edges1.shp',
                        'outFile': 'edges2.shp'
                    }, [
                        "inFile", "outFile", "method", "maxAngleDev",
                        "snapRadius", "merge\..*"
                    ])
                lt2scroll.setFixedHeight(lt2scroll.height() - 200)
                self.modules['lt2'] = lt2mod
                ls.addRow(lt2scroll)

                lt3mod, lt3scroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsLineTopology", "opalsLineTopology (3)", self.project,
                    {
                        'method': 'longest',
                        'minLength': '25',
                        'snapRadius': '0',
                        'maxTol': '0',
                        'maxAngleDev': '90;15',
                        'avgDist': '3',
                        'inFile': 'edges2.shp',
                        'outFile': 'edges3.shp'
                    }, ["inFile", "outFile", "method", "minLength", "maxTol"])
                self.modules['lt3'] = lt3mod
                ls.addRow(lt3scroll)
                lt3mod.afterRun = self.add2DLines

            if name == "Editing":
                desc = QtWidgets.QLabel(
                    "Please start editing the 2D approximations that have been loaded into qgis. Here are some tools "
                    "that might help:")
                desc.setWordWrap(True)
                ls.addRow(desc)

                box1 = QtWidgets.QGroupBox("QuickLineModeller")
                from . import QpalsQuickLM
                self.quicklm = QpalsQuickLM.QpalsQuickLM(
                    project=self.project,
                    layerlist=self.layerlist,
                    iface=self.iface)
                box1.setLayout(self.quicklm.fl)
                ls.addRow(box1)
                box2 = QtWidgets.QGroupBox("qpalsSection")
                from . import QpalsSection
                self.section = QpalsSection.QpalsSection(
                    project=self.project,
                    layerlist=self.layerlist,
                    iface=self.iface)
                self.section.createWidget()
                box2.setLayout(self.section.ls)
                box2.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                   QtWidgets.QSizePolicy.Expanding)
                ls.addRow(box2)

            if name == "3D-Modelling":
                desc = QtWidgets.QLabel(
                    "The 2D approximations can now be used to model 3D breaklines in the pointcloud/the DTM."
                )
                desc.setWordWrap(True)
                ls.addRow(desc)

                lmmod, lmscroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsLineModeler",
                    "opalsLineModeler",
                    self.project,
                    {  #"filter": "Class[Ground]",
                        "approxFile": "edges3.shp",
                        "outFile": "modelled_lines.shp"
                    },
                    [
                        "inFile", "approxFile", "outFile", "filter",
                        "patchLength", "patchWidth", "overlap", "angle",
                        "minLength", "pointCount", "sigmaApriori"
                    ])
                self.modules['lm'] = lmmod
                ls.addRow(lmscroll)

                lmmod.afterRun = self.add3DLines

            if name == "Editing (3D)":
                desc = QtWidgets.QLabel(
                    "Before exporting the final product, there are a few tools to check the "
                    "quality of the result. This includes a topological check as well as a search"
                    "for points that have a big height difference to the DTM - and might be erraneous."
                )

                desc.setWordWrap(True)
                ls.addRow(desc)

                self.startQualityCheckBtn = QtWidgets.QPushButton(
                    "Start calculation")
                self.startQualityCheckBtn.clicked.connect(
                    self.runProblemSearchAsync)
                self.QualityCheckbar = QtWidgets.QProgressBar()
                self.QualityCheckDtm = QgsMapLayerComboBox()
                self.QualityCheckDtm.setFilters(
                    QgsMapLayerProxyModel.RasterLayer)
                self.QualityCheckThreshold = QtWidgets.QLineEdit("0.5")
                ls.addRow(
                    QtWidgets.QLabel("DTM Layer to compare heights with"),
                    self.QualityCheckDtm)
                ls.addRow(
                    QtWidgets.QLabel("Set height difference threshold [m]"),
                    self.QualityCheckThreshold)
                hb = QtWidgets.QHBoxLayout()
                hb.addWidget(self.QualityCheckbar)
                hb.addWidget(self.startQualityCheckBtn)
                ls.addRow(hb)
                line = QtWidgets.QFrame()
                line.setFrameShape(QtWidgets.QFrame.HLine)
                line.setFrameShadow(QtWidgets.QFrame.Sunken)
                ls.addRow(line)

                self.editingls = ls

                self.edit3d_linelayerbox = QgsMapLayerComboBox()
                self.edit3d_linelayerbox.setFilters(
                    QgsMapLayerProxyModel.LineLayer)
                self.edit3d_pointlayerbox = QgsMapLayerComboBox()
                self.edit3d_pointlayerbox.setFilters(
                    QgsMapLayerProxyModel.PointLayer)
                self.edit3d_dtmlayerbox = QgsMapLayerComboBox()
                self.edit3d_dtmlayerbox.setFilters(
                    QgsMapLayerProxyModel.RasterLayer)
                self.edit3d_pointlayerbox.currentIndexChanged.connect(
                    self.nodeLayerChanged)

                self.edit3d_currPointId = QSpinBox()
                self.edit3d_currPointId.setMinimum(0)
                self.edit3d_currPointId.valueChanged.connect(
                    self.showProblemPoint)

                ls.addRow("Select Line Layer:", self.edit3d_linelayerbox)
                ls.addRow("Select Problem Point layer:",
                          self.edit3d_pointlayerbox)

                self.selectNodeBtn = QtWidgets.QPushButton("Next point")
                self.selectNodeBtn.clicked.connect(
                    lambda: self.edit3d_currPointId.setValue(
                        self.edit3d_currPointId.value() + 1))

                self.selectPrevNodeBtn = QtWidgets.QPushButton("Prev point")
                self.selectPrevNodeBtn.clicked.connect(
                    lambda: self.edit3d_currPointId.setValue(
                        self.edit3d_currPointId.value() - 1))
                self.edit3d_countLabel = QtWidgets.QLabel()

                self.snapToDtmBtn = QtWidgets.QPushButton("Snap to:")
                self.snapToDtmBtn.clicked.connect(self.snapToDtm)
                self.remonveNodeBtn = QtWidgets.QPushButton("Remove")
                self.remonveNodeBtn.clicked.connect(self.removeNode)

                nextBox = QtWidgets.QHBoxLayout()
                nextBox.addWidget(QtWidgets.QLabel("Current point:"))
                nextBox.addWidget(self.edit3d_currPointId)
                nextBox.addWidget(QtWidgets.QLabel("/"))
                nextBox.addWidget(self.edit3d_countLabel)
                nextBox.addStretch()

                nextBox.addWidget(self.snapToDtmBtn)
                nextBox.addWidget(self.edit3d_dtmlayerbox)
                nextBox.addWidget(self.remonveNodeBtn)
                nextBox.addWidget(self.selectPrevNodeBtn)
                nextBox.addWidget(self.selectNodeBtn)

                ls.addRow(nextBox)
                self.nodeLayerChanged()

            if name == "Export":
                exp2mod, exp2scroll = QpalsModuleBase.QpalsModuleBase.createGroupBox(
                    "opalsTranslate", "opalsTranslate", self.project, {
                        'oformat': 'shp',
                        'inFile': 'modelled_lines.shp',
                        'outFile': 'STRULI3D.shp',
                    }, ["inFile", "outFile"])

                self.modules['exp'] = exp2mod
                ls.addRow(exp2scroll)

            vl = QtWidgets.QVBoxLayout()
            vl.addLayout(ls, 1)
            navbar = QtWidgets.QHBoxLayout()
            next = QtWidgets.QPushButton("Next step >")
            next.clicked.connect(self.switchToNextTab)
            prev = QtWidgets.QPushButton("< Previous step")
            prev.clicked.connect(self.switchToPrevTab)
            runcurr = QtWidgets.QPushButton(
                "Run this step (all modules above)")
            runcurr.clicked.connect(lambda: self.run_step(None))
            if idx > 0:
                navbar.addWidget(prev)
            navbar.addStretch()
            if name in [
                    "DTM", "Slope", "2D-Approximation", "Topologic correction",
                    "3D-Modelling", "Export"
            ]:
                navbar.addWidget(runcurr)
            navbar.addStretch()
            if idx < len(self.names):
                navbar.addWidget(next)
            vl.addLayout(navbar)
            self.widgets[name].setLayout(vl)
            self.tabs.addTab(self.widgets[name], name)

        # set up connections

        self.tabs.currentChanged.connect(self.updateTabs)
        return self.scrollwidget
    def setupUi(self, ProjectSearch):
        ProjectSearch.setObjectName(_fromUtf8("ProjectSearch"))
        ProjectSearch.resize(282, 295)
        self.formLayout = QtWidgets.QFormLayout(ProjectSearch)
        self.formLayout.setFieldGrowthPolicy(
            QtWidgets.QFormLayout.AllNonFixedFieldsGrow)
        self.formLayout.setObjectName(_fromUtf8("formLayout"))
        self.label = QtWidgets.QLabel(ProjectSearch)
        self.label.setObjectName(_fromUtf8("label"))
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole,
                                  self.label)
        self.searchName = QtWidgets.QLineEdit(ProjectSearch)
        self.searchName.setObjectName(_fromUtf8("searchName"))
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole,
                                  self.searchName)
        self.layerLabel = QtWidgets.QLabel(ProjectSearch)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layerLabel.sizePolicy().hasHeightForWidth())
        self.layerLabel.setSizePolicy(sizePolicy)
        self.layerLabel.setObjectName(_fromUtf8("layerLabel"))
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole,
                                  self.layerLabel)
        self.layerCombo = QgsMapLayerComboBox(ProjectSearch)
        sizePolicy = QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.MinimumExpanding,
            QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layerCombo.sizePolicy().hasHeightForWidth())
        self.layerCombo.setSizePolicy(sizePolicy)
        self.layerCombo.setSizeAdjustPolicy(
            QtWidgets.QComboBox.AdjustToContents)
        self.layerCombo.setObjectName(_fromUtf8("layerCombo"))
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole,
                                  self.layerCombo)
        self.FieldNameLabel = QtWidgets.QLabel(ProjectSearch)
        self.FieldNameLabel.setObjectName(_fromUtf8("FieldNameLabel"))
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole,
                                  self.FieldNameLabel)
        self.fieldExpressionWidget = QgsFieldExpressionWidget(ProjectSearch)
        self.fieldExpressionWidget.setObjectName(
            _fromUtf8("fieldExpressionWidget"))
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole,
                                  self.fieldExpressionWidget)
        self.label_2 = QtWidgets.QLabel(ProjectSearch)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole,
                                  self.label_2)
        self.priorityBox = QtWidgets.QSpinBox(ProjectSearch)
        self.priorityBox.setMinimum(1)
        self.priorityBox.setMaximum(999)
        self.priorityBox.setProperty("value", 1)
        self.priorityBox.setObjectName(_fromUtf8("priorityBox"))
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole,
                                  self.priorityBox)
        self.progressBar = QtWidgets.QProgressBar(ProjectSearch)
        self.progressBar.setProperty("value", 24)
        self.progressBar.setObjectName(_fromUtf8("progressBar"))
        self.formLayout.setWidget(10, QtWidgets.QFormLayout.SpanningRole,
                                  self.progressBar)
        self.evaluateCheckBox = QtWidgets.QCheckBox(ProjectSearch)
        self.evaluateCheckBox.setChecked(True)
        self.evaluateCheckBox.setObjectName(_fromUtf8("evaluateCheckBox"))
        self.formLayout.setWidget(9, QtWidgets.QFormLayout.SpanningRole,
                                  self.evaluateCheckBox)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.cancelButton = QtWidgets.QPushButton(ProjectSearch)
        self.cancelButton.setObjectName(_fromUtf8("cancelButton"))
        self.horizontalLayout.addWidget(self.cancelButton)
        self.okButton = QtWidgets.QPushButton(ProjectSearch)
        self.okButton.setObjectName(_fromUtf8("okButton"))
        self.horizontalLayout.addWidget(self.okButton)
        self.formLayout.setLayout(11, QtWidgets.QFormLayout.SpanningRole,
                                  self.horizontalLayout)
        self.geometryStorageLabel = QtWidgets.QLabel(ProjectSearch)
        self.geometryStorageLabel.setObjectName(
            _fromUtf8("geometryStorageLabel"))
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole,
                                  self.geometryStorageLabel)
        self.geometryStorageCombo = QtWidgets.QComboBox(ProjectSearch)
        self.geometryStorageCombo.setObjectName(
            _fromUtf8("geometryStorageCombo"))
        self.geometryStorageCombo.addItem(_fromUtf8(""))
        self.geometryStorageCombo.addItem(_fromUtf8(""))
        self.geometryStorageCombo.addItem(_fromUtf8(""))
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole,
                                  self.geometryStorageCombo)

        self.retranslateUi(ProjectSearch)
        QtCore.QMetaObject.connectSlotsByName(ProjectSearch)
        ProjectSearch.setTabOrder(self.searchName, self.layerCombo)
        ProjectSearch.setTabOrder(self.layerCombo, self.geometryStorageCombo)
        ProjectSearch.setTabOrder(self.geometryStorageCombo, self.priorityBox)
        ProjectSearch.setTabOrder(self.priorityBox, self.evaluateCheckBox)
        ProjectSearch.setTabOrder(self.evaluateCheckBox, self.cancelButton)
        ProjectSearch.setTabOrder(self.cancelButton, self.okButton)