def __init__(self, parent=None): QDialog.__init__(self, parent) uic.loadUi(path.abspath(path.join(path.dirname(__file__), '..', 'ui', 'dialogs', 'addsysconfigdialog.ui')), self)
def __init__(self, parent=None): QWidget.__init__(self, parent) uic.loadUi( path.join(path.dirname(path.abspath(__file__)), 'ui', 'devicewidget.ui'), self) self.parameters = {} self.pushButtonAdd.clicked.connect(self.addParameter)
def __init__(self, client, ldevname): # pylint: disable=super-with-arguments super(Window, self).__init__() parent = Path(__file__).resolve().parent uipath = parent.joinpath('roieditor.ui') uic.loadUi(uipath, self) self.client = client self.ldevname = ldevname params = self.client.getDeviceParams(ldevname) self.backgroundimage = params['backgroundimage'] self.image = None self.bZoom.setChecked(True) self.filter1.setChecked(True) self.zoom = self.bZoom.isChecked() self.noredrawblack = False # pylint: disable=invalid-name self.tf = QTextCharFormat() self.polylist = [] self.polylistindex = len(self.polylist) self.RoicomboBox.insertItem(0, "add") self.writeWKT.setEnabled(False) self.editRoiBtn.setEnabled(False) self.addPolygon() self.RoicomboBox.currentIndexChanged.connect( self.on_roi_active_changed) self.ineditroi = False self.editRoiBtn.clicked.connect(self.on_editRoiBtn_clicked) self.wktText.textChanged.connect(self.on_wktText_textchanged) self.on_readWKT_clicked() self.on_pollData()
def __init__(self, setups, typ, parent=None): QDialog.__init__(self, parent) uic.loadUi( path.abspath( path.join(path.dirname(__file__), '..', 'ui', 'dialogs', 'addxcludedialog.ui')), self) self.setWindowTitle('New %s ... ' % typ) self.labelHeader.setText('Add new %s:' % typ) for setup in setups: QListWidgetItem(setup, self.listWidgetSetups)
def __init__(self, instruments, instrument=None, parent=None): QDialog.__init__(self, parent) uic.loadUi( path.abspath( path.join(path.dirname(__file__), '..', 'ui', 'dialogs', 'newsetupdialog.ui')), self) self.setInstruments(instruments) if instrument: self.setCurrentInstrument(instrument) self.comboBoxInstrument.setDisabled(True) self.lineEditFileName.setValidator( QRegExpValidator(QRegExp('[A-Za-z_]{1}[A-Za-z0-9_]*')))
def __init__(self, parent=None): QMainWindow.__init__(self, parent) uic.loadUi( path.join(path.dirname(path.abspath(__file__)), 'ui', 'mainwindow.ui'), self) logging.basicConfig() self.log = logging.getLogger() setupcontroller.init(self.log) classparser.init(self.log) # dictionary of absolute path to a setup - setupWidget self.setupWidgets = {} # dictionary of absolute path to setup - dict # which is deviceName - deviceWidget self.deviceWidgets = {} self.labelHeader = QLabel('Select Setup or device...') self.labelHeader.setAlignment(Qt.AlignCenter) # signal/slot connections self.treeWidget.itemActivated.connect(self.loadSelection) self.treeWidget.deviceRemoved.connect(self.deviceRemovedSlot) self.treeWidget.deviceAdded.connect(self.deviceAddedSlot) self.treeWidget.newDeviceAdded.connect(self.newDeviceAddedSlot) # setup the menu bar self.actionNewFile.triggered.connect(self.treeWidget.newSetup) self.actionSave.triggered.connect(self.actionSaveSlot) self.actionSaveAs.triggered.connect(self.actionSaveAsSlot) self.actionExit.triggered.connect(self.close) self.instrumentMenu = self.menuView.addMenu('Instrument') self.actionShowAllInstrument = self.menuView.addAction( 'Show all instruments') self.actionShowAllInstrument.triggered.connect( self.treeWidget.setAllInstrumentsVisible) self.menuView.addAction(self.dockWidget.toggleViewAction()) self.dockWidget.toggleViewAction().setText('Show Tree') self.actionAboutSetupFileTool.triggered.connect( self.aboutSetupFileTool) self.actionAboutQt.triggered.connect(QApplication.aboutQt) self.workarea.addWidget(self.labelHeader) self.treeWidget.loadNicosData() for directory in sorted(setupcontroller.setup_directories): instrumentAction = self.instrumentMenu.addAction(directory) instrumentAction.triggered.connect( self.treeWidget.setInstrumentMode) if config.instrument and config.instrument not in ('jcns', 'demo'): self.treeWidget.setSingleInstrument(config.instrument)
def __init__(self, client, ldevname): super(Window, self).__init__() parent = Path(__file__).resolve().parent uipath = parent.joinpath('imagecompare.ui') uic.loadUi(uipath, self) self.client = client params = self.client.getDeviceParams(ldevname) self.ldevname = [ldevname, params['compare2']] self.image = [None, None] self.frame = [self.image_frame, self.compare2_frame] self.mat = [None, None] self.on_pollData()
def __init__(self, client, ldevname): super(Window, self).__init__() parent = Path(__file__).resolve().parent uipath = parent.joinpath('playlisteditor.ui') uic.loadUi(uipath, self) self.client = client self.ldevname = ldevname params = self.client.getDeviceParams(ldevname) self.playlist.clicked.connect(self.playlist_clicked) self.pbutton_remove.clicked.connect(self.remove_clicked) self.pbutton_add.clicked.connect(self.add_clicked) self.pbutton_add_directory.clicked.connect(self.add_directory_clicked) self.lineEdit.clear() self.add_clicked()
def __init__(self, setup, availablesetups, parent=None): QWidget.__init__(self, parent) uic.loadUi(path.join(path.dirname(path.abspath(__file__)), 'ui', 'setupwidget.ui'), self) # keys taken from nicos_demo/skeleton/setups/system.py self.sysconfigKeys = ['cache', 'instrument', 'experiment', 'datasinks', 'notifiers'] self.lineEditDescription.textEdited.connect(self.editedSetup.emit) self.treeWidgetSysconfig.editedSetup.connect(self.editedSetup.emit) self.comboBoxGroup.activated.connect(self.editedSetup.emit) self.lineEditDescription.setText(setup.description) self.comboBoxGroup.setCurrentIndex( self.comboBoxGroup.findText(setup.group)) for includeItem in setup.includes: self.listWidgetIncludes.addItem(includeItem) for excludeItem in setup.excludes: self.listWidgetExcludes.addItem(excludeItem) for moduleItem in setup.modules: self.listWidgetModules.addItem(moduleItem) topLevelItems = [] for key in self.sysconfigKeys: if key in setup.sysconfig: topLevelItems.append(QTreeWidgetItem([key])) self.treeWidgetSysconfig.addTopLevelItems(topLevelItems) for item in topLevelItems: if isinstance(setup.sysconfig[item.text(0)], list): for listItem in setup.sysconfig[item.text(0)]: item.addChild(QTreeWidgetItem([listItem])) else: item.addChild(QTreeWidgetItem( [setup.sysconfig[item.text(0)]])) if self.treeWidgetSysconfig.topLevelItemCount() == len( self.sysconfigKeys): # can't add any unknown keys self.pushButtonAddSysconfig.setEnabled(False) else: self.pushButtonAddSysconfig.setEnabled(True) self.textEditStartupCode.blockSignals(True) self.textEditStartupCode.setPlainText(setup.startupcode[1:-1]) self.textEditStartupCode.blockSignals(False) self.availablesetups = availablesetups
def __init__(self, cacheclient, parent=None): QMainWindow.__init__(self) self.client = cacheclient self._treeitems = {} uic.loadUi(join(path.dirname(path.abspath(__file__)), 'ui', 'mainwindow.ui'), self) self.watcherWindow = WatcherWindow(self) self.setupEvents() self.ipAddress = '127.0.0.1' self.port = 14869 self.showTimeStamp = True self.showTTL = True setBackgroundColor(self.labelDemoTTL, ttlColor) setBackgroundColor(self.labelDemoExpired, expiredColor)
def __init__(self, parent, client, uifile): QWidget.__init__(self, parent) new_layout = QHBoxLayout() self.subwidget = QWidget(self) if uifile: uic.loadUi(uifile, self.subwidget) self.button = QToolButton(self) self.setButton('+') self.button.clicked.connect(self.on_button_click) new_layout.addWidget(self.subwidget) new_layout.addSpacerItem(QSpacerItem(15, 1, QSizePolicy.Fixed)) new_layout.addWidget(self.button) new_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(new_layout) for ch in self.subwidget.findChildren(NicosWidget): ch.setClient(client)
def __init__(self, param, valueWidget, isUnknownValue=False, parent=None): QWidget.__init__(self, parent) uic.loadUi( path.abspath( path.join(path.dirname(__file__), 'ui', 'deviceparam.ui')), self) self.placeholder.setVisible(False) self.param = param self.valueWidget = valueWidget self.isUnknownValue = isUnknownValue self.pushButtonRemove.clicked.connect( lambda: self.clickedRemoveButton.emit(self.param)) self.labelParam.setText(self.param + ':') self.horizontalLayout.addWidget(self.valueWidget) self.valueWidget.valueModified.connect(self.editedParam) self.valueWidget.valueChosen.connect(lambda _: self.editedParam.emit())
def __init__(self, parameters, existingParameters, parent=None): QDialog.__init__(self, parent) uic.loadUi( path.abspath( path.join(path.dirname(__file__), '..', 'ui', 'dialogs', 'addparameterdialog.ui')), self) self.lineEditCustomParameter.setHidden(True) missingParameters = [ key for key in parameters.keys() if key not in existingParameters.keys() and not key.startswith('_') ] if missingParameters: for key in sorted(missingParameters): listItem = QListWidgetItem(key, self.listWidgetSelectParameter) listItem.setToolTip(parameters[key].description) self.listWidgetSelectParameter.addItem(listItem) else: self.checkBoxCustomParameter.setChecked(True) self.checkBoxCustomParameter.setEnabled(False) self.lineEditCustomParameter.setEnabled(True)
def __init__(self, parent=None): QMainWindow.__init__(self, parent) uic.loadUi( path.join(path.dirname(path.abspath(__file__)), 'ui', 'mainwindow.ui'), self) self.className = '' # name of the devices class in auth tuple self.group = '' # name of the group defined in the setup file self.description = '' # name of the description in the setup file self.authDict = {} # dictionary containing info in auth tuple self.users = {} # dict to store users while working self.actionLoad.triggered.connect(self.loadFile) self.actionSave.triggered.connect(self.save) self.actionPrintUsers.triggered.connect(self.debugUsers) self.actionShowDebug.triggered.connect(self.toggleDebug) self.menuBar.clear() self.menuBar.addMenu(self.menuFile) self.menuBar.addMenu(self.menuEdit) self.userList.currentItemChanged.connect(self.changeUser) self.pushButtonAddUser.clicked.connect(self.addUser) self.pushButtonDeleteUser.clicked.connect(self.deleteUser) self.pushButtonSaveConfig.clicked.connect(self.setConfig) self.pushButtonSaveUser.clicked.connect(self.setUserData) self.comboBoxHashing.activated.connect(self.changedConfig) self.lineEditUserName.textEdited.connect(self.changedUser) self.lineEditPassword.textEdited.connect(self.changedUser) self.comboBoxUserLevel.activated.connect(self.changedUser) # Initialize a logger required by setups.readSetup() self.log = logging.getLogger() self.setuppath = path.join(path.abspath('.'), 'nicos_mlz', config.instrument, 'setups', 'special', 'daemon.py') self.setup = None self.readSetupFile(self.setuppath)
def __init__(self, classesList, parent=None): QDialog.__init__(self, parent) uic.loadUi( path.abspath( path.join(path.dirname(__file__), '..', 'ui', 'dialogs', 'newdevicedialog.ui')), self) self.menu = QMenu('Select class') self.pushButtonSelectClass.setMenu(self.menu) for _class in sorted([str(__class)[14:-2] for __class in classesList]): self.recursiveMenu(_class, self.menu) self.menuCustom = QMenu('Select class') for _class in sorted([ str(__class)[14:-2] for __class in classparser.getDeviceClasses(None) ]): self.recursiveMenu(_class, self.menuCustom) self.checkBoxCustomClasses.stateChanged.connect( self.stateChangedHandler) self.lineEditDeviceName.setValidator( QRegExpValidator(QRegExp('[A-Za-z0-9_]*')))
def __init__(self, parent=None): QDialog.__init__(self, parent) uic.loadUi(path.join(path.dirname(path.abspath(__file__)), 'ui', 'connect.ui'), self)
def loadUi(widget, uiname): uic.loadUi(path.join(uipath, uiname), widget)
def __init__(self, parent=None): QMainWindow.__init__(self, parent) uic.loadUi(path.join(path.dirname(path.abspath(__file__)), 'ui', 'watcher.ui'), self) self.buttonClear.clicked.connect(self.clear)
def __init__(self, parent=None): QDialog.__init__(self, parent) uic.loadUi( path.join(path.dirname(path.abspath(__file__)), 'ui', 'entryedit.ui'), self) self.setupEvents()
def _create_field(groupframe, field): def _setup(widget): fontscale = field.get('fontscale', 1.0) if fontscale not in fontCache: fontCache[fontscale] = scaledFont(valuefont, fontscale) widget.valueFont = fontCache[fontscale] widget.setFont(labelfont) for key in field: if key in widget.properties: setattr(widget, key, field[key]) widget.setSource(self) if hasattr(widget, 'widgetInfo'): widget.widgetInfo.connect(self.newWidgetInfo) return widget if isinstance(field, str): field = {'dev': field} if 'min' in field: field['min'] = repr(field['min']) if 'max' in field: field['max'] = repr(field['max']) setups = field.get('setups', None) if 'gui' in field: resource = findResource(field.pop('gui')) try: instance = uic.loadUi(resource) except Exception as err: self.log.exception('could not load .ui file %r, ignoring', resource) instance = QLabel('%r could not be loaded:\n%s' % (resource, err)) else: for child in instance.findChildren(NicosWidget): _setup(child) instance.setups = setups return instance elif 'widget' in field: widget_class = self._class_import(field.pop('widget')) widget = widget_class(groupframe) if isinstance(widget, NicosWidget): _setup(widget) for child in widget.findChildren(NicosWidget): _setup(child) widget.setups = setups return widget elif 'plot' in field and plot_available: # XXX make this more standard plotwidget = self._plots.get(field['plot']) if plotwidget: plotwidget.devices += [field.get('dev', field.get('key', ''))] plotwidget.names += [field.get('name', field.get('dev', field.get('key', '')))] return None plotwidget = TrendPlot(groupframe) _setup(plotwidget) plotwidget.legend = field.get('legend', True) plotwidget.plotwindow = field.get('plotwindow', 3600) plotwidget.plotinterval = field.get('plotinterval', 2) self._plots[field['plot']] = plotwidget plotwidget.devices = [field.get('dev', field.get('key', ''))] plotwidget.names = [field.get('name', field.get('dev', field.get('key', '')))] plotwidget.setups = setups return plotwidget elif 'picture' in field: picwidget = PictureDisplay(groupframe) picwidget.filepath = field['picture'] picwidget.setups = setups return _setup(picwidget) else: display = ValueDisplay(groupframe, colorScheme=colorScheme, showExpiration=self.noexpired) display.setups = setups return _setup(display)