def _ui_parameters_btv2(self): vbox = QtWidgets.QVBoxLayout() self.setParametersBTv2.setLayout(vbox) vbox.addStretch() # set decimal places hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_dec_places_label_gtv2 = QtWidgets.QLabel( "Truncate after decimal place: ") self.set_dec_places_label_gtv2.setDisabled(False) hbox.addWidget(self.set_dec_places_label_gtv2) self.set_dec_places_label_gtv2.setFixedHeight( GuiSettings.single_line_height()) self.set_dec_places_gtv2 = QtWidgets.QLineEdit("") hbox.addWidget(self.set_dec_places_gtv2) self.set_dec_places_gtv2.setFixedHeight( GuiSettings.single_line_height()) self.set_dec_places_gtv2.setValidator( QtGui.QIntValidator(0, 99, self.set_dec_places_gtv2)) self.set_dec_places_gtv2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_dec_places_gtv2.setReadOnly(False) self.set_dec_places_gtv2.setFont(GuiSettings.console_font()) self.set_dec_places_gtv2.setFixedWidth(30) self.set_dec_places_gtv2.setDisabled(False) self.set_dec_places_gtv2.setText("1") hbox.addStretch() vbox.addStretch()
def _update_root_folders(self): """ update the submission folder list widget """ submission_list = self.parent_win.prj.submission_list self.root_folders.clear() for folder in submission_list: new_item = QtWidgets.QListWidgetItem() if self.prj.is_valid_project_folder(folder)[0]: new_item.setIcon( QtGui.QIcon( os.path.join(self.parent_win.media, 'project.png'))) elif self.prj.is_valid_survey_folder(folder)[0]: new_item.setIcon( QtGui.QIcon(os.path.join(self.parent_win.media, 'srv.png'))) elif self.prj.is_valid_report_folder(folder)[0]: new_item.setIcon( QtGui.QIcon( os.path.join(self.parent_win.media, 'report.png'))) else: new_item.setIcon( QtGui.QIcon( os.path.join(self.parent_win.media, 'folder.png'))) new_item.setText(folder) new_item.setFont(GuiSettings.console_font()) new_item.setForeground(GuiSettings.console_fg_color()) self.root_folders.addItem(new_item)
def _update_input_s57_list(self): """ update the s57 list widget """ s57_list = self.parent_win.prj.s57_list self.input_s57.clear() for s57 in s57_list: new_item = QtWidgets.QListWidgetItem() if os.path.splitext(s57)[-1] == ".000": new_item.setIcon(QtGui.QIcon(os.path.join(self.parent_win.media, 's57.png'))) new_item.setText(s57) new_item.setFont(GuiSettings.console_font()) new_item.setForeground(GuiSettings.console_fg_color()) self.input_s57.addItem(new_item)
def _update_input_grid_list(self): """ update the grid list widget """ grid_list = self.parent_win.prj.grid_list self.input_grids.clear() for grid in grid_list: new_item = QtWidgets.QListWidgetItem() if os.path.splitext(grid)[-1] == ".bag": new_item.setIcon(QtGui.QIcon(os.path.join(self.parent_win.media, 'bag.png'))) elif os.path.splitext(grid)[-1] == ".csar": new_item.setIcon(QtGui.QIcon(os.path.join(self.parent_win.media, 'csar.png'))) elif GridsManager.is_kluster_path(grid): new_item.setIcon(QtGui.QIcon(os.path.join(self.parent_win.media, 'kluster.png'))) new_item.setText(grid) new_item.setFont(GuiSettings.console_font()) new_item.setForeground(GuiSettings.console_fg_color()) self.input_grids.addItem(new_item)
def _add_folder(self, selection): path_len = len(selection) logger.debug("folder path length: %d" % path_len) if path_len > 140: msg = 'The selected path is %d characters long. ' \ 'This may trigger the filename truncation of generated outputs (max allowed path length: 260).\n\n' \ 'Do you really want to use: %s?' % (path_len, selection) msg_box = QtWidgets.QMessageBox(self) msg_box.setWindowTitle("Output folder") msg_box.setText(msg) msg_box.setStandardButtons(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) msg_box.setDefaultButton(QtWidgets.QMessageBox.No) reply = msg_box.exec_() if reply == QtWidgets.QMessageBox.No: return # attempt to read the data try: self.prj.output_folder = selection except Exception as e: # more general case that catches all the exceptions msg = '<b>Error setting the output folder to \"%s\".</b>' % selection msg += '<br><br><font color=\"red\">%s</font>' % e # noinspection PyCallByClass QtWidgets.QMessageBox.critical(self, "Output Folder Error", msg, QtWidgets.QMessageBox.Ok) logger.debug('output folder NOT set: %s' % selection) return self.output_folder.clear() new_item = QtWidgets.QListWidgetItem() new_item.setIcon( QtGui.QIcon(os.path.join(self.parent_win.media, 'folder.png'))) new_item.setText("%s" % self.prj.output_folder) new_item.setFont(GuiSettings.console_font()) new_item.setForeground(GuiSettings.console_fg_color()) self.output_folder.addItem(new_item) QtCore.QSettings().setValue("chart_export_folder", self.prj.output_folder) logger.debug("new output folder: %s" % self.prj.output_folder)
def _ui_parameters_xyv2(self): vbox = QtWidgets.QVBoxLayout() self.setParametersXYv2.setLayout(vbox) vbox.addStretch() # set crs hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_crs_group_xyv2 = QtWidgets.QGroupBox( "Coordinate Reference System") self.set_crs_group_xyv2.setFlat(True) hbox.addWidget(self.set_crs_group_xyv2) gvbox = QtWidgets.QVBoxLayout() self.set_crs_group_xyv2.setLayout(gvbox) self.set_keep_crs_xyv2 = QtWidgets.QRadioButton("Keep original CRS") gvbox.addWidget(self.set_keep_crs_xyv2) self.set_keep_crs_xyv2.setChecked(True) self.set_geo_crs_xyv2 = QtWidgets.QRadioButton( "Convert to Geographic WGS84") gvbox.addWidget(self.set_geo_crs_xyv2) self.set_epsg_crs_xyv2 = QtWidgets.QRadioButton( "Convert to EPSG code:") gvbox.addWidget(self.set_epsg_crs_xyv2) ghbox = QtWidgets.QHBoxLayout() gvbox.addLayout(ghbox) ghbox.addStretch() self.set_epsg_xyv2 = QtWidgets.QComboBox() self.set_epsg_xyv2.addItems(list(self.crs.keys())) self.set_epsg_xyv2.setEditable(True) self.set_epsg_xyv2.setCurrentText("") ghbox.addWidget(self.set_epsg_xyv2) ghbox.addStretch() gvbox.addStretch() hbox.addStretch() # set elevation/depth hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_z_label_xyv2 = QtWidgets.QLabel("Z convention:") hbox.addWidget(self.set_z_label_xyv2) self.set_z_label_xyv2.setFixedHeight(GuiSettings.single_line_height()) self.set_z_xyv2 = QtWidgets.QGroupBox("") self.set_z_xyv2.setFlat(True) self.set_z_xyv2.setStyleSheet("border:0; padding:0; margin:0;") hbox.addWidget(self.set_z_xyv2) group_hbox = QtWidgets.QHBoxLayout() self.set_z_xyv2.setLayout(group_hbox) self.set_z_depth = QtWidgets.QRadioButton("&Depth") group_hbox.addWidget(self.set_z_depth) self.set_z_elevation = QtWidgets.QRadioButton("&Elevation") group_hbox.addWidget(self.set_z_elevation) self.set_z_depth.setChecked(True) hbox.addStretch() # set decimal places hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_dec_places_label_xyv2 = QtWidgets.QLabel( "Truncate after decimal place: ") hbox.addWidget(self.set_dec_places_label_xyv2) self.set_dec_places_label_xyv2.setFixedHeight( GuiSettings.single_line_height()) self.set_flag_truncation_xyv2 = QtWidgets.QCheckBox(self) hbox.addWidget(self.set_flag_truncation_xyv2) self.set_flag_truncation_xyv2.setChecked(False) # noinspection PyUnresolvedReferences self.set_flag_truncation_xyv2.clicked.connect(self._flag_truncation) self.set_dec_places_xyv2 = QtWidgets.QLineEdit("") hbox.addWidget(self.set_dec_places_xyv2) self.set_dec_places_xyv2.setFixedHeight( GuiSettings.single_line_height()) self.set_dec_places_xyv2.setValidator( QtGui.QIntValidator(0, 99, self.set_dec_places_xyv2)) self.set_dec_places_xyv2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_dec_places_xyv2.setReadOnly(False) self.set_dec_places_xyv2.setFont(GuiSettings.console_font()) self.set_dec_places_xyv2.setFixedWidth(30) self.set_dec_places_xyv2.setDisabled(True) self.set_dec_places_xyv2.setText("1") hbox.addStretch() # set output order hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_output_order_label_xyv2 = QtWidgets.QLabel("Output order: ") hbox.addWidget(self.set_output_order_label_xyv2) self.set_output_order_xyv2 = QtWidgets.QComboBox() self.set_output_order_xyv2.addItems( ['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx']) self.set_output_order_xyv2.setCurrentText('yxz') hbox.addWidget(self.set_output_order_xyv2) hbox.addStretch() vbox.addStretch()
def _ui_settings_params_filters_ffv8(self, vbox: QtWidgets.QVBoxLayout, min_group_box: int) -> None: hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() set_filters_ffv8 = QtWidgets.QGroupBox("Filters") set_filters_ffv8.setMinimumWidth(min_group_box) hbox.addWidget(set_filters_ffv8) flt_vbox = QtWidgets.QVBoxLayout() set_filters_ffv8.setLayout(flt_vbox) # set distance distance_hbox = QtWidgets.QHBoxLayout() flt_vbox.addLayout(distance_hbox) self.set_distance_label_ffv8 = QtWidgets.QLabel("Distance <=") self.set_distance_label_ffv8.setDisabled(True) distance_hbox.addWidget(self.set_distance_label_ffv8) self.set_distance_label_ffv8.setFixedHeight( GuiSettings.single_line_height()) self.set_distance_ffv8 = QtWidgets.QLineEdit("") distance_hbox.addWidget(self.set_distance_ffv8) self.set_distance_ffv8.setFixedHeight(GuiSettings.single_line_height()) # self.set_distance_ffv8.setValidator(QtGui.QDoubleValidator(0.00001, 9999, 5, self.set_distance_ffv8)) # noinspection PyUnresolvedReferences self.set_distance_ffv8.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_distance_ffv8.setReadOnly(False) self.set_distance_ffv8.setFont(GuiSettings.console_font()) self.set_distance_ffv8.setFixedWidth(60) self.set_distance_ffv8.setText("%.1f" % FindFliersV8.default_filter_distance) self.set_distance_ffv8.setDisabled(True) self.set_distance_label2_ffv8 = QtWidgets.QLabel("nodes") self.set_distance_label2_ffv8.setDisabled(True) distance_hbox.addWidget(self.set_distance_label2_ffv8) distance_hbox.addStretch() # set delta_z delta_z_hbox = QtWidgets.QHBoxLayout() flt_vbox.addLayout(delta_z_hbox) self.set_delta_z_label_ffv8 = QtWidgets.QLabel("Delta Z <=") self.set_delta_z_label_ffv8.setDisabled(True) delta_z_hbox.addWidget(self.set_delta_z_label_ffv8) self.set_delta_z_label_ffv8.setFixedHeight( GuiSettings.single_line_height()) self.set_delta_z_ffv8 = QtWidgets.QLineEdit("") delta_z_hbox.addWidget(self.set_delta_z_ffv8) self.set_delta_z_ffv8.setFixedHeight(GuiSettings.single_line_height()) # self.set_delta_z_ffv8.setValidator(QtGui.QDoubleValidator(0.00001, 9999, 5, self.set_delta_z_ffv8)) # noinspection PyUnresolvedReferences self.set_delta_z_ffv8.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_delta_z_ffv8.setReadOnly(False) self.set_delta_z_ffv8.setFont(GuiSettings.console_font()) self.set_delta_z_ffv8.setFixedWidth(60) self.set_delta_z_ffv8.setText("%.2f" % FindFliersV8.default_filter_delta_z) self.set_delta_z_ffv8.setDisabled(True) self.set_delta_z_label2_ffv8 = QtWidgets.QLabel("meters") self.set_delta_z_label2_ffv8.setDisabled(True) delta_z_hbox.addWidget(self.set_delta_z_label2_ffv8) delta_z_hbox.addStretch() flt_vbox.addSpacing(6) self.set_filter_fff_ffv8 = QtWidgets.QCheckBox( "#1: Use Features from S57 File") self.set_filter_fff_ffv8.setDisabled(True) self.set_filter_fff_ffv8.setChecked( self.settings.value("survey/ff8_fff", 0) == 1) flt_vbox.addWidget(self.set_filter_fff_ffv8) self.set_filter_designated_ffv8 = QtWidgets.QCheckBox( "#2: Use Designated (SR BAG only)") self.set_filter_designated_ffv8.setDisabled(True) self.set_filter_designated_ffv8.setChecked( self.settings.value("survey/ff8_designated", 0) == 1) flt_vbox.addWidget(self.set_filter_designated_ffv8) hbox.addStretch()
def _ui_settings_params_checks_ffv8(self, vbox: QtWidgets.QVBoxLayout, min_group_box: int) -> None: hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() set_checks_ffv8 = QtWidgets.QGroupBox("Checks") set_checks_ffv8.setMinimumWidth(min_group_box) hbox.addWidget(set_checks_ffv8) chk_vbox = QtWidgets.QVBoxLayout() set_checks_ffv8.setLayout(chk_vbox) # set height height_hbox = QtWidgets.QHBoxLayout() chk_vbox.addLayout(height_hbox) self.set_height_label_ffv8 = QtWidgets.QLabel("Force flier heights to") self.set_height_label_ffv8.setDisabled(True) height_hbox.addWidget(self.set_height_label_ffv8) self.set_height_label_ffv8.setFixedHeight( GuiSettings.single_line_height()) self.set_height_ffv8 = QtWidgets.QLineEdit("") height_hbox.addWidget(self.set_height_ffv8) self.set_height_ffv8.setFixedHeight(GuiSettings.single_line_height()) # self.set_height_ffv8.setValidator(QtGui.QDoubleValidator(0.00001, 9999, 5, self.set_height_ffv8)) # noinspection PyUnresolvedReferences self.set_height_ffv8.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_height_ffv8.setReadOnly(False) self.set_height_ffv8.setFont(GuiSettings.console_font()) self.set_height_ffv8.setFixedWidth(60) self.set_height_ffv8.setDisabled(True) self.set_height_label2_ffv8 = QtWidgets.QLabel("meters") self.set_height_label2_ffv8.setDisabled(True) height_hbox.addWidget(self.set_height_label2_ffv8) height_hbox.addStretch() chk_vbox.addSpacing(6) self.set_check_laplacian_ffv8 = QtWidgets.QCheckBox( "#1: Laplacian Operator") self.set_check_laplacian_ffv8.setDisabled(True) self.set_check_laplacian_ffv8.setChecked( self.settings.value("survey/ff8_laplacian", 0) == 1) chk_vbox.addWidget(self.set_check_laplacian_ffv8) self.set_check_curv_ffv8 = QtWidgets.QCheckBox( "#2: Gaussian Curvature") self.set_check_curv_ffv8.setDisabled(True) self.set_check_curv_ffv8.setChecked( self.settings.value("survey/ff8_gaussian", 1) == 1) chk_vbox.addWidget(self.set_check_curv_ffv8) self.set_check_adjacent_ffv8 = QtWidgets.QCheckBox( "#3: Adjacent Cells") self.set_check_adjacent_ffv8.setDisabled(True) self.set_check_adjacent_ffv8.setChecked( self.settings.value("survey/ff8_adjacent", 1) == 1) chk_vbox.addWidget(self.set_check_adjacent_ffv8) self.set_check_slivers_ffv8 = QtWidgets.QCheckBox("#4: Edge Slivers") self.set_check_slivers_ffv8.setDisabled(True) self.set_check_slivers_ffv8.setChecked( self.settings.value("survey/ff8_slivers", 1) == 1) chk_vbox.addWidget(self.set_check_slivers_ffv8) self.set_check_isolated_ffv8 = QtWidgets.QCheckBox( "#5: Isolated Nodes") self.set_check_isolated_ffv8.setDisabled(True) self.set_check_isolated_ffv8.setChecked( self.settings.value("survey/ff8_orphans", 0) == 1) chk_vbox.addWidget(self.set_check_isolated_ffv8) self.set_check_edges_ffv8 = QtWidgets.QCheckBox("#6: Noisy Edges") self.set_check_edges_ffv8.setDisabled(True) self.set_check_edges_ffv8.setChecked( self.settings.value("survey/ff8_edges", 0) == 1) self.set_check_edges_ffv8.stateChanged.connect(self.click_set_6) chk_vbox.addWidget(self.set_check_edges_ffv8) slider_pct_gbox = QtWidgets.QGridLayout() chk_vbox.addLayout(slider_pct_gbox) # labels text_sz = 36 text_label = QtWidgets.QLabel("") slider_pct_gbox.addWidget(text_label, 0, 0, 1, 1) self.text_pct_90 = QtWidgets.QLabel("90") self.text_pct_90.setFixedWidth(text_sz) self.text_pct_90.setAlignment(QtCore.Qt.AlignLeft) self.text_pct_90.setStyleSheet(GuiSettings.stylesheet_slider_labels()) self.text_pct_90.setDisabled(True) slider_pct_gbox.addWidget(self.text_pct_90, 0, 1, 1, 1) self.text_pct_100 = QtWidgets.QLabel("100") self.text_pct_100.setFixedWidth(text_sz) self.text_pct_100.setAlignment(QtCore.Qt.AlignLeft) self.text_pct_100.setStyleSheet(GuiSettings.stylesheet_slider_labels()) self.text_pct_100.setDisabled(True) slider_pct_gbox.addWidget(self.text_pct_100, 0, 2, 1, 1) self.text_pct_125 = QtWidgets.QLabel("125") self.text_pct_125.setFixedWidth(text_sz) self.text_pct_125.setAlignment(QtCore.Qt.AlignCenter) self.text_pct_125.setStyleSheet(GuiSettings.stylesheet_slider_labels()) self.text_pct_125.setDisabled(True) slider_pct_gbox.addWidget(self.text_pct_125, 0, 3, 1, 1) self.text_pct_150 = QtWidgets.QLabel("150") self.text_pct_150.setFixedWidth(text_sz) self.text_pct_150.setAlignment(QtCore.Qt.AlignRight) self.text_pct_150.setStyleSheet(GuiSettings.stylesheet_slider_labels()) self.text_pct_150.setDisabled(True) slider_pct_gbox.addWidget(self.text_pct_150, 0, 4, 1, 1) self.text_pct_200 = QtWidgets.QLabel("200") self.text_pct_200.setFixedWidth(text_sz) self.text_pct_200.setAlignment(QtCore.Qt.AlignRight) self.text_pct_200.setStyleSheet(GuiSettings.stylesheet_slider_labels()) self.text_pct_200.setDisabled(True) slider_pct_gbox.addWidget(self.text_pct_200, 0, 5, 1, 1) self.text_pct = QtWidgets.QLabel("Pct. TVU") self.text_pct.setDisabled(True) slider_pct_gbox.addWidget(self.text_pct, 1, 0, 1, 1) self.slider_edges_pct_tvu_v8 = QtWidgets.QSlider(QtCore.Qt.Horizontal) self.slider_edges_pct_tvu_v8.setRange(1, 5) self.slider_edges_pct_tvu_v8.setSingleStep(1) self.slider_edges_pct_tvu_v8.setValue(2) self.slider_edges_pct_tvu_v8.setTickInterval(1) self.slider_edges_pct_tvu_v8.setTickPosition( QtWidgets.QSlider.TicksBelow) self.slider_edges_pct_tvu_v8.setDisabled(True) slider_pct_gbox.addWidget(self.slider_edges_pct_tvu_v8, 1, 1, 1, 5) slider_distance_gbox = QtWidgets.QGridLayout() chk_vbox.addLayout(slider_distance_gbox) # labels text_sz = 36 text_label = QtWidgets.QLabel("") slider_distance_gbox.addWidget(text_label, 0, 0, 1, 1) self.text_distance_2 = QtWidgets.QLabel("2") self.text_distance_2.setFixedWidth(text_sz) self.text_distance_2.setAlignment(QtCore.Qt.AlignLeft) self.text_distance_2.setStyleSheet( GuiSettings.stylesheet_slider_labels()) self.text_distance_2.setDisabled(True) self.text_distance_2.setHidden(True) slider_distance_gbox.addWidget(self.text_distance_2, 0, 1, 1, 4) self.text_distance_3 = QtWidgets.QLabel("3") self.text_distance_3.setFixedWidth(text_sz) self.text_distance_3.setAlignment(QtCore.Qt.AlignRight) self.text_distance_3.setStyleSheet( GuiSettings.stylesheet_slider_labels()) self.text_distance_3.setDisabled(True) self.text_distance_3.setHidden(True) slider_distance_gbox.addWidget(self.text_distance_3, 0, 5, 1, 1) self.text_distance = QtWidgets.QLabel("Distance") self.text_distance.setHidden(True) self.text_distance.setDisabled(True) slider_distance_gbox.addWidget(self.text_distance, 1, 0, 1, 1) self.slider_edges_distance_v8 = QtWidgets.QSlider(QtCore.Qt.Horizontal) self.slider_edges_distance_v8.setRange(2, 3) self.slider_edges_distance_v8.setSingleStep(1) self.slider_edges_distance_v8.setValue(3) self.slider_edges_distance_v8.setTickInterval(1) self.slider_edges_distance_v8.setTickPosition( QtWidgets.QSlider.TicksBelow) self.slider_edges_distance_v8.setDisabled(True) self.slider_edges_distance_v8.setHidden(True) slider_distance_gbox.addWidget(self.slider_edges_distance_v8, 1, 1, 1, 5) hbox.addStretch()
def _ui_parameters_dsv2(self): vbox = QtWidgets.QVBoxLayout() self.setParametersDSv1.setLayout(vbox) vbox.addStretch() toggle_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(toggle_hbox) # stretch toggle_hbox.addStretch() # specs self.toggle_specs_v2 = QtWidgets.QDial() self.toggle_specs_v2.setNotchesVisible(True) self.toggle_specs_v2.setFocusPolicy(QtCore.Qt.StrongFocus) self.toggle_specs_v2.setRange(2016, 2017) self.toggle_specs_v2.setValue(2017) self.toggle_specs_v2.setFixedSize(QtCore.QSize(48, 48)) self.toggle_specs_v2.setInvertedAppearance(False) toggle_hbox.addWidget(self.toggle_specs_v2) # stretch toggle_hbox.addStretch() label_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(label_hbox) # stretch label_hbox.addStretch() # specs label_hbox.addSpacing(20) text_0 = QtWidgets.QLabel("2016") text_0.setAlignment(QtCore.Qt.AlignLeft) text_0.setFixedWidth(40) label_hbox.addWidget(text_0) text_1 = QtWidgets.QLabel("2017+") text_1.setAlignment(QtCore.Qt.AlignRight) text_1.setFixedWidth(40) # text_1.setStyleSheet("QLabel { color : rgb(200, 0, 0, 200); }") label_hbox.addWidget(text_1) label_hbox.addSpacing(5) # stretch label_hbox.addStretch() hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) vbox.addSpacing(10) # survey scale scale_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(scale_hbox) scale_hbox.addStretch() text_set_scale = QtWidgets.QLabel("Survey scale: 1 :") scale_hbox.addWidget(text_set_scale) text_set_scale.setFixedHeight(GuiSettings.single_line_height()) text_set_scale.setMinimumWidth(90) self.set_scale_dsv2 = QtWidgets.QLineEdit("") scale_hbox.addWidget(self.set_scale_dsv2) self.set_scale_dsv2.setFixedHeight(GuiSettings.single_line_height()) self.set_scale_dsv2.setValidator( QtGui.QIntValidator(1, 99999999, self.set_scale_dsv2)) self.set_scale_dsv2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_scale_dsv2.setReadOnly(False) self.set_scale_dsv2.setFont(GuiSettings.console_font()) self.set_scale_dsv2.setStyleSheet( GuiSettings.stylesheet_console_fg_color()) self.set_scale_dsv2.setFixedWidth(60) scale_hbox.addStretch() vbox.addSpacing(20) hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() text_checks = QtWidgets.QLabel("Additional checks:") hbox.addWidget(text_checks) # text_checks.setFixedHeight(GuiSettings.single_line_height()) text_checks.setMinimumWidth(80) text_checks.setStyleSheet("QLabel { color : #aaaaaa; }") hbox.addStretch() hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() text_set_neighborhood = QtWidgets.QLabel("Evaluate neighborhood") hbox.addWidget(text_set_neighborhood) text_set_neighborhood.setFixedHeight(GuiSettings.single_line_height()) text_set_neighborhood.setMinimumWidth(80) # text_set_neighborhood.setStyleSheet("QLabel { color : rgba(200, 0, 0, 200); }") self.set_neighborhood_dsv2 = QtWidgets.QCheckBox(self) self.set_neighborhood_dsv2.setToolTip( "Experimental check that evaluates the neighborhood of each " "designated sounding") hbox.addWidget(self.set_neighborhood_dsv2) self.set_neighborhood_dsv2.setChecked(False) hbox.addStretch() vbox.addStretch()
def _ui_settings_params_checks_ffv8(self, vbox: QtWidgets.QVBoxLayout, min_group_box: int) -> None: hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() set_checks_ffv8 = QtWidgets.QGroupBox("Checks") set_checks_ffv8.setMinimumWidth(min_group_box) hbox.addWidget(set_checks_ffv8) chk_vbox = QtWidgets.QVBoxLayout() set_checks_ffv8.setLayout(chk_vbox) # set height height_hbox = QtWidgets.QHBoxLayout() chk_vbox.addLayout(height_hbox) self.set_height_label_ffv8 = QtWidgets.QLabel("Force flier heights to") self.set_height_label_ffv8.setDisabled(True) height_hbox.addWidget(self.set_height_label_ffv8) self.set_height_label_ffv8.setFixedHeight( GuiSettings.single_line_height()) self.set_height_ffv8 = QtWidgets.QLineEdit("") height_hbox.addWidget(self.set_height_ffv8) self.set_height_ffv8.setFixedHeight(GuiSettings.single_line_height()) # self.set_height_ffv8.setValidator(QtGui.QDoubleValidator(0.00001, 9999, 5, self.set_height_ffv8)) # noinspection PyUnresolvedReferences self.set_height_ffv8.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_height_ffv8.setReadOnly(False) self.set_height_ffv8.setFont(GuiSettings.console_font()) self.set_height_ffv8.setFixedWidth(60) self.set_height_ffv8.setDisabled(True) self.set_height_label2_ffv8 = QtWidgets.QLabel("meters") self.set_height_label2_ffv8.setDisabled(True) height_hbox.addWidget(self.set_height_label2_ffv8) height_hbox.addStretch() chk_vbox.addSpacing(6) self.set_check_laplacian_ffv8 = QtWidgets.QCheckBox( "#1: Laplacian Operator") self.set_check_laplacian_ffv8.setDisabled(True) self.set_check_laplacian_ffv8.setChecked( self.settings.value("survey/ff8_laplacian", 0) == 1) chk_vbox.addWidget(self.set_check_laplacian_ffv8) self.set_check_curv_ffv8 = QtWidgets.QCheckBox( "#2: Gaussian Curvature") self.set_check_curv_ffv8.setDisabled(True) self.set_check_curv_ffv8.setChecked( self.settings.value("survey/ff8_gaussian", 1) == 1) chk_vbox.addWidget(self.set_check_curv_ffv8) self.set_check_adjacent_ffv8 = QtWidgets.QCheckBox( "#3: Adjacent Cells") self.set_check_adjacent_ffv8.setDisabled(True) self.set_check_adjacent_ffv8.setChecked( self.settings.value("survey/ff8_adjacent", 1) == 1) chk_vbox.addWidget(self.set_check_adjacent_ffv8) self.set_check_slivers_ffv8 = QtWidgets.QCheckBox("#4: Edge Slivers") self.set_check_slivers_ffv8.setDisabled(True) self.set_check_slivers_ffv8.setChecked( self.settings.value("survey/ff8_slivers", 1) == 1) chk_vbox.addWidget(self.set_check_slivers_ffv8) self.set_check_isolated_ffv8 = QtWidgets.QCheckBox( "#5: Isolated Nodes") self.set_check_isolated_ffv8.setDisabled(True) self.set_check_isolated_ffv8.setChecked( self.settings.value("survey/ff8_orphans", 0) == 1) chk_vbox.addWidget(self.set_check_isolated_ffv8) self.set_check_edges_ffv8 = QtWidgets.QCheckBox("#6: Noisy Edges") self.set_check_edges_ffv8.setDisabled(True) self.set_check_edges_ffv8.setChecked( self.settings.value("survey/ff8_edges", 0) == 1) chk_vbox.addWidget(self.set_check_edges_ffv8) hbox.addStretch()
def __init__(self, parent_win, prj): QtWidgets.QMainWindow.__init__(self) # store a project reference self.prj = prj self.parent_win = parent_win # ui self.panel = QtWidgets.QFrame() self.setCentralWidget(self.panel) self.vbox = QtWidgets.QVBoxLayout() self.panel.setLayout(self.vbox) self.loadData = QtWidgets.QGroupBox( "Data inputs [drap-and-drop to add, right click to drop files]") self.loadData.setStyleSheet( "QGroupBox::title { color: rgb(155, 155, 155); }") self.vbox.addWidget(self.loadData) vbox = QtWidgets.QVBoxLayout() self.loadData.setLayout(vbox) # add grids hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) text_add_grids = QtWidgets.QLabel("BAG grids:") hbox.addWidget(text_add_grids) # text_add_grids.setFixedHeight(GuiSettings.single_line_height()) text_add_grids.setMinimumWidth(68) self.input_grids = QtWidgets.QListWidget() hbox.addWidget(self.input_grids) self.input_grids.setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection) self.input_grids.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) # noinspection PyUnresolvedReferences self.input_grids.customContextMenuRequested.connect( self.make_grids_context_menu) self.input_grids.setAlternatingRowColors(True) # Enable dropping onto the input grid list self.input_grids.setAcceptDrops(True) self.input_grids.installEventFilter(self) button_add_grids = QtWidgets.QPushButton() hbox.addWidget(button_add_grids) button_add_grids.setFixedHeight(GuiSettings.single_line_height()) button_add_grids.setFixedWidth(GuiSettings.single_line_height()) button_add_grids.setText(" + ") button_add_grids.setToolTip( 'Add (or drag-and-drop) BAG and CSAR files') # noinspection PyUnresolvedReferences button_add_grids.clicked.connect(self.click_add_grids) vbox.addStretch() # add s57 CS hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) text_add_cs = QtWidgets.QLabel("S57 H-Cell CS:") hbox.addWidget(text_add_cs) text_add_cs.setFixedHeight(GuiSettings.single_line_height()) text_add_cs.setMinimumWidth(68) self.input_cs = QtWidgets.QListWidget() hbox.addWidget(self.input_cs) self.input_cs.setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection) self.input_cs.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) # noinspection PyUnresolvedReferences self.input_cs.customContextMenuRequested.connect( self.make_s57_context_menu) self.input_cs.setAlternatingRowColors(True) self.input_cs.setMaximumHeight(26) # Enable dropping onto the input s57 list self.input_cs.setAcceptDrops(True) self.input_cs.installEventFilter(self) button_add_cs = QtWidgets.QPushButton() hbox.addWidget(button_add_cs) button_add_cs.setFixedHeight(GuiSettings.single_line_height()) button_add_cs.setFixedWidth(GuiSettings.single_line_height()) button_add_cs.setText(" + ") button_add_cs.setToolTip('Add (or drag-and-drop) CS S57 file') # noinspection PyUnresolvedReferences button_add_cs.clicked.connect(self.click_add_s57) # add ss hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) text_add_ss = QtWidgets.QLabel("S57 SS:") hbox.addWidget(text_add_ss) text_add_ss.setFixedHeight(GuiSettings.single_line_height()) text_add_ss.setMinimumWidth(68) self.input_ss = QtWidgets.QListWidget() hbox.addWidget(self.input_ss) self.input_ss.setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection) self.input_ss.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) # noinspection PyUnresolvedReferences self.input_ss.customContextMenuRequested.connect( self.make_ss_context_menu) self.input_ss.setAlternatingRowColors(True) self.input_ss.setMaximumHeight(26) # Enable dropping onto the input ss list self.input_ss.setAcceptDrops(True) self.input_ss.installEventFilter(self) button_add_ss = QtWidgets.QPushButton() hbox.addWidget(button_add_ss) button_add_ss.setFixedHeight(GuiSettings.single_line_height()) button_add_ss.setFixedWidth(GuiSettings.single_line_height()) button_add_ss.setText(" + ") button_add_ss.setToolTip('Add (or drag-and-drop) SS file') # noinspection PyUnresolvedReferences button_add_ss.clicked.connect(self.click_add_ss) vbox.addStretch() # clear data hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() button_clear_data = QtWidgets.QPushButton() hbox.addWidget(button_clear_data) button_clear_data.setFixedHeight(GuiSettings.single_line_height()) # button_clear_data.setFixedWidth(GuiSettings.single_line_height()) button_clear_data.setText("Clear data") button_clear_data.setToolTip('Clear all data loaded') # noinspection PyUnresolvedReferences button_clear_data.clicked.connect(self.click_clear_data) hbox.addStretch() self.vbox.addStretch() # data outputs self.savedData = QtWidgets.QGroupBox( "Data outputs [drap-and-drop the desired output folder]") self.savedData.setStyleSheet( "QGroupBox::title { color: rgb(155, 155, 155); }") self.savedData.setMaximumHeight(GuiSettings.single_line_height() * 8) self.vbox.addWidget(self.savedData) vbox = QtWidgets.QVBoxLayout() self.savedData.setLayout(vbox) # set optional formats hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) text_set_formats = QtWidgets.QLabel("Formats:") hbox.addWidget(text_set_formats) text_set_formats.setFixedHeight(GuiSettings.single_line_height()) text_set_formats.setMinimumWidth(64) self.output_pdf = QtWidgets.QCheckBox("PDF") self.output_pdf.setChecked(True) self.output_pdf.setDisabled(True) hbox.addWidget(self.output_pdf) self.output_s57 = QtWidgets.QCheckBox("S57") self.output_s57.setChecked(True) self.output_s57.setDisabled(True) hbox.addWidget(self.output_s57) self.output_shp = QtWidgets.QCheckBox("Shapefile") self.output_shp.setToolTip( 'Activate/deactivate the creation of Shapefiles in output') self.output_shp.setChecked(self.prj.output_shp) # noinspection PyUnresolvedReferences self.output_shp.clicked.connect(self.click_output_shp) hbox.addWidget(self.output_shp) self.output_kml = QtWidgets.QCheckBox("KML") self.output_kml.setToolTip( 'Activate/deactivate the creation of KML files in output') self.output_kml.setChecked(self.prj.output_kml) # noinspection PyUnresolvedReferences self.output_kml.clicked.connect(self.click_output_kml) hbox.addWidget(self.output_kml) hbox.addSpacing(36) text_set_prj_folder = QtWidgets.QLabel("Create project folder: ") hbox.addWidget(text_set_prj_folder) text_set_prj_folder.setFixedHeight(GuiSettings.single_line_height()) self.output_prj_folder = QtWidgets.QCheckBox("") self.output_prj_folder.setToolTip( 'Create a sub-folder with project name') self.output_prj_folder.setChecked(self.prj.output_project_folder) # noinspection PyUnresolvedReferences self.output_prj_folder.clicked.connect( self.click_output_project_folder) hbox.addWidget(self.output_prj_folder) text_set_subfolders = QtWidgets.QLabel("Per-tool sub-folders: ") hbox.addWidget(text_set_subfolders) text_set_subfolders.setFixedHeight(GuiSettings.single_line_height()) self.output_subfolders = QtWidgets.QCheckBox("") self.output_subfolders.setToolTip('Create a sub-folder for each tool') self.output_subfolders.setChecked(self.prj.output_subfolders) # noinspection PyUnresolvedReferences self.output_subfolders.clicked.connect(self.click_output_subfolders) hbox.addWidget(self.output_subfolders) hbox.addStretch() # add folder hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) text_add_folder = QtWidgets.QLabel("Folder:") hbox.addWidget(text_add_folder) text_add_folder.setFixedHeight(GuiSettings.single_line_height()) text_add_folder.setMinimumWidth(64) self.output_folder = QtWidgets.QListWidget() hbox.addWidget(self.output_folder) self.output_folder.setMinimumHeight(GuiSettings.single_line_height()) self.output_folder.setMaximumHeight(GuiSettings.single_line_height() * 2) self.output_folder.clear() new_item = QtWidgets.QListWidgetItem() new_item.setIcon( QtGui.QIcon(os.path.join(self.parent_win.media, 'folder.png'))) new_item.setText( "%s" % os.path.abspath(self.prj.output_folder).replace("\\", "/")) new_item.setFont(GuiSettings.console_font()) new_item.setForeground(GuiSettings.console_fg_color()) self.output_folder.addItem(new_item) # Enable dropping onto the input ss list self.output_folder.setAcceptDrops(True) self.output_folder.installEventFilter(self) button_add_folder = QtWidgets.QPushButton() hbox.addWidget(button_add_folder) button_add_folder.setFixedHeight(GuiSettings.single_line_height()) button_add_folder.setFixedWidth(GuiSettings.single_line_height()) button_add_folder.setText(" .. ") button_add_folder.setToolTip('Add (or drag-and-drop) output folder') # noinspection PyUnresolvedReferences button_add_folder.clicked.connect(self.click_add_folder) # open folder hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() button_default_output = QtWidgets.QPushButton() hbox.addWidget(button_default_output) button_default_output.setFixedHeight(GuiSettings.single_line_height()) # button_open_output.setFixedWidth(GuiSettings.single_line_height()) button_default_output.setText("Use default") button_default_output.setToolTip('Use the default output folder') # noinspection PyUnresolvedReferences button_default_output.clicked.connect(self.click_default_output) button_open_output = QtWidgets.QPushButton() hbox.addWidget(button_open_output) button_open_output.setFixedHeight(GuiSettings.single_line_height()) # button_open_output.setFixedWidth(GuiSettings.single_line_height()) button_open_output.setText("Open folder") button_open_output.setToolTip('Open the output folder') # noinspection PyUnresolvedReferences button_open_output.clicked.connect(self.click_open_output) hbox.addStretch() self.installEventFilter(self)
def _ui_parameters_btv2(self): # - top vbox = QtWidgets.QVBoxLayout() self.setParametersBTv2.setLayout(vbox) vbox.addStretch() flag_text_length = 160 # -- flag valsou flag_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(flag_hbox) flag_hbox.addStretch() text_set_valsous = QtWidgets.QLabel("Use VALSOU features: ") flag_hbox.addWidget(text_set_valsous) text_set_valsous.setFixedHeight(GuiSettings.single_line_height()) text_set_valsous.setMinimumWidth(flag_text_length) self.set_use_valsous_v2 = QtWidgets.QCheckBox(self) flag_hbox.addWidget(self.set_use_valsous_v2) self.set_use_valsous_v2.setChecked(self.use_valsous_v2) flag_hbox.addStretch() # -- flag depcnt flag_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(flag_hbox) flag_hbox.addStretch() text_set_depcnt = QtWidgets.QLabel("Use DEPCNT features: ") flag_hbox.addWidget(text_set_depcnt) text_set_depcnt.setFixedHeight(GuiSettings.single_line_height()) text_set_depcnt.setMinimumWidth(flag_text_length) self.set_use_depcnt_v2 = QtWidgets.QCheckBox(self) flag_hbox.addWidget(self.set_use_depcnt_v2) self.set_use_depcnt_v2.setChecked(self.use_depcnt_v2) flag_hbox.addStretch() # -- calculate deeps flag_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(flag_hbox) flag_hbox.addStretch() text_detect_deeps = QtWidgets.QLabel("Detect deeps: ") flag_hbox.addWidget(text_detect_deeps) text_detect_deeps.setFixedHeight(GuiSettings.single_line_height()) text_detect_deeps.setMinimumWidth(flag_text_length) self.set_detect_deeps_v2 = QtWidgets.QCheckBox(self) flag_hbox.addWidget(self.set_detect_deeps_v2) self.set_detect_deeps_v2.setChecked(self.detect_deeps_v2) flag_hbox.addStretch() # meter multiplier meter_multi_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(meter_multi_hbox) meter_multi_hbox.addStretch() self.text_set_meter_th_v2 = QtWidgets.QLabel("Force threshold (m): ") meter_multi_hbox.addWidget(self.text_set_meter_th_v2) self.text_set_meter_th_v2.setFixedHeight( GuiSettings.single_line_height()) self.text_set_meter_th_v2.setMinimumWidth(120) self.set_meter_th_v2 = QtWidgets.QLineEdit("") meter_multi_hbox.addWidget(self.set_meter_th_v2) self.set_meter_th_v2.setFixedHeight(GuiSettings.single_line_height()) self.set_meter_th_v2.setValidator( QtGui.QDoubleValidator(0.01, 9999.9, 2, self.set_meter_th_v2)) self.set_meter_th_v2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_meter_th_v2.setReadOnly(False) self.set_meter_th_v2.setFont(GuiSettings.console_font()) self.set_meter_th_v2.setFixedWidth(60) self.set_meter_th_v2.setText("1.0") self.disable_meter_th() meter_multi_hbox.addStretch() # - top vbox.addSpacing(10) # -- Chart Sounding Unit csu_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(csu_hbox) # stretch csu_hbox.addStretch() csu_hbox.addSpacing(40) # -- left label # label text_field = QtWidgets.QLabel("Sounding Units: ") text_field.setAlignment(QtCore.Qt.AlignVCenter) text_field.setFixedWidth(80) csu_hbox.addWidget(text_field) # -- toggle area toggle_vbox = QtWidgets.QVBoxLayout() csu_hbox.addLayout(toggle_vbox) # --- knob 1 label label1_hbox = QtWidgets.QHBoxLayout() toggle_vbox.addLayout(label1_hbox) # stretch label1_hbox.addStretch() # feet label text_field = QtWidgets.QLabel("Meters") text_field.setAlignment(QtCore.Qt.AlignCenter) text_field.setFixedWidth(40) label1_hbox.addWidget(text_field) # stretch label1_hbox.addStretch() # --- knob knob_hbox = QtWidgets.QHBoxLayout() toggle_vbox.addLayout(knob_hbox) # stretch knob_hbox.addStretch() # units self.toggle_units_v2 = QtWidgets.QDial() self.toggle_units_v2.setNotchesVisible(True) self.toggle_units_v2.setFocusPolicy(QtCore.Qt.StrongFocus) self.toggle_units_v2.setRange(0, 2) self.toggle_units_v2.setFixedSize(QtCore.QSize(50, 50)) self.toggle_units_v2.setInvertedAppearance(False) # noinspection PyUnresolvedReferences self.toggle_units_v2.valueChanged.connect(self.unit_changed) knob_hbox.addWidget(self.toggle_units_v2) # stretch knob_hbox.addStretch() # --- knob 2 label label2_hbox = QtWidgets.QHBoxLayout() toggle_vbox.addLayout(label2_hbox) # stretch label2_hbox.addStretch() # feet label text_field = QtWidgets.QLabel("Feet") text_field.setAlignment(QtCore.Qt.AlignCenter) text_field.setFixedWidth(40) label2_hbox.addWidget(text_field) # fathoms label text_office = QtWidgets.QLabel("Fathoms") text_office.setAlignment(QtCore.Qt.AlignCenter) text_office.setFixedWidth(45) label2_hbox.addWidget(text_office) # stretch label2_hbox.addStretch() # stretch csu_hbox.addStretch() # - top vbox.addStretch()
def _ui_parameters_vcv7(self): hbox = QtWidgets.QHBoxLayout() self.setParametersVCv7.setLayout(hbox) hbox.addStretch() vbox = QtWidgets.QVBoxLayout() hbox.addLayout(vbox) vbox.addStretch() label_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(label_hbox) # stretch label_hbox.addStretch() # specs text_2017 = QtWidgets.QLabel("2017") text_2017.setAlignment(QtCore.Qt.AlignCenter) text_2017.setFixedWidth(160) label_hbox.addWidget(text_2017) # # spacing # label_hbox.addSpacing(20) # specs empty = QtWidgets.QLabel("") empty.setAlignment(QtCore.Qt.AlignCenter) empty.setFixedWidth(160) label_hbox.addWidget(empty) # stretch label_hbox.addStretch() toggle_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(toggle_hbox) # stretch toggle_hbox.addStretch() # specs self.toggle_specs_v7 = QtWidgets.QDial() self.toggle_specs_v7.setNotchesVisible(True) self.toggle_specs_v7.setFocusPolicy(QtCore.Qt.StrongFocus) self.toggle_specs_v7.setRange(2016, 2018) self.toggle_specs_v7.setValue(2018) self.toggle_specs_v7.setFixedSize(QtCore.QSize(40, 40)) self.toggle_specs_v7.setInvertedAppearance(False) toggle_hbox.addWidget(self.toggle_specs_v7) # noinspection PyUnresolvedReferences self.toggle_specs_v7.valueChanged.connect(self.changed_specs) # spacing toggle_hbox.addSpacing(120) # mode self.toggle_mode_v7 = QtWidgets.QDial() self.toggle_mode_v7.setNotchesVisible(True) self.toggle_mode_v7.setWrapping(False) self.toggle_mode_v7.setFocusPolicy(QtCore.Qt.StrongFocus) self.toggle_mode_v7.setRange(0, 1) self.toggle_mode_v7.setSliderPosition(0) self.toggle_mode_v7.setFixedSize(QtCore.QSize(40, 40)) self.toggle_mode_v7.setInvertedAppearance(False) toggle_hbox.addWidget(self.toggle_mode_v7) # stretch toggle_hbox.addStretch() label2_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(label2_hbox) # stretch label2_hbox.addStretch() # specs label2_hbox.addSpacing(40) text_2016 = QtWidgets.QLabel("2016") text_2016.setAlignment(QtCore.Qt.AlignCenter) text_2016.setFixedWidth(40) label2_hbox.addWidget(text_2016) text_2018 = QtWidgets.QLabel("2018+") text_2018.setAlignment(QtCore.Qt.AlignCenter) text_2018.setFixedWidth(70) label2_hbox.addWidget(text_2018) # spacing label2_hbox.addSpacing(10) # mode text_obj = QtWidgets.QLabel("Full coverage") text_obj.setAlignment(QtCore.Qt.AlignCenter) text_obj.setFixedWidth(85) label2_hbox.addWidget(text_obj) text_cov = QtWidgets.QLabel("Object detection") text_cov.setAlignment(QtCore.Qt.AlignCenter) text_cov.setFixedWidth(85) label2_hbox.addWidget(text_cov) # stretch label2_hbox.addStretch() vbox.addSpacing(10) # survey scale scale_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(scale_hbox) scale_hbox.addStretch() self.text_set_scale_v7 = QtWidgets.QLabel("Survey scale: 1 :") scale_hbox.addWidget(self.text_set_scale_v7) self.text_set_scale_v7.setFixedHeight(GuiSettings.single_line_height()) self.text_set_scale_v7.setMinimumWidth(90) self.set_scale_fsv7 = QtWidgets.QLineEdit("") scale_hbox.addWidget(self.set_scale_fsv7) self.set_scale_fsv7.setFixedHeight(GuiSettings.single_line_height()) self.set_scale_fsv7.setValidator(QtGui.QIntValidator(1, 99999999, self.set_scale_fsv7)) self.set_scale_fsv7.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_scale_fsv7.setReadOnly(False) self.set_scale_fsv7.setFont(GuiSettings.console_font()) self.set_scale_fsv7.setStyleSheet(GuiSettings.stylesheet_console_fg_color()) self.set_scale_fsv7.setFixedWidth(60) self.text_set_scale_v7.setDisabled(True) self.set_scale_fsv7.setDisabled(True) scale_hbox.addStretch() vbox.addSpacing(10) options_hbox = QtWidgets.QHBoxLayout() vbox.addLayout(options_hbox) options_hbox.addStretch() text_set_overlap = QtWidgets.QLabel("Deconflict across grids") options_hbox.addWidget(text_set_overlap) text_set_overlap.setFixedHeight(GuiSettings.single_line_height()) text_set_overlap.setMinimumWidth(80) # text_set_overlap.setStyleSheet("QLabel { color : rgba(200, 0, 0, 200); }") self.set_overlap_fsv7 = QtWidgets.QCheckBox(self) self.set_overlap_fsv7.setToolTip("Test the flagged features across all the input grids") options_hbox.addWidget(self.set_overlap_fsv7) self.set_overlap_fsv7.setChecked(False) options_hbox.addSpacing(10) text_set_include_laser = QtWidgets.QLabel("Include TECSOU=laser") options_hbox.addWidget(text_set_include_laser) text_set_include_laser.setFixedHeight(GuiSettings.single_line_height()) text_set_include_laser.setMinimumWidth(80) # text_set_neighborhood.setStyleSheet("QLabel { color : rgba(200, 0, 0, 200); }") self.set_include_laser_fsv7 = QtWidgets.QCheckBox(self) self.set_include_laser_fsv7.setToolTip("Uncheck to skip features with TECSOU=laser") options_hbox.addWidget(self.set_include_laser_fsv7) self.set_include_laser_fsv7.setChecked(True) options_hbox.addStretch() vbox.addStretch() hbox.addStretch()
def _ui_parameters_xyv1(self): vbox = QtWidgets.QVBoxLayout() self.setParametersXYv1.setLayout(vbox) vbox.addStretch() # set decimal places hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_geo_label_xyv1 = QtWidgets.QLabel( "Force conversion to geographic WGS84:") self.set_geo_label_xyv1.setDisabled(False) hbox.addWidget(self.set_geo_label_xyv1) self.set_geo_label_xyv1.setFixedHeight( GuiSettings.single_line_height()) self.set_geo_xyv1 = QtWidgets.QCheckBox("") hbox.addWidget(self.set_geo_xyv1) self.set_geo_xyv1.setFixedHeight(GuiSettings.single_line_height()) self.set_geo_xyv1.setDisabled(False) self.set_geo_xyv1.setChecked(True) hbox.addStretch() # set elevation/depth hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_z_label_xyv1 = QtWidgets.QLabel("Z convention:") self.set_z_label_xyv1.setDisabled(False) hbox.addWidget(self.set_z_label_xyv1) self.set_z_label_xyv1.setFixedHeight(GuiSettings.single_line_height()) self.set_z_xyv1 = QtWidgets.QGroupBox("") self.set_z_xyv1.setFlat(True) self.set_z_xyv1.setHidden(True) hbox.addWidget(self.set_z_xyv1) self.set_z_depth = QtWidgets.QRadioButton("&Depth") hbox.addWidget(self.set_z_depth) self.set_z_elevation = QtWidgets.QRadioButton("&Elevation") hbox.addWidget(self.set_z_elevation) self.set_z_depth.setChecked(True) hbox.addStretch() # set decimal places hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) hbox.addStretch() self.set_dec_places_label_xyv1 = QtWidgets.QLabel( "Truncate after decimal place: ") hbox.addWidget(self.set_dec_places_label_xyv1) self.set_dec_places_label_xyv1.setFixedHeight( GuiSettings.single_line_height()) self.set_flag_truncation_xyv1 = QtWidgets.QCheckBox(self) hbox.addWidget(self.set_flag_truncation_xyv1) self.set_flag_truncation_xyv1.setChecked(False) # noinspection PyUnresolvedReferences self.set_flag_truncation_xyv1.clicked.connect(self._flag_truncation) self.set_dec_places_xyv1 = QtWidgets.QLineEdit("") hbox.addWidget(self.set_dec_places_xyv1) self.set_dec_places_xyv1.setFixedHeight( GuiSettings.single_line_height()) self.set_dec_places_xyv1.setValidator( QtGui.QIntValidator(0, 99, self.set_dec_places_xyv1)) self.set_dec_places_xyv1.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.set_dec_places_xyv1.setReadOnly(False) self.set_dec_places_xyv1.setFont(GuiSettings.console_font()) self.set_dec_places_xyv1.setFixedWidth(30) self.set_dec_places_xyv1.setDisabled(True) self.set_dec_places_xyv1.setText("1") hbox.addStretch() vbox.addStretch()