def __init__(self, parent, viewwidget, layer): title = "Stretch: %s" % layer.title QDockWidget.__init__(self, title, parent) # save the view widget self.viewwidget = viewwidget self.layer = layer self.parent = parent # create a new widget that lives in the dock window self.dockWidget = QWidget() # create the toolbar self.toolBar = QToolBar(self.dockWidget) self.setupActions() self.setupToolbar() # our stretch layout self.stretchLayout = StretchLayout(self.dockWidget, self.layer.stretch, self.layer.gdalDataset) # layout for stretch and buttons self.mainLayout = QVBoxLayout() self.mainLayout.addWidget(self.toolBar) self.mainLayout.addLayout(self.stretchLayout) self.dockWidget.setLayout(self.mainLayout) # tell the dock window this is the widget to display self.setWidget(self.dockWidget) # make sure we get notified if the layers change so # we can close if needed viewwidget.layers.layersChanged.connect(self.onLayersChanged)
def __init__(self, plugin, parent=None): QDockWidget.__init__(self, parent=parent) try: self.setWindowTitle('Load a ' + plugin.mlGetPluginName() + ' trainer') except: self.setWindowTitle('Plugin trainer loader') self._mainWidget = QWidget() self._plugin = plugin self._network_filepath = None self._trainer_filepath = None self._data_filepath = None self._trainer_name = None self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self._mainWidget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self.mlBuildTrainerLoaderMainWidget() self.setWidget(self._mainWidget) self.setVisible(False) self.visibilityChanged.connect(self.mlOnVisibilityChanged) self.setFeatures(QDockWidget.DockWidgetClosable) self._exclusiveUI = None
def __init__(self, parentObject, windowTitle, windowIcon=QIcon(), shortcut=None): QDockWidget.__init__(self, parentObject) self._showAction = None self.setObjectName(str(self.__class__)) self.setWindowTitle(windowTitle) self.setFeatures(self.features() & (~QDockWidget.DockWidgetFloatable)) if not windowIcon.isNull(): self.setWindowIcon(windowIcon) if shortcut is not None: self.showAction().setShortcut(shortcut) self._titleBar = _TitleBar(self) self.setTitleBarWidget(self._titleBar) if shortcut is not None: toolTip = "Move focus with <b>%s</b>,<br/>close with <b>Esc</b>" % shortcut else: toolTip = "Close with <b>Esc</b>" self._titleBar.setToolTip(toolTip) self._closeShortcut = QShortcut(QKeySequence("Esc"), self) self._closeShortcut.setContext(Qt.WidgetWithChildrenShortcut) self._closeShortcut.activated.connect(self._close)
def __init__(self, colorModel, parent = None): QDockWidget.__init__(self, "&Colors", parent) self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.colorModel = colorModel self.colorPalette = ColorPalette(self) colorList = QTreeView() colorList.header().hide() colorList.setRootIsDecorated(False) colorList.setModel(self.colorModel) # TODO SIGNAL # self.connect(colorList, SIGNAL("activated(QModelIndex)"), # self.editColor) self.backgroundButton = QPushButton("&Background Color") # TODO SIGNAL # self.connect(self.backgroundButton, SIGNAL("clicked()"), self.selectBackground) self._set_background_button_color(colorModel.background) widget = QWidget() layout = QVBoxLayout(widget) layout.addWidget(colorList) layout.addWidget(self.backgroundButton) self.setWidget(widget)
def __init__(self, parentObject, windowTitle, windowIcon=QIcon(), shortcut=None): QDockWidget.__init__(self, parentObject) self._showAction = None self.setObjectName(str(self.__class__)) self.setWindowTitle(windowTitle) if not windowIcon.isNull(): self.setWindowIcon(windowIcon) if shortcut is not None: self.showAction().setShortcut(shortcut) self._titleBar = _TitleBar(self) self.setTitleBarWidget(self._titleBar) if shortcut is not None: toolTip = "Move focus with <b>%s</b>,<br/>close with <b>Esc</b>" % shortcut else: toolTip = "Close with <b>Esc</b>" self._titleBar.setToolTip(toolTip) self._closeShortcut = QShortcut(QKeySequence("Esc"), self) self._closeShortcut.setContext(Qt.WidgetWithChildrenShortcut) self._closeShortcut.activated.connect(self._close)
def __init__(self, window, parent=None): QDockWidget.__init__(self, parent=parent) self.setupUi(self) self.window = window self.setMaximumHeight(EVENT_POPUP_FLOAT_MAX_Y) self.dockLocationChanged.connect(self.locationChanged) self.topLevelChanged.connect(self.locationChanged)
def __init__(self, *args): QDockWidget.__init__(self, *args) self.titleBar = DockWidgetTitleBar(self) self.setTitleBarWidget(self.titleBar) self.mainWidget = None self.entered = False self.pinned = True self.shot = False
def __init__(self, parent): QDockWidget.__init__(self, parent=parent) self.setupUi(self) self.mw = parent # self.ed_path.setText(self.mw.cfg.value("root_path", defaultValue=QDir.homePath())) self.setupDirModel() self.tree.clicked.connect(self.onDirClicked) # self.btn_selectdir.clicked.connect(self.onButtonSelectDir) self.ed_path.returnPressed.connect(self.setupDirModel)
def __init__(self, datefmt=None, infoString=True): """Constructor of the QtDockLog Log Dock Widget to use in a PyQt GUI. Will output all info written to logging.info(), logging..debug() etc. usage: log_dock = QtDockLog() addDockWidget(QtCore.Qt.BottomDockWidgetArea, log_dock) Parameters --------- datefmt : format string, optional format string for date time in log messages infoString : bool, optional if false info messages are not prefixed with the log level string """ QDockWidget.__init__(self) # Set up the user interface from Designer. self.ui = Ui_DockWidget() self.ui.setupUi(self) ### define logger and handler self.logger = logging.getLogger() self.handler = LogHandler(self) self.handler.setFormatter( LogFormat(datefmt=datefmt, infoString=infoString)) self.logger.setLevel(logging.DEBUG) self.logger.addHandler(self.handler) # define file for the second handler, saving the complete log to file self.filename = "log.out" # remove possibly existing log file (otherwise it appends to it) try: os.remove(self.filename) except: pass # define second file handler, saving all of the log to self.filename self.filehandler = logging.FileHandler(self.filename) self.filehandler.setLevel(logging.DEBUG) # set to DEBUG --> saves all self.filehandler.setFormatter( LogFormat(datefmt=datefmt, infoString=infoString)) # use the same format self.logger.addHandler(self.filehandler) # attach to logger ### connections self.ui.comboBox.currentIndexChanged.connect( lambda: self.setLevel(self.ui.comboBox.currentText())) self.ui.pushButtonSave.clicked.connect(self.saveLog)
def __init__(self, parent=None): QDockWidget.__init__(self, parent) self.ui = Ui_ProjectViewWidget() self.ui.setupUi(self) self.project_model = None self.ui.project_view.doubleClicked.connect( self.slot_project_view_double_clicked) self.ui.project_view.customContextMenuRequested.connect( self.slot_project_context_menu_requested)
def __init__(self, parent=None): QDockWidget.__init__(self) self.parent = parent self._name = self.__class__.__name__ self.signals = SignalManager(self) self.logger = Loggers(self.__class__.__name__) self.settings = Settings(SETTING_FILEPTH['app'], ST_FORMAT['ini'], self) self.values = dict(w=self.width(), h=self.height(), x=self.x(), y=self.y())
def __init__(self, mobj='/', parent=None, flags=None): QDockWidget.__init__(self, parent=parent) mobj = moose.element(mobj) #self.view = view = ObjectEditView(mobj) self.view = view = ObjectEditView(mobj) self.view_dict = {mobj: view} base = QWidget() layout = QVBoxLayout() base.setLayout(layout) layout.addWidget(self.view) layout.addWidget(QTextEdit()) self.setWidget(base) self.setWindowTitle('Edit: %s' % (mobj.path))
def __init__(self, iface, new_dict, lang): # setup UI and connect the buttons QDockWidget.__init__(self) self.iface = iface self.setupUi(self) self.plugin_dir = os.path.dirname(__file__) self.filePath = "" self.new_dict = new_dict self.lang = lang self.canvas = self.iface.mapCanvas() self.LayerScan() self.shape_tab.cellClicked.connect(self.clicked)
def __init__(self, MainWin): QDockWidget.__init__(self) self.MainWin = MainWin self.MainMenu = MainWin.menuBar() self.WndowMenu = self.MainMenu.addMenu('Windows') self.OptnAct = QAction('Options', self) self.OptnAct.setStatusTip('Open the Options Window') self.OptnAct.triggered.connect(MainWin.ShowOptions) self.WndowMenu.addAction(self.OptnAct) self.InitToolBar(MainWin)
def __init__(self, parent, plugin): self.plugin = plugin QDockWidget.__init__(self, parent) self.setupUi(self) self.btnApply.setIcon(QIcon(":plugins/nominatim/arrow_green.png")) self.btnMask.setIcon(QIcon(":plugins/nominatim/add_mask.png")) self.btnLayer.setIcon(QIcon(":plugins/nominatim/add_layer.png")) self.tableResult.installEventFilter(self) # cf. eventFilter method self.tableResult.cellDoubleClicked.connect(self.onChoose) self.tableResult.cellEntered.connect(self.cellEntered) self.editSearch.returnPressed.connect(self.onReturnPressed) self.btnSearch.clicked.connect(self.onReturnPressed) self.btnApply.clicked.connect(self.onApply) self.btnHelp.clicked.connect(self.plugin.do_help) self.btnLocalize.clicked.connect(self.doLocalize) self.btnMask.clicked.connect(self.onMask) self.btnLayer.clicked.connect(self.onLayer) self.MultiPolygonLayerId = None self.LineLayerId = None self.PointLayerId = None try: self.cbExtent.setChecked(self.plugin.limitSearchToExtent) except: self.cbExtent.setChecked(self.plugin.limitSearchToExtent) self.currentExtent = self.plugin.canvas.extent() self.tableResult.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents) try: self.editSearch.setText(self.plugin.lastSearch) except: pass try: if self.plugin.localiseOnStartup: self.doLocalize() except Exception as e: for m in e.args: QgsMessageLog.logMessage(m, 'Extensions') pass self.nominatim_networkAccessManager = QgsNetworkAccessManager.instance()
def __init__(self, iface: QgisInterface) -> None: QDockWidget.__init__(self) self.setupUi(self) self.iface = iface self.applyIcons() self.setupTimeLineEdits() self.addGIS() self.populateCboFeatures() self.populateCboFields() # input checking - add red text if an error is flagged self.flags = [] self.leInputXML.editingFinished.connect(self.inputCatchmentChanged) self.rbUserArea.toggled.connect(self.checkAreaInput) self.sbArea.valueChanged.connect(self.checkAreaInput) self.cboInputGIS.currentIndexChanged.connect(self.checkAreaInput) self.leDuration.editingFinished.connect(self.durationChanged) self.leTimestep.editingFinished.connect(self.durationChanged) QgsProject.instance().layersAdded.connect(self.addGIS) QgsProject.instance().layersRemoved.connect(self.addGIS) self.cboInputGIS.currentIndexChanged.connect(self.populateCboFields) self.cboInputGIS.currentIndexChanged.connect(self.populateCboFeatures) self.cboFields.currentIndexChanged.connect(self.populateCboFeatures) self.cbSelectAll.clicked.connect(self.toggleSelectAll) self.btnAddRP.clicked.connect(self.addReturnPeriod) self.btnRemoveRP.clicked.connect(self.removeReturnPeriods) self.rbRural.clicked.connect( lambda e: self.radioButtonClones(button=self.rbRural)) self.rbUrban.clicked.connect( lambda e: self.radioButtonClones(button=self.rbUrban)) self.rbRuralClone.clicked.connect( lambda e: self.radioButtonClones(button=self.rbRuralClone)) self.rbUrbanClone.clicked.connect( lambda e: self.radioButtonClones(button=self.rbUrbanClone)) self.pbRun.clicked.connect(self.check) dir = os.path.dirname(os.path.dirname(__file__)) rf2Icon = QIcon(os.path.join(dir, 'icons', "ReFH2icon.png")) self.btnInputXML.clicked.connect(lambda: browse( self, "existing file", "TUFLOW/refh2_xml", "Catchment Descriptor Input", "XML (*.xml *.XML)", self.leInputXML, rf2Icon, lambda: self.inputCatchmentChanged())) self.btnOutfile.clicked.connect( lambda: browse(self, "output file", "TUFLOW/refh2_outfile", "ReFH2 Output CSV File", "CSV (*.csv *.CSV)", self. leOutfile, rf2Icon))
def __init__(self, parent, viewwidget): QDockWidget.__init__(self, "Layers", parent) self.viewwidget = viewwidget self.parent = parent # create the list view self.listView = LayerListView() # set our item model model = LayerItemModel(viewwidget, parent, self) self.listView.setModel(model) self.setWidget(self.listView) # connect so we get told when layers added and removed viewwidget.layers.layersChanged.connect(self.layersChanged)
def __init__(self, parent, viewwidget): QDockWidget.__init__(self, "Profile", parent) self.viewwidget = viewwidget # create a new widget that lives in the dock window self.dockWidget = QWidget() self.mainLayout = QVBoxLayout() self.toolBar = QToolBar(self.dockWidget) self.setupActions() self.setupToolbar() self.mainLayout.addWidget(self.toolBar) self.plotWidget = plotwidget.PlotLineWidget(self) self.mainLayout.addWidget(self.plotWidget) self.whitePen = QPen(Qt.white) self.whitePen.setWidth(1) self.redPen = QPen(Qt.red) self.redPen.setWidth(1) self.greenPen = QPen(Qt.green) self.greenPen.setWidth(1) self.bluePen = QPen(Qt.blue) self.bluePen.setWidth(1) self.distanceLabel = QLabel() self.mainLayout.addWidget(self.distanceLabel) self.dockWidget.setLayout(self.mainLayout) # tell the dock window this is the widget to display self.setWidget(self.dockWidget) self.resize(400, 200) # allow plot scaling to be changed by user # Min, Max. None means 'auto'. self.plotScaling = (None, None) # store the range of the data so we can init plot scale dlg self.dataRange = None # last polyLine so we can quickly resraw if plot scale changes self.lastPolyLine = None # connect if the layers have changed and we can close if our layer # no longer exists self.viewwidget.layers.layersChanged.connect(self.layersChanged)
def __init__(self, parent=None): QDockWidget.__init__(self, parent) self.setWindowTitle('Commands') widget = QWidget(self) self.setWidget(widget) self.layout = QGridLayout(widget) self.spacer = QSpacerItem(1, 1, QSizePolicy.Minimum, QSizePolicy.Expanding) self.layout.addItem(self.spacer) self.widgets = dict() self.widgets[WosActionWidget.WidgetType.ACTION_CORE] = list() self.widgets[WosActionWidget.WidgetType.ACTION_ADDON] = list() self.widgets[WosActionWidget.WidgetType.COMMAND] = list() self.widgets[WosActionWidget.WidgetType.AFTER_SPACER] = list()
def __init__(self, parent): QDockWidget.__init__(self) self.Parent = parent self.Parent = parent.menuBar() # ******* Setup the Dictionary for the Tool Bar or other kind of reference self.MenuActRef = {'FileAct': 0, 'ExitAct': 0} # ******* Create the File Menu ******* self.FileMenu = self.Parent.addMenu('File') # ******* Create Exit Menu Items ******* self.ExitAct = QAction('Quit', self) self.ExitAct.setShortcut("Ctrl+Q") self.ExitAct.setStatusTip('Close the app.') self.ExitAct.triggered.connect(close_app) self.MenuActRef['ExitAct'] = self.ExitAct # ******* Setup the File Menu ******* self.FileMenu.addAction(self.ExitAct)
def __init__(self, parent=None): QDockWidget.__init__(self, parent) self.mode = cCommonGame.LogType.ALL self.setWindowTitle('Console') self.setMinimumWidth(500) widget = QWidget(self) self.setWidget(widget) layout = QGridLayout(widget) self.console = QTextBrowser(self) self.console.setReadOnly(True) self.console.setOpenLinks(False) self.console.anchorClicked.connect(self.url_clicked) layout.addWidget(self.console, 0, 0)
def __init__(self, *args, **kwargs): QDockWidget.__init__(self, *args, **kwargs) self.__expandedWidget = None self.__collapsedWidget = None self.__expanded = True self.__trueMinimumWidth = -1 self.setFeatures(QDockWidget.DockWidgetClosable | \ QDockWidget.DockWidgetMovable) self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.featuresChanged.connect(self.__onFeaturesChanged) self.dockLocationChanged.connect(self.__onDockLocationChanged) # Use the toolbar horizontal extension button icon as the default # for the expand/collapse button pm = self.style().standardPixmap( QStyle.SP_ToolBarHorizontalExtensionButton) # Rotate the icon transform = QTransform() transform.rotate(180) pm_rev = pm.transformed(transform) self.__iconRight = QIcon(pm) self.__iconLeft = QIcon(pm_rev) close = self.findChild(QAbstractButton, name="qt_dockwidget_closebutton") close.installEventFilter(self) self.__closeButton = close self.__stack = AnimatedStackedWidget() self.__stack.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self.__stack.transitionStarted.connect(self.__onTransitionStarted) self.__stack.transitionFinished.connect(self.__onTransitionFinished) QDockWidget.setWidget(self, self.__stack) self.__closeButton.setIcon(self.__iconLeft)
def __init__(self, iface): QDockWidget.__init__(self) self.iface = iface GPSLogger.iface = iface self.canvas = self.iface.mapCanvas() self.setupUi(self) self.setupCustomUi() self.connection = GPSConnection( self.infoList, self.tvInfoList.model(), QgsCoordinateReferenceSystem( 4326, QgsCoordinateReferenceSystem.EpsgCrsId)) self.marker = GPSMarker( self.canvas, path.join(self.pluginPath, 'markers/krzyz w okregu.svg'), self) self.path = GPSPath(self.canvas, self) self.dataWriter = GPSDataWriter(self) self.cmbLayers.setFilters(QgsMapLayerProxyModel.HasGeometry) self.cmbLayers.layerChanged.connect(self.dataWriter.changeLayer) self.getLeftPoint = GPSGetCanvasPoint(self.canvas, self.btnA) self.getLeftPoint.pointSide = 'left' self.getRightPoint = GPSGetCanvasPoint(self.canvas, self.btnB) self.getRightPoint.pointSide = 'right' self.resection = GPSResection(self) self.selectedMarker = GPSSelectedMarker(self.canvas) self.logger = GPSLogger(self) self.lastGpsPoint = None self.measureType = None self.doIntervalMeasure = False self.setMenus() self.setProjectCrs() self.loadSettings() self.setupSignals() self.lastPointElevation = None self.groups_points = None self.groupBox_3.setVisible(False) self.pointListLogger = GPSMeasureSave( self.logger, QSettings().value('gpsTracker/measureSaveInterval', 1, type=int), QSettings().value('gpsTracker/measureSave', True, type=bool)) points = self.pointListLogger.loadMeasure() if points: groups = list(set([p['group_id'] for p in points])) self.addEnclaves(len(groups) - 1) self.tvPointList.model().insertRows(points) self.tvPointList.scrollToBottom()
def __init__(self, irises, settings, parent=None): QDockWidget.__init__(self, "Control panel", parent) self.setObjectName("TopLevelControlPanel") self._irises = irises self._settings = settings widget = QWidget(self) self.setWidget(widget) layout = QHBoxLayout(widget) form = QFormLayout() layout.addLayout(form) freq = self._settings.value('TopLevelControlPanel/tddFrequency', 3.6e9, float) self._handleTddFreqChange(freq) tddFrequencyEntry = FreqEntryWidget(widget) tddFrequencyEntry.setValue(freq) tddFrequencyEntry.valueChanged.connect(self._handleTddFreqChange) form.addRow("TDD Frequency", tddFrequencyEntry) for dirName, direction in (("Tx controls", SOAPY_SDR_TX), ("Rx controls", SOAPY_SDR_RX)): groupBox = QGroupBox(dirName, widget) hbox = QHBoxLayout(groupBox) layout.addWidget(groupBox) for i, gainName in enumerate(irises[0].listGains(direction, 0)): if i % 2 == 0: form = QFormLayout() hbox.addLayout(form) value = self._settings.value( 'TopLevelControlPanel/%sGain%s' % ('Rx' if direction == SOAPY_SDR_RX else 'Tx', gainName), 0.0, float) self._handleGainChange(direction, gainName, value) edit = QDoubleSpinBox(widget) form.addRow(gainName, edit) r = irises[0].getGainRange(direction, 0, gainName) edit.setRange(r.minimum(), r.maximum()) if r.step() != 0: edit.setSingleStep(r.step()) edit.setSuffix(' dB') edit.setValue(value) edit.valueChanged.connect( functools.partial(self._handleGainChange, direction, gainName))
def __init__(self, app, parentWindow): QDockWidget.__init__(self, parentWindow) self.setTitleBarWidget(QWidget()) self.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea) self.setFeatures(QDockWidget.NoDockWidgetFeatures) self.setVisible(False) banner = f"""Simple Spectra Manipulator console based on IPython, version {spectramanipulator.__version__}. Numpy package was imported as np and matplotlib.pyplot as plt. Three variables are setup: item - this is used to interact with spectra in TreeWidget and perform various calculations tree_widget - instance of TreeWidget main - instance of Main (Main Window) Enjoy. """ Console._instance = self # Add console window self.console_widget = ConsoleWidget(app, banner) self.setWidget(self.console_widget)
def __init__(self,iface): QDockWidget.__init__(self) self.iface = iface GPSLogger.iface = iface self.canvas = self.iface.mapCanvas() self.setupUi(self) self.setupCustomUi() self.connection = GPSConnection(self.infoList, self.tvInfoList.model(), QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)) self.marker = GPSMarker(self.canvas, path.join(self.pluginPath, 'markers/krzyz w okregu.svg'), self) self.path = GPSPath(self.canvas, self) self.dataWriter = GPSDataWriter(self) self.cmbLayers.setFilters( QgsMapLayerProxyModel.HasGeometry ) self.cmbLayers.layerChanged.connect(self.dataWriter.changeLayer) self.getLeftPoint = GPSGetCanvasPoint(self.canvas, self.btnA) self.getLeftPoint.pointSide = 'left' self.getRightPoint = GPSGetCanvasPoint(self.canvas, self.btnB) self.getRightPoint.pointSide = 'right' self.resection = GPSResection(self) self.selectedMarker = GPSSelectedMarker(self.canvas) self.logger = GPSLogger(self) self.lastGpsPoint = None self.measureType = None self.doIntervalMeasure = False self.setMenus() self.setProjectCrs() self.loadSettings() self.setupSignals() self.lastPointElevation = None self.groups_points = None self.groupBox_3.setVisible(False) self.pointListLogger = GPSMeasureSave(self.logger, QSettings().value('gpsTracker/measureSaveInterval', 1, type=int), QSettings().value('gpsTracker/measureSave', True, type=bool)) points = self.pointListLogger.loadMeasure() if points: groups = list(set([ p['group_id'] for p in points ])) self.addEnclaves(len(groups)-1) self.tvPointList.model().insertRows(points)
def __init__(self, parent): QDockWidget.__init__(self, "Vector Query", parent) # create a new widget that lives in the dock window self.dockWidget = QWidget() self.mainLayout = QVBoxLayout() self.toolBar = QToolBar(self.dockWidget) self.setupActions() self.setupToolbar() self.mainLayout.addWidget(self.toolBar) self.treeWidget = QTreeWidget(self) self.treeWidget.setColumnCount(2) self.treeWidget.setHeaderLabels(["Field", "Value"]) self.mainLayout.addWidget(self.treeWidget) self.dockWidget.setLayout(self.mainLayout) # tell the dock window this is the widget to display self.setWidget(self.dockWidget) self.resize(400, 400)
def __init__(self, plugin, parent=None): QDockWidget.__init__(self, parent=parent) try: self.setWindowTitle(plugin.mlGetPluginName() + ' trainer editor') except: self.setWindowTitle('Plugin trainer editor') self._mainWidget = QWidget() self._plugin = plugin self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self._mainWidget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self.mlBuildTrainerEditorMainWidget() self.setWidget(self._mainWidget) self.setVisible(False) self.visibilityChanged.connect(self.mlOnVisibilityChanged) self.setFeatures(QDockWidget.DockWidgetClosable) self._exclusiveUI = None
def __init__(self): QDockWidget.__init__(self) self.setWindowTitle('Measure selected features') self.widget = QWidget() self.setWidget(self.widget) self.layout = QGridLayout(self) self.widget.setLayout(self.layout) #####31-05-21 self.rad_1 = QRadioButton('Ellipsoidal', self) self.rad_2 = QRadioButton('Planimetric', self) #####31-05-21 self.lbl_1 = QLabel('Total selected features', self) self.le_total = QLineEdit(self) self.le_total.setReadOnly(True) self.le_total.setMinimumSize(QSize(450, 25)) #####24-06-21 self.cb_units = QComboBox(self) self.cb_units.setMinimumSize(QSize(250, 25)) self.layout.addWidget(self.rad_1, 0, 0, 1, 1, Qt.AlignCenter) self.layout.addWidget(self.rad_2, 0, 1, 1, 1, Qt.AlignCenter) self.layout.addWidget(self.lbl_1, 0, 2, 1, 1, Qt.AlignRight) self.layout.addWidget(self.le_total, 0, 3, 1, 1, Qt.AlignJustify) self.layout.addWidget(self.cb_units, 0, 4, 1, 1, Qt.AlignJustify)
def __init__(self, iface, new_dict, lang, v_points): # setup UI and connect the buttons QDockWidget.__init__(self) self.iface = iface self.setupUi(self) self.plugin_dir = os.path.dirname(__file__) self.new_dict = new_dict self.lang = lang self.v_points = v_points self.canvas = self.iface.mapCanvas() self.ok = False self.buttonBox.button(QDialogButtonBox.Ok).clicked.connect( self.okClick) fields = self.v_points.pendingFields() self.fields_list = [] for f in fields: self.fields_list.append(f.name()) self.cmb_xcol.addItems(self.fields_list) self.cmb_ycol.addItems(self.fields_list)
def __init__(self, iface, objecttype, project, lang_dict, lang): # setup UI and connect the buttons QDockWidget.__init__(self) self.iface = iface self.setupUi(self) # get variable references from "GeODinQGIS_Main" self.obj_type = objecttype.name self.loctype = objecttype.gen_desc self.path = project.parent.filepath self.dbtype = project.parent.options["connection"] self.alias = project.parent.name self.project_names = project.name self.proj_ID = project.id self.plugin_dir = os.path.dirname(__file__) self.saveFileFolder = self.plugin_dir + "/tmp/" self.lgr = logging.getLogger('GeODinQGIS.NewObject') self.lang_dict = lang_dict self.lang = lang # select whole table row instead of single cell self.coord_tab.setSelectionBehavior(QAbstractItemView.SelectRows) # some empty lists to store coordinates from map canvas self.x_list = [] self.y_list = [] self.id_list = [] self.rows = [] self.attrs_list = [] self.shortname = None self.easting = None self.northing = None # reference to the map canvas self.canvas = self.iface.mapCanvas() # define button signals for vector file management self.btn_createshp.clicked.connect(self.createVector) self.btn_openshp.clicked.connect(self.openVector) self.btn_dragshp.clicked.connect(self.dragVector) # set behavior to load an existing vector file from layer registry to coordinate table self.open = False self.drag = False #self.btn_dragshp.setEnabled(False) self.btn_geodin.setEnabled(False) self.btn_del.setEnabled(False) self.btn_desel.setEnabled(False) self.cmb_short.setEnabled(True) # connect buttons to their functions self.btn_geodin.clicked.connect(self.geodin) self.btn_close.clicked.connect(self.close) self.btn_del.clicked.connect(self.delete) self.btn_desel.clicked.connect(self.deselect) self.cmb_short.currentIndexChanged.connect(self.shortNameChoose) self.cmb_east.currentIndexChanged.connect(self.eastingChoose) self.cmb_north.currentIndexChanged.connect(self.northingChoose) # manage button icons self.btn_createshp.setIcon( QIcon(":\plugins\GeODinQGIS\icons\point_create_n.png")) self.btn_openshp.setIcon( QIcon(":\plugins\GeODinQGIS\icons\point_add_n.png")) self.btn_dragshp.setIcon( QIcon(":\plugins\GeODinQGIS\icons\point_drag_n.png")) self.btn_del.setIcon(QIcon(":\plugins\GeODinQGIS\icons\delete.png")) self.btn_geodin.setIcon(QIcon(":\plugins\GeODinQGIS\icons\logo.png")) self.btn_desel.setIcon(QIcon(":\plugins\GeODinQGIS\icons\minus.png")) self.btn_del.setIconSize(QSize(24, 24)) self.btn_geodin.setIconSize(QSize(24, 24)) self.btn_desel.setIconSize(QSize(24, 24)) self.btn_createshp.setIconSize(QSize(24, 24)) self.btn_openshp.setIconSize(QSize(24, 24)) self.btn_dragshp.setIconSize(QSize(24, 24)) # manage tool tips createshp = self.lang_dict.getWord(self.lang, "Create new shape file") loadshp = self.lang_dict.getWord(self.lang, "Load shape file from file system") dragshp = self.lang_dict.getWord(self.lang, "Load shape file from layers panel") deleteRow = self.lang_dict.getWord(self.lang, "Delete selected rows") deselectRow = self.lang_dict.getWord(self.lang, "Deselect rows") openGeodin = self.lang_dict.getWord(self.lang, "Import to GeODin") self.btn_createshp.setToolTip(createshp) self.btn_openshp.setToolTip(loadshp) self.btn_dragshp.setToolTip(dragshp) self.btn_del.setToolTip(deleteRow) self.btn_desel.setToolTip(deselectRow) self.btn_geodin.setToolTip(openGeodin) # # set headers for child nodes # if self.obj_type == "All Objects": # self.le_obtyp.setText("All Objects") # else: # self.le_obtyp.setText(self.obj_type) self.delete = False self.editMode = False # clear coordinate table self.coord_tab.setRowCount(0) # decimal places self.dp = 8 # self.coord_tab.itemChanged.connect(self.Changed) #self.coord_tab.cellClicked.connect(self.clicked) self.coord_tab.itemSelectionChanged.connect(self.selectionChanged) self.root = QgsProject.instance().layerTreeRoot()
def __init__(self, parent=None, f=QtCore.Qt.WindowFlags()): QDockWidget.__init__(self, parent, f) self.setupUi(self)