def populateStatusBar(): statusBar = self.statusBar() w = QCheckBox("Render", self) w.setObjectName('renderCheck') w.setToolTip("Toggle map rendering") w.setChecked(True) statusBar.addPermanentWidget(w) w = QCheckBox("Marker", self) w.setObjectName('markerCheck') w.setToolTip("Toggle marker with cursor position from main map") w.setChecked(False) statusBar.addPermanentWidget(w, 1) w = QCheckBox("Extent", self) w.setObjectName('extentCheck') w.setToolTip("Show extent of main map") w.setChecked(False) statusBar.addPermanentWidget(w, 1) w = QToolButton(self) w.setObjectName('highlightBtn') w.setToolTip("Highlight extent in main map") w.setText("Highlight") statusBar.addPermanentWidget(w, 1) w = QLabel("Scale factor:", self) w.setObjectName('scaleFactorLabel') w.setAlignment(Qt.AlignRight | Qt.AlignVCenter) statusBar.addPermanentWidget(w, 1) w = QDoubleSpinBox(self) w.setObjectName('scaleFactorSpin') w.setToolTip("Current scale factor of main map") w.setMinimum(0.0) w.setMaximum(1000.0) w.setDecimals(3) w.setValue(1) w.setSingleStep(.05) statusBar.addPermanentWidget(w, 1) w = QToolButton(self) w.setObjectName('scaleBtn') w.setToolTip("Set scale for main map") w.setText("Scale: ") statusBar.addPermanentWidget(w, 1)
def populateStatusBar(): statusBar = self.statusBar() w = QCheckBox( "Render", self ) w.setObjectName( 'renderCheck') w.setToolTip( "Toggle map rendering" ) w.setChecked( True ) statusBar.addPermanentWidget( w ) w = QCheckBox( "Marker", self ) w.setObjectName( 'markerCheck') w.setToolTip( "Toggle marker with cursor position from main map" ) w.setChecked( False ) statusBar.addPermanentWidget( w, 1 ) w = QCheckBox( "Extent", self ) w.setObjectName( 'extentCheck') w.setToolTip( "Show extent of main map" ) w.setChecked( False ) statusBar.addPermanentWidget( w, 1 ) w = QToolButton(self) w.setObjectName( 'highlightBtn') w.setToolTip( "Highlight extent in main map" ) w.setText("Highlight") statusBar.addPermanentWidget( w, 1 ) w = QLabel( "Scale factor:", self ) w.setObjectName( 'scaleFactorLabel') w.setAlignment(Qt.AlignRight | Qt.AlignVCenter) statusBar.addPermanentWidget( w, 1 ) w = QDoubleSpinBox(self) w.setObjectName( 'scaleFactorSpin') w.setToolTip( "Current scale factor of main map" ) w.setMinimum(0.0) w.setMaximum(1000.0) w.setDecimals(3) w.setValue(1) w.setSingleStep(.05) statusBar.addPermanentWidget( w, 1 ) w = QToolButton(self) w.setObjectName( 'scaleBtn') w.setToolTip( "Set scale for main map" ) w.setText("Scale: ") statusBar.addPermanentWidget( w, 1 )
def _make_simple_field(cls, option, parent): field = None label = option.name.replace('_', ' ') layout = parent.layout() if option.field_type == 'bool': field = QCheckBox(parent) elif option.field_type == 'str': if option.is_multi: field = PolyLineEdit(parent) else: field = QLineEdit(parent) elif option.field_type in ('float', 'int'): if option.field_type == 'float': field = QDoubleSpinBox(parent) field.setDecimals(option.decimals) field.setSingleStep(option.step) else: field = QSpinBox(parent) if option.units: label += (' (%s)' % option.units).replace('%%', '%') if option.limits: if option.limits[0] is not None: field.setMinimum(float(option.limits[0])) if option.limits[1] is not None: field.setMaximum(float(option.limits[1])) else: field.setMaximum(sys.maxint) if option.default: field.setValue(option.default) elif option.field_type in ('file', 'directory'): #label is a button which opens chooser dialog file_dialog = FileDialog(parent, label, option.name) label = QPushButton(label, parent) #button-label label.clicked.connect(file_dialog.show) #field itself if option.is_multi: field = PolyLineEdit(parent) else: field = QLineEdit(parent) #connect signals if option.field_type == 'file': if option.is_multi: file_dialog.setFileMode(QFileDialog.ExistingFiles) file_dialog.filesSelected.connect(field.setText) else: file_dialog.fileSelected.connect(field.setText) else: file_dialog.setFileMode(QFileDialog.Directory) file_dialog.setOption(QFileDialog.ShowDirsOnly, True) file_dialog.fileSelected.connect(field.setText) field.textChanged.connect(file_dialog.setDirectory) if field: field.setToolTip(option.formatted_desc) if not option.save: field.setStyleSheet('* { background: hsv(60, 50, 255) }') if hasattr(cls.customize_field, '__call__'): cls.customize_field(option, field, label) if isinstance(label, str): label = QLabel(label, parent) label.setToolTip(option.formatted_desc) label.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) row = layout.rowCount() layout.addWidget(label, row, 0) layout.addWidget(field, row, 1) return field