def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="reflectionseditor.ui") self._ui.ApplyButton.clicked.connect(self.apply) self._ui.ClearButton.clicked.connect(self.clear)
def __init__(self, parent=None, designmode=False): TaurusWidget.__init__(self, parent, designmode) self._modelcommands = [] self._buttons = [] self.setLayout(Qt.QGridLayout()) self.frame = TaurusWidget(self) self.frame.setUseParentModel(True) self.frame.setLayout(Qt.QGridLayout()) self.scrollArea = TaurusScrollArea(self) self.scrollArea.setUseParentModel(True) self.scrollArea.setWidget(self.frame) self.scrollArea.setWidgetResizable(True) self.layout().addWidget(self.scrollArea) # Adding right click edit action self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self.chooseCommandsAction = Qt.QAction('Modify commands', self) self.addAction(self.chooseCommandsAction) self.connect(self.chooseCommandsAction, Qt.SIGNAL("triggered()"), self.chooseCommands) self.setModifiableByUser(True) # Make it saveable self.registerConfigProperty(self.commandsToConfig, self.commandsFromConfig, 'commands')
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self._xAttr = None self._yAttr = None self._arrayEditor = ArrayEditor() self.fromFileBT = Qt.QPushButton('Read From File') self.toFileBT = Qt.QPushButton('Write To File') self.fromAttrBT = Qt.QPushButton('Read From Device') self.toAttrBT = Qt.QPushButton('Write To Device') self.fromAttrBT.setEnabled(False) self.toAttrBT.setEnabled(False) layout = Qt.QGridLayout(self) layout.addWidget(self._arrayEditor, 0, 0, 1, 4) layout.addWidget(self.fromFileBT, 1, 0) layout.addWidget(self.toFileBT, 1, 1) layout.addWidget(self.fromAttrBT, 1, 2) layout.addWidget(self.toAttrBT, 1, 3) self.fromFileBT.clicked[()].connect(self.onFromFile) self.toFileBT.clicked[()].connect(self.onToFile) self.fromAttrBT.clicked[()].connect(self.onFromAttr) self.toAttrBT.clicked[()].connect(self.onToAttr)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.setLayout(Qt.QVBoxLayout()) self._splitter = Qt.QSplitter() self._splitter.setOrientation(Qt.Qt.Vertical) self.layout().addWidget(self._splitter) self._frame = TaurusWidget(self) self._frame.setLayout(Qt.QGridLayout()) self._scrollArea = TaurusScrollArea(self) self._scrollArea.setWidget(self._frame) self._scrollArea.setWidgetResizable(True) self._splitter.addWidget(self._scrollArea) self._outputTE = Qt.QTextEdit() self._outputTE.setReadOnly(True) self._splitter.addWidget(self._outputTE) #self._splitter.moveSplitter(self._splitter.getRange(0)[-1], 0) self._cmdWidgets = [] self._paramWidgets = [] self._viewFilters = [] self._defaultParameters = [] self._sortKey = lambda x: x.cmd_name self._operatorViewFilter = lambda x: x.disp_level == PyTango.DispLevel.OPERATOR # self.setLayout(Qt.QGridLayout()) self.modelChanged.connect(self._updateCommandWidgets)
def __init__(self, parent=None, selectables=None, buttonsPos=None, designMode=None): TaurusWidget.__init__(self, parent) if selectables is None: selectables = [taurus.core.taurusbasetypes.TaurusElementType.Attribute, taurus.core.taurusbasetypes.TaurusElementType.Member, taurus.core.taurusbasetypes.TaurusElementType.Device] self._selectables = selectables # tree self._deviceTree = TaurusDbTreeWidget( perspective=taurus.core.taurusbasetypes.TaurusElementType.Device) self._deviceTree.getQModel().setSelectables(self._selectables) self._deviceTree.setUseParentModel(True) # toolbar self._toolbar = Qt.QToolBar("TangoSelector toolbar") self._toolbar.setIconSize(Qt.QSize(16, 16)) self._toolbar.setFloatable(False) self._addSelectedAction = self._toolbar.addAction( Qt.QIcon.fromTheme("list-add"), "Add selected", self.onAddSelected) # defines the layout self.setButtonsPos(buttonsPos) self._deviceTree.recheckTaurusParent() # NOT WORKING???? # @todo: This is Workaround because UseSetParentModel is giving trouble again! self.modelChanged.connect(self._deviceTree.setModel)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="reflectionseditor.ui") self.connect(self._ui.ApplyButton, Qt.SIGNAL("clicked()"), self.apply) self.connect(self._ui.ClearButton, Qt.SIGNAL("clicked()"), self.clear)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="computeu.ui") self.connect(self._ui.ComputeButton, Qt.SIGNAL( "clicked()"), self.compute_u)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self._xAttr = None self._yAttr = None self._arrayEditor = ArrayEditor() self.fromFileBT = Qt.QPushButton('Read From File') self.toFileBT = Qt.QPushButton('Write To File') self.fromAttrBT = Qt.QPushButton('Read From Device') self.toAttrBT = Qt.QPushButton('Write To Device') self.fromAttrBT.setEnabled(False) self.toAttrBT.setEnabled(False) layout = Qt.QGridLayout(self) layout.addWidget(self._arrayEditor, 0, 0, 1, 4) layout.addWidget(self.fromFileBT, 1, 0) layout.addWidget(self.toFileBT, 1, 1) layout.addWidget(self.fromAttrBT, 1, 2) layout.addWidget(self.toAttrBT, 1, 3) self.fromFileBT.clicked[()].connect(self.onFromFile) self.toFileBT.clicked[()].connect(self.onToFile) self.fromAttrBT.clicked[()].connect(self.onFromAttr) self.toAttrBT.clicked[()].connect(self.onToAttr)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="computeu.ui") self.connect(self._ui.ComputeButton, Qt.SIGNAL("clicked()"), self.compute_u)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.setLayout(Qt.QVBoxLayout()) self._splitter = Qt.QSplitter() self._splitter.setOrientation(Qt.Qt.Vertical) self.layout().addWidget(self._splitter) self._frame = TaurusWidget(self) self._frame.setLayout(Qt.QGridLayout()) self._scrollArea = TaurusScrollArea(self) self._scrollArea.setWidget(self._frame) self._scrollArea.setWidgetResizable(True) self._splitter.addWidget(self._scrollArea) self._outputTE = Qt.QTextEdit() self._outputTE.setReadOnly(True) self._splitter.addWidget(self._outputTE) #self._splitter.moveSplitter(self._splitter.getRange(0)[-1], 0) self._cmdWidgets = [] self._paramWidgets = [] self._viewFilters = [] self._defaultParameters = [] self._sortKey = lambda x: x.cmd_name self._operatorViewFilter = lambda x: x.disp_level == DisplayLevel.OPERATOR # self.setLayout(Qt.QGridLayout()) self.modelChanged.connect(self._updateCommandWidgets)
def __init__(self, parent=None, selectables=None, host=None, designMode=None, singleModel=False): '''Creator of TaurusModelChooser :param parent: (QObject) parent for the dialog :param selectables: (list<TaurusElementType>) if passed, only elements of the tree whose type is in the list will be selectable. :param host: (QObject) Tango host to be explored by the chooser :param designMode: (bool) needed for taurusdesigner but ignored here :param singleModel: (bool) If True, the selection will be of just one model. Otherwise (default) a list of models can be selected ''' TaurusWidget.__init__(self, parent) if host is None: try: # TODO: Tango-centric! host = taurus.Factory('tango').getAuthority().getFullName() except Exception as e: taurus.info('Cannot populate Tango Tree: %r', e) self._allowDuplicates = False self.setLayout(Qt.QVBoxLayout()) self.tree = TaurusModelSelectorTree(selectables=selectables, buttonsPos=Qt.Qt.BottomToolBarArea) self.tree.setModel(host) self.list = TaurusModelList() self.list.setSelectionMode(Qt.QAbstractItemView.ExtendedSelection) applyBT = Qt.QToolButton() applyBT.setToolButtonStyle(Qt.Qt.ToolButtonTextBesideIcon) applyBT.setText('Apply') applyBT.setIcon(Qt.QIcon("status:available.svg")) self.setSingleModelMode(singleModel) # toolbar self._toolbar = self.tree._toolbar self._toolbar.addAction(self.list.removeSelectedAction) self._toolbar.addAction(self.list.removeAllAction) self._toolbar.addAction(self.list.moveUpAction) self._toolbar.addAction(self.list.moveDownAction) self._toolbar.addSeparator() self._toolbar.addWidget(applyBT) self.layout().addWidget(self.tree) self.layout().addWidget(self.list) # self.tree.setUseParentModel(True) #It does not work!!!! # @todo: This is Workaround because UseSetParentModel is giving trouble again! self.modelChanged.connect(self.tree.setModel) # connections: self.tree.addModels.connect(self.addModels) applyBT.clicked.connect(self._onUpdateModels)
def __init__(self, parent=None): TaurusWidget.__init__(self, parent) self.setLayout(Qt.QHBoxLayout()) form = LoadForm(self) form.setModel([ "simumotor/zreszela/1/position", "simumotor/zreszela/2/position", "simumotor/zreszela/3/position", "simumotor/zreszela/4/position" ]) self.layout().addWidget(form)
def __init__(self, *args, **kwargs): TaurusWidget.__init__(self, *args) fileModel = kwargs.get('fileModel', None) if fileModel is None: fileModel = HDF5Widget.FileModel() self.__fileModel = fileModel self.treeWidget = HDF5Widget.HDF5Widget(self.__fileModel) self.treeWidget.setSizePolicy(Qt.QSizePolicy( Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Expanding)) # self.infoWidget = HDF5Info.HDF5InfoWidget() self.__previewStack = Qt.QStackedWidget() self.__currentPreview = None # layout self.__splitter = Qt.QSplitter() self.__splitter.setOrientation(Qt.Qt.Vertical) self.__splitter.addWidget(self.treeWidget) # self.__splitter.addWidget(self.infoWidget) self.__splitter.addWidget(self.__previewStack) self.setLayout(Qt.QVBoxLayout()) self.layout().addWidget(self.__splitter) # Actions self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self.openFileAction = Qt.QAction(taurus.qt.qtgui.resource.getThemeIcon( "document-open"), "Open Data File...", self) self.togglePreviewAction = Qt.QAction(taurus.qt.qtgui.resource.getIcon( ":/actions/view.svg"), "Show/Hide preview", self) self.togglePreviewAction.setCheckable(True) self.togglePreviewAction.setChecked(True) self.addActions([self.openFileAction, self.togglePreviewAction]) # Toolbar self._toolbar = Qt.QToolBar("NeXus browser toolbar") self._toolbar.setIconSize(Qt.QSize(16, 16)) self._toolbar.setFloatable(False) self._toolbar.addActions( [self.openFileAction, self.togglePreviewAction]) self.layout().setMenuBar(self._toolbar) # connections self.connect(self.__fileModel, Qt.SIGNAL( 'fileAppended'), self.treeWidget.fileAppended) self.connect(self.treeWidget, Qt.SIGNAL( "HDF5WidgetSignal"), self.onHDF5WidgetSignal) self.connect(self.openFileAction, Qt.SIGNAL( "triggered()"), self.openFile) self.connect(self.togglePreviewAction, Qt.SIGNAL( "toggled(bool)"), self.__previewStack.setVisible) # configuration self.registerConfigProperty( self.togglePreviewAction.isChecked, self.togglePreviewAction.setChecked, 'showPreview')
def __init__(self, parent=None, designMode=False, readWClass=None, writeWClass=None, enterEditTriggers=None, exitEditTriggers=None): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self.setFocusPolicy(Qt.Qt.StrongFocus) self.setLayout(Qt.QStackedLayout()) self.readWidget = None self.writeWidget = None # Use parameters from constructor args or defaults from class self.readWClass = readWClass or self.readWClass self.writeWClass = writeWClass or self.writeWClass self.enterEditTriggers = enterEditTriggers or self.enterEditTriggers self.exitEditTriggers = exitEditTriggers or self.exitEditTriggers # classify the triggers sc, et, sig = self._classifyTriggers(self.enterEditTriggers) self.enterEditShortCuts = sc self.enterEditEventTypes = et self.enterEditSignals = sig sc, et, sig = self._classifyTriggers(self.exitEditTriggers) self.exitEditShortCuts = sc self.exitEditEventTypes = et self.exitEditSignals = sig # Actions for entering and exiting the edit self.enterEditAction = Qt.QAction("Start Editing", self) self.enterEditAction.setShortcuts(self.enterEditShortCuts) self.enterEditAction.setShortcutContext( Qt.Qt.WidgetWithChildrenShortcut) self.addAction(self.enterEditAction) self.exitEditAction = Qt.QAction("Abort Editing", self) self.exitEditAction.setShortcuts(self.exitEditShortCuts) self.exitEditAction.setShortcutContext( Qt.Qt.WidgetWithChildrenShortcut) self.addAction(self.exitEditAction) self.connect(self.enterEditAction, Qt.SIGNAL("triggered()"), self._onEnterEditActionTriggered) self.connect(self.exitEditAction, Qt.SIGNAL("triggered()"), self._onExitEditActionTriggered) # add read and write widgets if self.readWClass is not None: self.setReadWidget(self.readWClass()) if self.writeWClass is not None: self.setWriteWidget(self.writeWClass())
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="ubmatrix.ui") self._ui.UpdateButton.clicked.connect(self.update_values) self._ui.ComputeUButton.clicked.connect(self.compute_ub) self._ui.ReflectionsListButton.clicked.connect( self.reflections_list_window) self._ui.EditReflectionsButton.clicked.connect( self.edit_reflections_window) self._ui.AffineButton.clicked.connect(self.affine) self._ui.AddCrystalButton.clicked.connect(self.add_select_crystal)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="hklscan.ui") self._ui.hklStartScanButton.clicked.connect(self.start_hklscan) self._ui.hklStopScanButton.clicked.connect(self.stop_hklscan) self._ui.hklDisplayAnglesButton.clicked.connect(self.display_angles) self._ui.MacroServerConnectionButton.clicked.connect( self.open_macroserver_connection_panel) # Create a global SharedDataManager Qt.qApp.SDM = SharedDataManager(self)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="ubmatrix.ui") self._ui.UpdateButton.clicked.connect(self.update_values) self._ui.ComputeUButton.clicked.connect(self.compute_ub) self._ui.ReflectionsListButton.clicked.connect( self.reflections_list_window) self._ui.EditReflectionsButton.clicked.connect( self.edit_reflections_window) self._ui.AffineButton.clicked.connect(self.affine) self._ui.AddCrystalButton.clicked.connect(self.add_select_crystal)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="hklscan.ui") self._ui.hklStartScanButton.clicked.connect(self.start_hklscan) self._ui.hklStopScanButton.clicked.connect(self.stop_hklscan) self._ui.hklDisplayAnglesButton.clicked.connect(self.display_angles) self._ui.MacroServerConnectionButton.clicked.connect( self.open_macroserver_connection_panel) # Create a global SharedDataManager Qt.qApp.SDM = SharedDataManager(self)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi() self._selectedDevice = "" if hasattr(self.modelChosen, '_parent'): self.modelChosen._parent = self try: self._ui.selectorCombo.currentIndexChanged.connect(self.selection) except Exception as e: self.warning("Using deprecated connect signal") Qt.QObject.connect(self._ui.selectorCombo, Qt.SIGNAL('currentIndexChanged(int)'), self.selection)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.loadUi() self.door = None self.door_state_listener = None self.macro_name = '' self.macro_args = [] self.macro_id = None self.running_macro = None self.ui.progress.setValue(0) self.ui.button.setCheckable(True) self.ui.button.clicked.connect(self._onButtonClicked)
def __init__(self, *args): TaurusWidget.__init__(self, *args) self.setLayout(QtGui.QHBoxLayout()) self.layout().setMargin(0) led = YAGLed(self) led.setUseParentModel(True) led.setModel('/State') led.getFormatedToolTip = self.getFormatedToolTip led.setSizePolicy(Qt.QSizePolicy.Fixed, Qt.QSizePolicy.Fixed) self.layout().addWidget(led) self.layout().addStretch()
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self._setup_ui() self._throttle_timer = QtCore.QTimer() self._throttle_timer.setInterval(200) self._throttle_timer.setSingleShot(True) self.connect(self._throttle_timer, QtCore.SIGNAL("timeout()"), self._writeValue) self._value = None self._acc_value = 0 # accumulate fast wheel events self._last_wheel = 0 # time of last wheel event
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.loadUi() self.door = None self.door_state_listener = None self.macro_name = '' self.macro_args = [] self.macro_id = None self.running_macro = None self.ui.progress.setValue(0) self.ui.button.setCheckable(True) self.ui.button.clicked.connect(self._onButtonClicked)
def __init__(self, parent=None, selectables=None, host=None, designMode=None, singleModel=False): '''Creator of TaurusModelChooser :param parent: (QObject) parent for the dialog :param selectables: (list<TaurusElementType>) if passed, only elements of the tree whose type is in the list will be selectable. :param host: (QObject) Tango host to be explored by the chooser :param designMode: (bool) needed for taurusdesigner but ignored here :param singleModel: (bool) If True, the selection will be of just one model. Otherwise (default) a list of models can be selected ''' TaurusWidget.__init__(self, parent) if host is None: host = taurus.Authority().getNormalName() self._allowDuplicates = False self.setLayout(Qt.QVBoxLayout()) self.tree = TaurusModelSelectorTree( selectables=selectables, buttonsPos=Qt.Qt.BottomToolBarArea) self.tree.setModel(host) self.list = TaurusModelList() self.list.setSelectionMode(Qt.QAbstractItemView.ExtendedSelection) applyBT = Qt.QToolButton() applyBT.setToolButtonStyle(Qt.Qt.ToolButtonTextBesideIcon) applyBT.setText('Apply') applyBT.setIcon(Qt.QIcon("status:available.svg")) self.setSingleModelMode(singleModel) # toolbar self._toolbar = self.tree._toolbar self._toolbar.addAction(self.list.removeSelectedAction) self._toolbar.addAction(self.list.removeAllAction) self._toolbar.addAction(self.list.moveUpAction) self._toolbar.addAction(self.list.moveDownAction) self._toolbar.addSeparator() self._toolbar.addWidget(applyBT) self.layout().addWidget(self.tree) self.layout().addWidget(self.list) # self.tree.setUseParentModel(True) #It does not work!!!! # @todo: This is Workaround because UseSetParentModel is giving trouble again! self.modelChanged.connect(self.tree.setModel) # connections: self.tree.addModels.connect(self.addModels) applyBT.clicked.connect(self._onUpdateModels)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self._viewFilters = [] self._operatorViewFilter = lambda x: x.disp_level == DisplayLevel.OPERATOR self.setLayout(Qt.QVBoxLayout()) self._form = TaurusForm(parent=self) self.layout().addWidget(self._form) self.registerConfigDelegate(self._form) self.modelChanged.connect(self._updateAttrWidgets) self._sortKey = lambda x: x.name
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self._viewFilters = [] self._operatorViewFilter = lambda x: x.disp_level == PyTango.DispLevel.OPERATOR self.setLayout(Qt.QVBoxLayout()) self._form = TaurusForm(parent=self) self.layout().addWidget(self._form) self.registerConfigDelegate(self._form) self.modelChanged.connect(self._updateAttrWidgets) self._sortKey = lambda x: x.name
def __init__(self, *args, **kwargs): TaurusWidget.__init__(self, *args) fileModel = kwargs.get("fileModel", None) if fileModel is None: fileModel = HDF5Widget.FileModel() self.__fileModel = fileModel self.treeWidget = HDF5Widget.HDF5Widget(self.__fileModel) self.treeWidget.setSizePolicy(Qt.QSizePolicy(Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Expanding)) # self.infoWidget = HDF5Info.HDF5InfoWidget() self.__previewStack = Qt.QStackedWidget() self.__currentPreview = None # layout self.__splitter = Qt.QSplitter() self.__splitter.setOrientation(Qt.Qt.Vertical) self.__splitter.addWidget(self.treeWidget) # self.__splitter.addWidget(self.infoWidget) self.__splitter.addWidget(self.__previewStack) self.setLayout(Qt.QVBoxLayout()) self.layout().addWidget(self.__splitter) # Actions self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self.openFileAction = Qt.QAction(Qt.QIcon.fromTheme("document-open"), "Open Data File...", self) self.togglePreviewAction = Qt.QAction(Qt.QIcon("actions:view.svg"), "Show/Hide preview", self) self.togglePreviewAction.setCheckable(True) self.togglePreviewAction.setChecked(True) self.addActions([self.openFileAction, self.togglePreviewAction]) # Toolbar self._toolbar = Qt.QToolBar("NeXus browser toolbar") self._toolbar.setIconSize(Qt.QSize(16, 16)) self._toolbar.setFloatable(False) self._toolbar.addActions([self.openFileAction, self.togglePreviewAction]) self.layout().setMenuBar(self._toolbar) # connections self.__fileModel.sigFileAppended.connect(self.treeWidget.fileAppended) self.treeWidget.sigHDF5WidgetSignal.connect(self.onHDF5WidgetSignal) self.openFileAction.triggered[()].connect(self.openFile) self.togglePreviewAction.toggled.connect(self.__previewStack.setVisible) # configuration self.registerConfigProperty( self.togglePreviewAction.isChecked, self.togglePreviewAction.setChecked, "showPreview" )
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="selectsignal.ui") self.signalComboBox = SignalComboBox(self) self.signalComboBox.setGeometry(QtCore.QRect(70, 50, 161, 27)) self.signalComboBox.setObjectName("SignalcomboBox") self.connect(self.signalComboBox, Qt.SIGNAL( "currentIndexChanged(QString)"), self.onSignalChanged) self.doorName = None self.door_device = None registerExtensions()
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent=None, designMode=designMode) self.loadUi(filename="selectsignal.ui") self.signalComboBox = SignalComboBox(self) self.signalComboBox.setGeometry(QtCore.QRect(70, 50, 161, 27)) self.signalComboBox.setObjectName("SignalcomboBox") self.signalComboBox.currentIndexChanged['QString'].connect( self.onSignalChanged) self.doorName = None self.door_device = None registerExtensions()
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.loadUi() self.ioreg_dev = None self.alias_label = TaurusLabel() self.alias_label.setBgRole('state') self.value_label = PoolIORegisterReadWidget() self.button_value_dict = {} policy = self.value_label.sizePolicy() policy.setHorizontalPolicy(Qt.QSizePolicy.Expanding) self.value_label.setSizePolicy(policy) self.ui.lo_state_read.addWidget(self.alias_label) self.ui.lo_state_read.addWidget(self.value_label)
def __init__(self, parent=None, designMode=False, readWClass=None, writeWClass=None, enterEditTriggers=None, exitEditTriggers=None): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self.setFocusPolicy(Qt.Qt.StrongFocus) self.setLayout(Qt.QStackedLayout()) self.readWidget = None self.writeWidget = None # Use parameters from constructor args or defaults from class self.readWClass = readWClass or self.readWClass self.writeWClass = writeWClass or self.writeWClass self.enterEditTriggers = enterEditTriggers or self.enterEditTriggers self.exitEditTriggers = exitEditTriggers or self.exitEditTriggers # classify the triggers sc, et, sig = self._classifyTriggers(self.enterEditTriggers) self.enterEditShortCuts = sc self.enterEditEventTypes = et self.enterEditSignals = sig sc, et, sig = self._classifyTriggers(self.exitEditTriggers) self.exitEditShortCuts = sc self.exitEditEventTypes = et self.exitEditSignals = sig # Actions for entering and exiting the edit self.enterEditAction = Qt.QAction("Start Editing", self) self.enterEditAction.setShortcuts(self.enterEditShortCuts) self.enterEditAction.setShortcutContext( Qt.Qt.WidgetWithChildrenShortcut) self.addAction(self.enterEditAction) self.exitEditAction = Qt.QAction("Abort Editing", self) self.exitEditAction.setShortcuts(self.exitEditShortCuts) self.exitEditAction.setShortcutContext( Qt.Qt.WidgetWithChildrenShortcut) self.addAction(self.exitEditAction) self.enterEditAction.triggered[()].connect(self._onEnterEditActionTriggered) self.exitEditAction.triggered[()].connect(self._onExitEditActionTriggered) # add read and write widgets if self.readWClass is not None: self.setReadWidget(self.readWClass()) if self.writeWClass is not None: self.setWriteWidget(self.writeWClass())
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.loadUi() self.ioreg_dev = None self.alias_label = TaurusLabel() self.alias_label.setBgRole('state') self.value_label = PoolIORegisterReadWidget() self.button_value_dict = {} policy = self.value_label.sizePolicy() policy.setHorizontalPolicy(Qt.QSizePolicy.Expanding) self.value_label.setSizePolicy(policy) self.ui.lo_state_read.addWidget(self.alias_label) self.ui.lo_state_read.addWidget(self.value_label)
def __init__(self, *args): TaurusWidget.__init__(self, *args) self.setLayout(QtGui.QHBoxLayout()) self.layout().setMargin(0) self.moveInButton = TaurusCommandButton(self) self.moveInButton.setUseParentModel(True) self.moveInButton.setCommand('MoveIn') self.moveInButton.setCustomText('Move In') self.moveOutButton = TaurusCommandButton(self) self.moveOutButton.setUseParentModel(True) self.moveOutButton.setCommand('MoveOut') self.moveOutButton.setCustomText('Move Out') self.layout().addWidget(self.moveInButton) self.layout().addWidget(self.moveOutButton)
def __init__(self, *args): TaurusWidget.__init__(self, *args) self.setLayout(QtGui.QHBoxLayout()) self.layout().setMargin(0) self.layout().setSpacing(0) self.led = TaurusLed(self) self.led.setUseParentModel(True) self.led.setModel('/State') self.led.getFormatedToolTip = self.getFormatedToolTip self.led.setSizePolicy(Qt.QSizePolicy.Fixed, Qt.QSizePolicy.Fixed) self.label = ExpandingLabel() self.label.setUseParentModel(True) self.layout().addWidget(self.led) self.layout().addWidget(self.label)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.ioreg_dev = None self.setLayout(Qt.QHBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(0) self.alias_label = TaurusLabel() self.alias_label.setBgRole('state') self.layout().addWidget(self.alias_label) self.read_widget = PoolIORegisterReadWidget() self.layout().addWidget(self.read_widget) self.write_widget = PoolIORegisterWriteWidget() self.layout().addWidget(self.write_widget)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.ioreg_dev = None self.setLayout(Qt.QHBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(0) self.alias_label = TaurusLabel() self.alias_label.setBgRole('state') self.layout().addWidget(self.alias_label) self.read_widget = PoolIORegisterReadWidget() self.layout().addWidget(self.read_widget) self.write_widget = PoolIORegisterWriteWidget() self.layout().addWidget(self.write_widget)
def __init__(self, preffix='', suffix='', labels=False, parent=None): TaurusWidget.__init__(self, parent) self.preffix = preffix self.suffix = suffix self.labels = labels if preffix or suffix: self.setWindowTitle('%s ... %s' % (preffix, suffix)) self.setLayout(Qt.QVBoxLayout()) self.bar = Qt.QWidget(self) self.search = Qt.QLineEdit() self.button = Qt.QPushButton('Load') self.connect(self.button, Qt.SIGNAL("pressed()"), self.apply_search) self.bar.setLayout(Qt.QHBoxLayout()) self.bar.layout().addWidget(self.search) self.bar.layout().addWidget(self.button) self.layout().addWidget(self.bar) self.form = TaurusForm(self) self.layout().addWidget(self.form)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self.setLayout(Qt.QVBoxLayout()) self.tree = QConfigEditorModel() self.treeview = Qt.QTreeView() self.tree.setHorizontalHeaderLabels( ['Configuration key', 'type', 'value']) self.layout().addWidget(self.treeview) self._toolbar = Qt.QToolBar("QConfigViewer Main toolBar") self._toolbar.addAction(Qt.QIcon.fromTheme( "document-open"), "Open File", self.loadFile) self._toolbar.addAction(Qt.QIcon.fromTheme( "document-save"), "Save File", self.saveFile) self._toolbar.addAction(Qt.QIcon.fromTheme( "edit-undo"), "Reload from file", self.restoreOriginal) self.layout().setMenuBar(self._toolbar) self.setWindowTitle('TaurusConfigEditor') self.tree.showError.connect(self._showError)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="diffractometeralignment.ui") self.selectsignal = SelectSignal() self._ui.AlignmentStopButton.clicked.connect(self.stop_movements) self._ui.AlignmentStoreReflectionButton.clicked.connect( self.store_reflection) self._ui.MacroServerConnectionButton.clicked.connect( self.open_macroserver_connection_panel) self._ui.SelectSignalButton.clicked.connect( self.open_selectsignal_panel) # Create a global SharedDataManager Qt.qApp.SDM = SharedDataManager(self)
def __init__(self, parent=None): TaurusWidget.__init__(self, parent) self.loadUi() self.statusLabel.setUseParentModel(True) self.statusLabel.setModel('/Status') self.modeCB.setUseParentModel(True) self.modeCB.setModel('/Mode') self.type_attribute = None self.mode_attribute = None self.type_value = None self.mode_value = None self.modelChanged.connect(self.onModelChanged) self.modeChanged.connect(self.onModeChanged) self.typeChanged.connect(self.onTypeChanged)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent) self.setLayout(Qt.QHBoxLayout()) # put a widget with a TaurusValue w = Qt.QWidget() w.setLayout(Qt.QGridLayout()) self._TaurusValue = TaurusValue(parent=w, designMode=designMode) self._TaurusValue.setLabelWidgetClass(LabelWidgetDragsDeviceAndAttribute) self._TaurusValue.setLabelConfig("dev_alias") self.layout().addWidget(w) # ...and a dev button next to the widget self._devButton = TaurusDevButton(parent=self, designMode=designMode) self._devButton.setText("") self.layout().addWidget(self._devButton) self.connect(self, Qt.SIGNAL("modelChanged(const QString &)"), self._updateTaurusValue)
def __init__(self, parent=None, name=None, designMode=False): try: self.__name = name.__name__ except: self.__name = "LinacPlcWidget" # super(LinacPlcWidget, self).__init__(parent, designMode=designMode) TaurusWidget.__init__(self, parent, designMode) try: self.debug("[%s]__init__()" % (self.__name)) basePath = os.path.dirname(__file__) if len(basePath) == 0: basePath = '.' self.loadUi(filename="LinacPlcWidget.ui", path=basePath+"/ui") except Exception as e: self.warning("[%s]__init__(): Widget exception! %s" % (self.__name, e)) traceback.print_exc() self.traceback()
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent) self.setLayout(Qt.QHBoxLayout()) # put a widget with a TaurusValue w = Qt.QWidget() w.setLayout(Qt.QGridLayout()) self._TaurusValue = TaurusValue(parent=w, designMode=designMode) self._TaurusValue.setLabelWidgetClass( LabelWidgetDragsDeviceAndAttribute) self._TaurusValue.setLabelConfig('<dev_alias>') self.layout().addWidget(w) #...and a dev button next to the widget self._devButton = TaurusDevButton(parent=self, designMode=designMode) self._devButton.setText('') self.layout().addWidget(self._devButton) self.modelChanged.connect(self._updateTaurusValue)
def __init__(self, parent=None, designMode=False, defaultWriteMode=None): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self._tableView = TaurusValuesIOTable(self) l = Qt.QGridLayout() l.addWidget(self._tableView, 1, 0) self._tableView.itemDelegate().editorCreated.connect(self._onEditorCreated) if defaultWriteMode is None: self.defaultWriteMode = "rw" else: self.defaultWriteMode = defaultWriteMode self._label = TaurusLabel() self._label.setBgRole('quality') self._label.setFgRole('quality') self._units = Qt.QComboBox() self._applyBT = Qt.QPushButton('Apply') self._cancelBT = Qt.QPushButton('Cancel') self._applyBT.clicked.connect(self.okClicked) self._cancelBT.clicked.connect(self.cancelClicked) self._rwModeCB = Qt.QCheckBox() self._rwModeCB.setText('Write mode') self._rwModeCB.toggled.connect(self.setWriteMode) lv = Qt.QHBoxLayout() lv.addWidget(self._label) lv.addWidget(self._units) l.addLayout(lv, 2, 0) l.addWidget(self._rwModeCB, 0, 0) lv = Qt.QHBoxLayout() lv.addWidget(self._applyBT) lv.addWidget(self._cancelBT) l.addLayout(lv, 3, 0) self._writeMode = False self.setLayout(l) self._initActions()
def __init__(self, parent=None): TaurusWidget.__init__(self, parent=parent) self.plot = ArchivingPlot(self) self.legend = ArchivingLegend(self.plot) self.modelchooser = None self.plot.updateSig[bool, bool].connect(self.updateAll) self.t0, self.t1 = 0, 0 msi = self.modelchooser if msi: # Connect button msi.modelsAdded.connect(onAddXYModel) self.pb = Qt.QProgressBar() self.pb.setGeometry(0, 0, 300, 25) self.info('building layout') self.setLayout(Qt.QVBoxLayout()) self.tc = TangoArchivingTimeSelector() l1 = Qt.QSplitter() l1.addWidget(self.plot) self.plot.setTimeChooser(self.tc) l1.addWidget(self.legend) l0 = Qt.QWidget() l0.setLayout(Qt.QHBoxLayout()) l0.layout().addWidget(self.tc) self.refresh = Qt.QPushButton(Qt.QIcon.fromTheme("view-refresh"), "refresh tgarch curves") self.refresh.clicked.connect(self.onRefresh) self.layout().addWidget(l0) l0.layout().addWidget(self.refresh) self.layout().addWidget(l1, 10) self.layout().addWidget(self.pb) self.updateProgressBar() self.addXYModelsSig.connect(self.addXYModels)
def __init__(self, parent=None, designMode=False, defaultWriteMode=None): TaurusWidget.__init__(self, parent=parent, designMode=designMode) self._tableView = TaurusValuesIOTable(self) l = Qt.QGridLayout() l.addWidget(self._tableView, 1, 0) self._tableView.itemDelegate().editorCreated.connect( self._onEditorCreated) if defaultWriteMode is None: self.defaultWriteMode = "rw" else: self.defaultWriteMode = defaultWriteMode self._label = TaurusLabel() self._label.setBgRole('quality') self._label.setFgRole('quality') self._units = Qt.QComboBox() self._applyBT = Qt.QPushButton('Apply') self._cancelBT = Qt.QPushButton('Cancel') self._applyBT.clicked.connect(self.okClicked) self._cancelBT.clicked.connect(self.cancelClicked) self._rwModeCB = Qt.QCheckBox() self._rwModeCB.setText('Write mode') self._rwModeCB.toggled.connect(self.setWriteMode) lv = Qt.QHBoxLayout() lv.addWidget(self._label) lv.addWidget(self._units) l.addLayout(lv, 2, 0) l.addWidget(self._rwModeCB, 0, 0) lv = Qt.QHBoxLayout() lv.addWidget(self._applyBT) lv.addWidget(self._cancelBT) l.addLayout(lv, 3, 0) self._writeMode = False self.setLayout(l) self._initActions()
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.setLayout(Qt.QGridLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(0) self.lbl_alias = DefaultLabelWidget(parent, designMode) self.lbl_alias.setBgRole("none") self.layout().addWidget(self.lbl_alias) # I don't like this approach, there should be something like # self.lbl_alias.addAction(...) self.lbl_alias.contextMenuEvent = \ lambda event: self.contextMenuEvent(event) # I' don't like this approach, there should be something like # self.lbl_alias.addToolTipCallback(self.calculate_extra_tooltip) self.lbl_alias.getFormatedToolTip = self.calculateExtendedTooltip # I' don't like this approach, there should be something like # self.lbl_alias.disableDrag() or self.lbl_alias.setDragEnabled(False) # or better, define if Attribute or Device or Both have to be included # in the mimeData self.lbl_alias.mouseMoveEvent = self.mouseMoveEvent
def __init__(self, parent=None, model=None, palette=None, bound=True): TaurusWidget.__init__(self, parent) if palette: self.setPalette(palette) self.setLayout(Qt.QGridLayout()) self.bound = bound self._dups = [] self.setWindowTitle('TaurusDevicePanel') self._label = Qt.QLabel() self._label.font().setBold(True) self._stateframe = TaurusWidget(self) self._stateframe.setLayout(Qt.QGridLayout()) self._stateframe.layout().addWidget(Qt.QLabel('State'), 0, 0, Qt.Qt.AlignCenter) self._statelabel = TaurusLabel(self._stateframe) self._statelabel.setMinimumWidth(100) self._statelabel.setBgRole('state') self._stateframe.layout().addWidget(self._statelabel, 0, 1, Qt.Qt.AlignCenter) self._state = TaurusLed(self._stateframe) self._state.setShowQuality(False) self._stateframe.layout().addWidget(self._state, 0, 2, Qt.Qt.AlignCenter) self._statusframe = Qt.QScrollArea(self) self._status = TaurusLabel(self._statusframe) self._status.setBgRole('none') self._status.setAlignment(Qt.Qt.AlignLeft) self._status.setFixedHeight(2000) self._status.setFixedWidth(5000) # self._statusframe.setFixedHeight(STATUS_HEIGHT) self._statusframe.setHorizontalScrollBarPolicy(Qt.Qt.ScrollBarAlwaysOn) self._statusframe.setVerticalScrollBarPolicy(Qt.Qt.ScrollBarAlwaysOn) self._statusframe.setWidget(self._status) self._statusframe.setPalette(get_White_palette()) self._attrsframe = Qt.QTabWidget(self) # Horizontal will not allow to show labels of attributes! self._splitter = Qt.QSplitter(Qt.Qt.Vertical, self) self._attrs, self._comms = None, None self.layout().addWidget(self._splitter, 0, 0) self._header = Qt.QFrame() self._header.setFixedHeight(1.1 * IMAGE_SIZE[1]) self._header.setLayout(Qt.QGridLayout()) self._dup = Qt.QPushButton() qpixmap = Qt.QIcon("actions:window-new.svg") self._dup.setIcon(Qt.QIcon(qpixmap)) self._dup.setIconSize(Qt.QSize(15, 15)) self._dup.pressed.connect(self.duplicate) self._image = Qt.QLabel() self._header.layout().addWidget(self._image, 0, 0, 2, 1, Qt.Qt.AlignCenter) self._header.layout().addWidget(self._label, 0, 1, Qt.Qt.AlignLeft) self._header.layout().addWidget(self._stateframe, 1, 1, 1, 2, Qt.Qt.AlignLeft) self._header.layout().addWidget(self._dup, 0, 2, Qt.Qt.AlignRight) self._splitter.insertWidget(0, self._header) self._splitter.insertWidget(1, self._attrsframe) self._splitter.insertWidget(2, self._statusframe) self._splitter.setSizes(SPLIT_SIZES) [self._splitter.setStretchFactor(i, v) for i, v in enumerate(SPLIT_SIZES)] self._splitter.setCollapsible(0, False) self._splitter.setCollapsible(1, False) if model: self.setModel(model)
def __init__(self, parent=None, formWidget=None, buttons=None, withButtons=True, designMode=False): TaurusWidget.__init__(self, parent, designMode) if buttons is None: buttons = Qt.QDialogButtonBox.Apply | \ Qt.QDialogButtonBox.Reset self._customWidgetMap = {} self._model = [] self._children = [] self.setFormWidget(formWidget) self.setLayout(Qt.QVBoxLayout()) frame = TaurusWidget() frame.setLayout(Qt.QGridLayout()) self.scrollArea = TaurusScrollArea(self) self.scrollArea.setWidget(frame) self.scrollArea.setWidgetResizable(True) self.layout().addWidget(self.scrollArea) self.__modelChooserDlg = None self.buttonBox = QButtonBox(buttons=buttons, parent=self) self.layout().addWidget(self.buttonBox) self._connectButtons() # Actions (they automatically populate the context menu) self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self.chooseModelsAction = Qt.QAction('Modify Contents', self) self.addAction(self.chooseModelsAction) self.chooseModelsAction.triggered[()].connect(self.chooseModels) self.showButtonsAction = Qt.QAction('Show Buttons', self) self.showButtonsAction.setCheckable(True) self.addAction(self.showButtonsAction) self.showButtonsAction.triggered[bool].connect(self.setWithButtons) self.setWithButtons(withButtons) self.changeLabelsAction = Qt.QAction('Change labels (all items)', self) self.addAction(self.changeLabelsAction) self.changeLabelsAction.triggered[()].connect(self.onChangeLabelsAction) self.compactModeAction = Qt.QAction('Compact mode (all items)', self) self.compactModeAction.setCheckable(True) self.addAction(self.compactModeAction) self.compactModeAction.triggered[bool].connect(self.setCompact) self.resetModifiableByUser() self.setSupportedMimeTypes([TAURUS_MODEL_LIST_MIME_TYPE, TAURUS_DEV_MIME_TYPE, TAURUS_ATTR_MIME_TYPE, TAURUS_MODEL_MIME_TYPE, 'text/plain']) self.resetCompact() # properties self.registerConfigProperty( self.isWithButtons, self.setWithButtons, 'withButtons') self.registerConfigProperty(self.isCompact, self.setCompact, 'compact')
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.setObjectName(self.__class__.__name__) self._doorName = "" self._macroId = None self.setLayout(Qt.QVBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.addToFavouritesAction = Qt.QAction(getThemeIcon( "software-update-available"), "Add to favourites", self) self.addToFavouritesAction.triggered.connect(self.onAddToFavourites) self.addToFavouritesAction.setToolTip("Add to favourites") self.stopMacroAction = Qt.QAction( getIcon(":/actions/media_playback_stop.svg"), "Stop macro", self) self.stopMacroAction.triggered.connect(self.onStopMacro) self.stopMacroAction.setToolTip("Stop macro") self.pauseMacroAction = Qt.QAction( getIcon(":/actions/media_playback_pause.svg"), "Pause macro", self) self.pauseMacroAction.triggered.connect(self.onPauseMacro) self.pauseMacroAction.setToolTip("Pause macro") self.playMacroAction = Qt.QAction( getIcon(":/actions/media_playback_start.svg"), "Start macro", self) self.playMacroAction.triggered.connect(self.onPlayMacro) self.playMacroAction.setToolTip("Start macro") actionsLayout = Qt.QHBoxLayout() actionsLayout.setContentsMargins(0, 0, 0, 0) addToFavouritsButton = Qt.QToolButton() addToFavouritsButton.setDefaultAction(self.addToFavouritesAction) self.addToFavouritesAction.setEnabled(False) actionsLayout.addWidget(addToFavouritsButton) self.macroComboBox = MacroComboBox(self) self.macroComboBox.setUseParentModel(True) self.macroComboBox.setModelColumn(0) actionsLayout.addWidget(self.macroComboBox) stopMacroButton = Qt.QToolButton() stopMacroButton.setDefaultAction(self.stopMacroAction) actionsLayout.addWidget(stopMacroButton) pauseMacroButton = Qt.QToolButton() pauseMacroButton.setDefaultAction(self.pauseMacroAction) actionsLayout.addWidget(pauseMacroButton) self.playMacroButton = Qt.QToolButton() self.playMacroButton.setDefaultAction(self.playMacroAction) actionsLayout.addWidget(self.playMacroButton) self.disableControlActions() self.doorStateLed = TaurusLed(self) actionsLayout.addWidget(self.doorStateLed) self.layout().addLayout(actionsLayout) splitter = Qt.QSplitter(self) self.layout().addWidget(splitter) splitter.setOrientation(Qt.Qt.Vertical) self._paramEditorModel = ParamEditorModel() self.stackedWidget = Qt.QStackedWidget() self.standardMacroParametersEditor = StandardMacroParametersEditor( self.stackedWidget) self.stackedWidget.addWidget(self.standardMacroParametersEditor) self.customMacroParametersEditor = None splitter.addWidget(self.stackedWidget) self._favouritesBuffer = None self.favouritesMacrosEditor = FavouritesMacrosEditor(self) self.registerConfigDelegate(self.favouritesMacrosEditor) self.favouritesMacrosEditor.setUseParentModel(True) self.favouritesMacrosEditor.setFocusPolicy(Qt.Qt.NoFocus) self._historyBuffer = None self.historyMacrosViewer = HistoryMacrosViewer(self) self.registerConfigDelegate(self.historyMacrosViewer) self.historyMacrosViewer.setUseParentModel(True) self.historyMacrosViewer.setFocusPolicy(Qt.Qt.NoFocus) self.tabMacroListsWidget = Qt.QTabWidget(self) self.tabMacroListsWidget.addTab( self.favouritesMacrosEditor, "Favourite list") self.tabMacroListsWidget.addTab( self.historyMacrosViewer, "History Viewer") splitter.addWidget(self.tabMacroListsWidget) # Due to a limitation in the useParentModel architecture of Taurus, # the parent of historyMacrosViewer and favouritesMacrosEditor # must be recalculated. See more details in the taurus snippet code [1] # [1] https://raw.githubusercontent.com/taurus-org/taurus/develop/doc/source/devel/examples/parentmodel_issue_demo.py self.historyMacrosViewer.recheckTaurusParent() self.favouritesMacrosEditor.recheckTaurusParent() self._isHistoryMacro = False self.macroProgressBar = MacroProgressBar(self) self.layout().addWidget(self.macroProgressBar) #spockCommandLabel = Qt.QLabel("Spock command:", self) # spockCommandLabel.setFont(Qt.QFont("Courier",9)) self.spockCommand = SpockCommandWidget("Spock", self) self.spockCommand.setSizePolicy( Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Minimum) self.spockCommand.setUseParentModel(True) spockCommandLayout = Qt.QHBoxLayout() spockCommandLayout.setContentsMargins(0, 0, 0, 0) # spockCommandLayout.addWidget(spockCommandLabel) spockCommandLayout.addWidget(self.spockCommand) self.layout().addLayout(spockCommandLayout) self.macroComboBox.currentIndexChanged['QString'].connect( self.onMacroComboBoxChanged) self.favouritesMacrosEditor.list.favouriteSelected.connect( self.onFavouriteSelected) self.historyMacrosViewer.list.historySelected.connect( self.onHistorySelected) self.spockCommand.pressedReturn.connect(self.onPlayMacro) self.spockCommand.spockComboBox.connect(self.setComboBoxItem) self.spockCommand.elementUp.connect(self.setHistoryUp) self.spockCommand.elementDown.connect(self.setHistoryDown) self.spockCommand.expandTree.connect( self.standardMacroParametersEditor.tree.expandAll)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) # list representing all macros ids (all from sequence) currently # executed self._macroIds = [] self._sequencesPath = str(Qt.QDir.homePath()) self._sequenceModel = MacroSequenceTreeModel() self.registerConfigProperty( "sequencesPath", "setSequencesPath", "sequencesPath") self.setLayout(Qt.QVBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) splitter = Qt.QSplitter() self.layout().addWidget(splitter) splitter.setOrientation(Qt.Qt.Vertical) sequenceEditor = TaurusWidget() splitter.addWidget(sequenceEditor) sequenceEditor.setUseParentModel(True) sequenceEditor.setLayout(Qt.QVBoxLayout()) sequenceEditor.layout().setContentsMargins(0, 0, 0, 0) self.tree = MacroSequenceTree(sequenceEditor) self.sequenceProxyModel = MacroSequenceProxyModel() self.sequenceProxyModel.setSourceModel(self._sequenceModel) self.tree.setModel(self.sequenceProxyModel) self.tree.setItemDelegate(SequenceEditorDelegate(self.tree)) actionsLayout = Qt.QHBoxLayout() actionsLayout.setContentsMargins(0, 0, 0, 0) self.newSequenceAction = Qt.QAction( getThemeIcon("document-new"), "New", self) self.newSequenceAction.triggered.connect(self.onNewSequence) self.newSequenceAction.setToolTip("New sequence") self.newSequenceAction.setEnabled(False) newSequenceButton = Qt.QToolButton() newSequenceButton.setDefaultAction(self.newSequenceAction) actionsLayout.addWidget(newSequenceButton) self.openSequenceAction = Qt.QAction( getThemeIcon("document-open"), "Open...", self) self.openSequenceAction.triggered.connect(self.onOpenSequence) self.openSequenceAction.setToolTip("Open sequence...") openSequenceButton = Qt.QToolButton() openSequenceButton.setDefaultAction(self.openSequenceAction) actionsLayout.addWidget(openSequenceButton) self.saveSequenceAction = Qt.QAction( getThemeIcon("document-save"), "Save...", self) self.saveSequenceAction.triggered.connect(self.onSaveSequence) self.saveSequenceAction.setToolTip("Save sequence...") self.saveSequenceAction.setEnabled(False) saveSequenceButton = Qt.QToolButton() saveSequenceButton.setDefaultAction(self.saveSequenceAction) actionsLayout.addWidget(saveSequenceButton) self.stopSequenceAction = Qt.QAction( getIcon(":/actions/media_playback_stop.svg"), "Stop", self) self.stopSequenceAction.triggered.connect(self.onStopSequence) self.stopSequenceAction.setToolTip("Stop sequence") stopSequenceButton = Qt.QToolButton() stopSequenceButton.setDefaultAction(self.stopSequenceAction) actionsLayout.addWidget(stopSequenceButton) self.pauseSequenceAction = Qt.QAction( getIcon(":/actions/media_playback_pause.svg"), "Pause", self) self.pauseSequenceAction.triggered.connect(self.onPauseSequence) self.pauseSequenceAction.setToolTip("Pause sequence") pauseSequenceButton = Qt.QToolButton() pauseSequenceButton.setDefaultAction(self.pauseSequenceAction) actionsLayout.addWidget(pauseSequenceButton) self.playSequenceAction = Qt.QAction( getIcon(":/actions/media_playback_start.svg"), "Play", self) self.playSequenceAction.triggered.connect(self.onPlaySequence) self.playSequenceAction.setToolTip("Play sequence") playSequenceButton = Qt.QToolButton() playSequenceButton.setDefaultAction(self.playSequenceAction) actionsLayout.addWidget(playSequenceButton) self.doorStateLed = TaurusLed(self) actionsLayout.addWidget(self.doorStateLed) #@todo this feature will be replaced by checkboxes in the # sequence tree view indicating clearing of the plot after execution self.fullSequencePlotCheckBox = Qt.QCheckBox( "Full sequence plot", self) self.fullSequencePlotCheckBox.toggled.connect(self.setFullSequencePlot) self.fullSequencePlotCheckBox.setChecked(True) actionsLayout.addWidget(self.fullSequencePlotCheckBox) spacerItem = Qt.QSpacerItem( 0, 0, Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Fixed) actionsLayout.addItem(spacerItem) sequenceEditor.layout().addLayout(actionsLayout) macroLayout = Qt.QHBoxLayout() macroLayout.setContentsMargins(0, 0, 0, 0) macroLabel = Qt.QLabel("Macro:") macroLayout.addWidget(macroLabel) self.macroComboBox = MacroComboBox(self) self.macroComboBox.setUseParentModel(True) self.macroComboBox.setModelColumn(0) self.macroComboBox.setSizePolicy( Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Minimum) macroLayout.addWidget(self.macroComboBox) self.addMacroAction = Qt.QAction( getThemeIcon("list-add"), "Add macro...", self) self.addMacroAction.triggered.connect(self.onAdd) self.addMacroAction.setToolTip( "Clicking this button will add selected macro") self.addMacroAction.setEnabled(False) addButton = Qt.QToolButton() addButton.setDefaultAction(self.addMacroAction) macroLayout.addWidget(addButton) sequenceEditor.layout().addLayout(macroLayout) sequenceLayout = Qt.QHBoxLayout() sequenceLayout.addWidget(self.tree) layout = Qt.QVBoxLayout() delButton = Qt.QToolButton() delButton.setDefaultAction(self.tree.deleteAction) delButton.setEnabled(False) layout.addWidget(delButton) upButton = Qt.QToolButton() upButton.setDefaultAction(self.tree.moveUpAction) upButton.setEnabled(False) layout.addWidget(upButton) downButton = Qt.QToolButton() downButton.setDefaultAction(self.tree.moveDownAction) downButton.setEnabled(False) layout.addWidget(downButton) leftButton = Qt.QToolButton() leftButton.setDefaultAction(self.tree.moveLeftAction) leftButton.setEnabled(False) layout.addWidget(leftButton) rightButton = Qt.QToolButton() rightButton.setDefaultAction(self.tree.moveRightAction) rightButton.setEnabled(False) layout.addWidget(rightButton) spacerItem = Qt.QSpacerItem( 0, 40, Qt.QSizePolicy.Fixed, Qt.QSizePolicy.Expanding) layout.addItem(spacerItem) sequenceLayout.addLayout(layout) sequenceEditor.layout().addLayout(sequenceLayout) self.parametersProxyModel = MacroParametersProxyModel() self.parametersProxyModel.setSourceModel(self._sequenceModel) self.stackedWidget = Qt.QStackedWidget() splitter.addWidget(self.stackedWidget) self.standardMacroParametersEditor = StandardMacroParametersEditor( self.stackedWidget) self.standardMacroParametersEditor.setModel(self.parametersProxyModel) self.standardMacroParametersEditor.tree.setItemDelegate( ParamEditorDelegate(self.standardMacroParametersEditor.tree)) self.stackedWidget.addWidget(self.standardMacroParametersEditor) self.customMacroParametersEditor = None self.macroComboBox.currentIndexChanged.connect( self.onMacroComboBoxChanged) self.tree.macroChanged.connect(self.setMacroParametersRootIndex)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.setObjectName(self.__class__.__name__) self._doorName = "" self._macroId = None self.setLayout(Qt.QVBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.addToFavouritesAction = Qt.QAction(getThemeIcon("software-update-available"), "Add to favourites", self) self.connect(self.addToFavouritesAction, Qt.SIGNAL("triggered()"), self.onAddToFavourites) self.addToFavouritesAction.setToolTip("Add to favourites") self.stopMacroAction = Qt.QAction(getIcon(":/actions/media_playback_stop.svg"), "Stop macro", self) self.connect(self.stopMacroAction, Qt.SIGNAL("triggered()"), self.onStopMacro) self.stopMacroAction.setToolTip("Stop macro") self.pauseMacroAction = Qt.QAction(getIcon(":/actions/media_playback_pause.svg"), "Pause macro", self) self.connect(self.pauseMacroAction, Qt.SIGNAL("triggered()"), self.onPauseMacro) self.pauseMacroAction.setToolTip("Pause macro") self.playMacroAction = Qt.QAction(getIcon(":/actions/media_playback_start.svg"), "Start macro", self) self.connect(self.playMacroAction, Qt.SIGNAL("triggered()"), self.onPlayMacro) self.playMacroAction.setToolTip("Start macro") actionsLayout = Qt.QHBoxLayout() actionsLayout.setContentsMargins(0, 0, 0, 0) addToFavouritsButton = Qt.QToolButton() addToFavouritsButton.setDefaultAction(self.addToFavouritesAction) self.addToFavouritesAction.setEnabled(False) actionsLayout.addWidget(addToFavouritsButton) self.macroComboBox = MacroComboBox(self) self.macroComboBox.setUseParentModel(True) self.macroComboBox.setModelColumn(0) actionsLayout.addWidget(self.macroComboBox) stopMacroButton = Qt.QToolButton() stopMacroButton.setDefaultAction(self.stopMacroAction) actionsLayout.addWidget(stopMacroButton) pauseMacroButton = Qt.QToolButton() pauseMacroButton.setDefaultAction(self.pauseMacroAction) actionsLayout.addWidget(pauseMacroButton) self.playMacroButton = Qt.QToolButton() self.playMacroButton.setDefaultAction(self.playMacroAction) actionsLayout.addWidget(self.playMacroButton) self.disableControlActions() self.doorStateLed = TaurusLed(self) actionsLayout.addWidget(self.doorStateLed) self.layout().addLayout(actionsLayout) splitter = Qt.QSplitter(self) self.layout().addWidget(splitter) splitter.setOrientation(Qt.Qt.Vertical) self._paramEditorModel = ParamEditorModel() self.stackedWidget = Qt.QStackedWidget() self.standardMacroParametersEditor = StandardMacroParametersEditor(self.stackedWidget) self.stackedWidget.addWidget(self.standardMacroParametersEditor) self.customMacroParametersEditor = None splitter.addWidget(self.stackedWidget) self._favouritesBuffer = None self.favouritesMacrosEditor = FavouritesMacrosEditor(self) self.registerConfigDelegate(self.favouritesMacrosEditor) self.favouritesMacrosEditor.setUseParentModel(True) self.favouritesMacrosEditor.setFocusPolicy(Qt.Qt.NoFocus) self._historyBuffer = None self.historyMacrosViewer = HistoryMacrosViewer(self) self.registerConfigDelegate(self.historyMacrosViewer) self.historyMacrosViewer.setUseParentModel(True) self.historyMacrosViewer.setFocusPolicy(Qt.Qt.NoFocus) self.tabMacroListsWidget = Qt.QTabWidget(self) self.tabMacroListsWidget.addTab(self.favouritesMacrosEditor, "Favourite list") self.tabMacroListsWidget.addTab(self.historyMacrosViewer, "History Viewer") splitter.addWidget(self.tabMacroListsWidget) self._isHistoryMacro = False self.macroProgressBar = MacroProgressBar(self) self.layout().addWidget(self.macroProgressBar) #spockCommandLabel = Qt.QLabel("Spock command:", self) #spockCommandLabel.setFont(Qt.QFont("Courier",9)) self.spockCommand = SpockCommandWidget("Spock", self) self.spockCommand.setSizePolicy(Qt.QSizePolicy.Expanding, Qt.QSizePolicy.Minimum) self.spockCommand.setUseParentModel(True) spockCommandLayout = Qt.QHBoxLayout() spockCommandLayout.setContentsMargins(0, 0, 0, 0) #spockCommandLayout.addWidget(spockCommandLabel) spockCommandLayout.addWidget(self.spockCommand) self.layout().addLayout(spockCommandLayout) self.connect(self.macroComboBox, Qt.SIGNAL("currentIndexChanged(QString)"), self.onMacroComboBoxChanged) self.connect(self.favouritesMacrosEditor.list, Qt.SIGNAL("favouriteSelected"), self.onFavouriteSelected) self.connect(self.historyMacrosViewer.list, Qt.SIGNAL("historySelected"), self.onHistorySelected) self.connect(self.spockCommand, Qt.SIGNAL("pressedReturn"), self.onPlayMacro) self.connect(self.spockCommand, Qt.SIGNAL("spockComboBox"), self.setComboBoxItem) self.connect(self.spockCommand, Qt.SIGNAL("elementUp"), self.setHistoryUp) self.connect(self.spockCommand, Qt.SIGNAL("elementDown"), self.setHistoryDown) self.connect(self.spockCommand, Qt.SIGNAL("setHistoryFocus"), self.setHistoryFocus) self.connect(self.spockCommand, Qt.SIGNAL("expandTree"), self.standardMacroParametersEditor.tree.expandAll)
def __init__(self, parent=None): TaurusWidget.__init__(self, parent) self.setLayout(Qt.QHBoxLayout()) form = LoadForm(self) form.setModel(["simumotor/zreszela/1/position", "simumotor/zreszela/2/position", "simumotor/zreszela/3/position", "simumotor/zreszela/4/position"]) self.layout().addWidget(form)
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode=designMode) self.loadUi(filename="displayscanangles.ui")
def __init__(self, parent=None, designMode=False): TaurusWidget.__init__(self, parent, designMode) self.setObjectName(self.__class__.__name__) self.registerConfigProperty("toXmlString", "fromXmlString", "history") self.initComponents()