def __init__(self, parent=None, designMode=False, taurusparam=None, toolbar=True, **kwargs): '''see :class:`guiqwt.plot.CurveDialog` for other valid initialization parameters''' CurveDialog.__init__(self, parent=parent, toolbar=toolbar, **kwargs) TaurusBaseWidget.__init__(self, 'TaurusTrendDialog') self.deprecated(rel='4.1', dep='TaurusTrendDialog', alt='TaurusTrend / taurus tpg trend launcher') self.setWindowFlags(Qt.Qt.Widget) self._designMode = designMode self._modelNames = CaselessList() from guiqwt.styles import style_generator self.style = style_generator() self.setSupportedMimeTypes( [TAURUS_MODEL_LIST_MIME_TYPE, TAURUS_ATTR_MIME_TYPE]) from taurus.qt.qtgui.extra_guiqwt.tools import TaurusModelChooserTool, AutoScrollTool self.add_tool(TaurusModelChooserTool, singleModel=False) self.add_tool(AutoScrollTool) self.setModifiableByUser(self._modifiableByUser) if taurusparam is None: taurusparam = TaurusTrendParam() self.defaultTaurusparam = taurusparam self.setContextMenuPolicy(Qt.Qt.CustomContextMenu) self.registerConfigDelegate(self.get_tool(AutoScrollTool))
def __init__( self, parent=None, profile='spockdoor', use_model_from_profile=False, extensions=None, kernel='python3', **kw): RichJupyterWidget.__init__(self, parent=parent, **kw) TaurusBaseWidget.__init__(self) self.setObjectName(self.__class__.__name__) self.setModelInConfig(True) self._profile = profile self.use_model_from_profile = use_model_from_profile if extensions is None: extensions = [] extensions.insert( 0, "sardana.taurus.qt.qtgui.extra_sardana.qtspock_ext") self._extensions = extensions self._kernel_name = kernel self._macro_server_name = None self._macro_server_alias = None self._door_name = None self._door_alias = None self.kernel_manager = SpockKernelManager(kernel_name=kernel) self.kernel_manager.kernel_about_to_launch.connect( self._handle_kernel_lauched)
def __init__(self, parent=None, designMode=False, toolbar=True, stackMode='deltatime', buffersize=512, options=None, **kwargs): '''see :class:`guiqwt.plot.ImageDialog` for other valid initialization parameters''' defaultOptions = dict(lock_aspect_ratio=False) if options is not None: defaultOptions.update(options) ImageDialog.__init__(self, parent=parent, toolbar=toolbar, options=defaultOptions, **kwargs) TaurusBaseWidget.__init__(self, "TaurusTrend2DDialog") self.trendItem = None self.buffersize = buffersize self._useArchiving = False self._stackMode = stackMode self.setStackMode(stackMode) self.setWindowFlags(Qt.Qt.Widget) # add some tools for toolklass in (TaurusModelChooserTool, AutoScrollTool): self.add_tool(toolklass) self.get_tool(TaurusModelChooserTool).singleModel = True self.setModifiableByUser(self._modifiableByUser) self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
def __init__(self, parent=None, designMode=False, toolbar=True, **kwargs): '''see :class:`guiqwt.plot.ImageDialog` for other valid initialization parameters''' ImageDialog.__init__(self, parent=parent, toolbar=toolbar, **kwargs) TaurusBaseWidget.__init__(self, 'TaurusImageDialog') self.setWindowFlags(Qt.Qt.Widget) self.imgItem = None from taurus.qt.qtgui.extra_guiqwt.tools import TaurusModelChooserTool self.add_tool(TaurusModelChooserTool, singleModel=True) self.setModifiableByUser(True) self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
def __init__(self, parent=None, door=None, plotsButton=True): Qt.QWidget.__init__(self, parent) TaurusBaseWidget.__init__(self, 'ExpDescriptionEditor') self.loadUi() self.ui.buttonBox.setStandardButtons(Qt.QDialogButtonBox.Reset | Qt.QDialogButtonBox.Apply) newperspectivesDict = copy.deepcopy(self.ui.sardanaElementTree.KnownPerspectives) #newperspectivesDict[self.ui.sardanaElementTree.DftPerspective]['model'] = [SardanaAcquirableProxyModel, SardanaElementPlainModel] newperspectivesDict[self.ui.sardanaElementTree.DftPerspective]['model'][0] = SardanaAcquirableProxyModel self.ui.sardanaElementTree.KnownPerspectives = newperspectivesDict #assign a copy because if just a key of this class memberwas modified, all instances of this class would be affected self.ui.sardanaElementTree._setPerspective(self.ui.sardanaElementTree.DftPerspective) self._localConfig = None self._originalConfiguration = None self._dirty = False self._dirtyMntGrps = set() self.connect(self.ui.activeMntGrpCB, Qt.SIGNAL('activated (QString)'), self.changeActiveMntGrp) self.connect(self.ui.createMntGrpBT, Qt.SIGNAL('clicked ()'), self.createMntGrp) self.connect(self.ui.deleteMntGrpBT, Qt.SIGNAL('clicked ()'), self.deleteMntGrp) self.connect(self.ui.compressionCB, Qt.SIGNAL('currentIndexChanged (int)'), self.onCompressionCBChanged) self.connect(self.ui.pathLE, Qt.SIGNAL('textEdited (QString)'), self.onPathLEEdited) self.connect(self.ui.filenameLE, Qt.SIGNAL('textEdited (QString)'), self.onFilenameLEEdited) self.connect(self.ui.channelEditor.getQModel(), Qt.SIGNAL('dataChanged (QModelIndex, QModelIndex)'), self._updateButtonBox) self.connect(self.ui.channelEditor.getQModel(), Qt.SIGNAL('modelReset ()'), self._updateButtonBox) preScanList = self.ui.preScanList self.connect(preScanList, Qt.SIGNAL('dataChanged'), self.onPreScanSnapshotChanged) #TODO: For Taurus 4 compatibility if hasattr(preScanList, "dataChangedSignal"): preScanList.dataChangedSignal.connect(self.onPreScanSnapshotChanged) self.connect(self.ui.choosePathBT, Qt.SIGNAL('clicked ()'), self.onChooseScanDirButtonClicked) self.__plotManager = None icon = resource.getIcon(":/actions/view.svg") self.togglePlotsAction = Qt.QAction(icon, "Show/Hide plots", self) self.togglePlotsAction.setCheckable(True) self.togglePlotsAction.setChecked(False) self.togglePlotsAction.setEnabled(plotsButton) self.addAction(self.togglePlotsAction) self.connect(self.togglePlotsAction, Qt.SIGNAL("toggled(bool)"), self.onPlotsButtonToggled) self.ui.plotsButton.setDefaultAction(self.togglePlotsAction) if door is not None: self.setModel(door) self.connect(self.ui.buttonBox, Qt.SIGNAL("clicked(QAbstractButton *)"), self.onDialogButtonClicked) #Taurus Configuration properties and delegates self.registerConfigDelegate(self.ui.channelEditor)
def __init__(self, parent=None, designMode=False, toolbar=True, **kwargs): '''see :class:`guiqwt.plot.CurveDialog` for other valid initialization parameters''' CurveDialog.__init__(self, parent=parent, toolbar=toolbar, **kwargs) TaurusBaseWidget.__init__(self, 'TaurusCurveDialog') self.setWindowFlags(Qt.Qt.Widget) self._designMode = designMode self._modelNames = CaselessList() from guiqwt.styles import style_generator self.style = style_generator() self.setSupportedMimeTypes( [TAURUS_MODEL_LIST_MIME_TYPE, TAURUS_ATTR_MIME_TYPE]) from taurus.qt.qtgui.extra_guiqwt.tools import TaurusCurveChooserTool self.add_tool(TaurusCurveChooserTool) self.setModifiableByUser(self._modifiableByUser) self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
def __init__(self, parent=None, designMode=False, gui=None, extraWidgets=None): Qt.QWizard.__init__(self, parent) name = "PanelDescriptionWizard" TaurusBaseWidget.__init__(self, name) self._panelDescription = None if gui is None: gui = parent if gui is not None: self._gui = weakref.proxy(gui) ###self.setOption(self.HaveFinishButtonOnEarlyPages, True) #self.namePG = NamePage() self.widgetPG = WidgetPage(extraWidgets=extraWidgets) self.advSettingsPG = AdvSettingsPage() # self.addPage(self.namePG) self.addPage(self.widgetPG) self.addPage(self.advSettingsPG)
def __init__(self, parent=None, designMode=False, toolbar=True, stackMode='deltatime', buffersize=512, options=None, **kwargs): """see :class:`guiqwt.plot.ImageDialog` for other valid initialization parameters""" defaultOptions = dict(lock_aspect_ratio=False) if options is not None: defaultOptions.update(options) ImageDialog.__init__(self, parent=parent, toolbar=toolbar, options=defaultOptions, **kwargs) TaurusBaseWidget.__init__(self, "TaurusTrend2DDialog") self.trendItem = None self.buffersize = buffersize self._useArchiving = False self._stackMode = stackMode self.setStackMode(stackMode) self.setWindowFlags(Qt.Qt.Widget) # add some tools for toolklass in (TaurusModelChooserTool, AutoScrollTool): self.add_tool(toolklass) self.get_tool(TaurusModelChooserTool).singleModel = True self.setModifiableByUser(self._modifiableByUser) self.setContextMenuPolicy(Qt.Qt.CustomContextMenu) self.registerConfigDelegate(self.get_tool(AutoScrollTool))
def __init__(self, parent=None, designMode=False, toolbar=True, stackMode='deltatime', buffersize=512, options=None, autoscale='xyz', **kwargs): """ :param param: param to be passed to XYImageItem constructor :param buffersize: (int) size of the stack :param stackMode: (str) can be 'datetime', 'timedelta' or 'event' :param autoscale: (str) if autscale string contains 'x', the x axis will be autoscaled. Same with 'y' and 'z'. Defaults to 'xyz' """ """see :class:`guiqwt.plot.ImageDialog` for other valid initialization parameters""" defaultOptions = dict(lock_aspect_ratio=False) if options is not None: defaultOptions.update(options) ImageDialog.__init__(self, parent=parent, toolbar=toolbar, options=defaultOptions, **kwargs) TaurusBaseWidget.__init__(self, "TaurusTrend2DDialog") self.trendItem = None self.buffersize = buffersize self._useArchiving = False self._stackMode = stackMode self.setStackMode(stackMode) self.setWindowFlags(Qt.Qt.Widget) # add some tools for toolklass in (TaurusModelChooserTool, AutoScrollTool, AutoScaleXTool, AutoScaleYTool, AutoScaleZTool): self.add_tool(toolklass) self.get_tool(TaurusModelChooserTool).singleModel = True if 'x' in autoscale.lower(): self.get_tool(AutoScaleXTool).setChecked(True) if 'y' in autoscale.lower(): self.get_tool(AutoScaleYTool).setChecked(True) if 'z' in autoscale.lower(): self.get_tool(AutoScaleZTool).setChecked(True) self.setModifiableByUser(self._modifiableByUser) self.setContextMenuPolicy(Qt.Qt.CustomContextMenu) # Config properties self.setModelInConfig(True) self.registerConfigDelegate(self.trendItem or BaseConfigurableClass(), name='trendItem') self.registerConfigDelegate(self.get_tool(AutoScrollTool), name='AutoScrollTool') self.registerConfigDelegate(self.get_tool(AutoScaleXTool), name='AutoScaleXTool') self.registerConfigDelegate(self.get_tool(AutoScaleYTool), name='AutoScaleYTool') self.registerConfigDelegate(self.get_tool(AutoScaleZTool), name='AutoScaleZTool') self.registerConfigProperty(self.getStackMode, self.setStackMode, 'stackMode') self.registerConfigProperty(self._get_axes_conf, self._set_axes_conf, 'axes_confs')
def __init__(self, parent=None, designMode=False, extraWidgets=None): Qt.QWizardPage.__init__(self, parent) TaurusBaseWidget.__init__(self, 'WidgetPage') if extraWidgets: customWidgets, customWidgetScreenshots = list(zip(*extraWidgets)) pixmaps = {} for k, s in extraWidgets: if s is None: pixmaps[k] = None else: try: pixmaps[k] = getCachedPixmap(s) if pixmaps[k].isNull(): raise Exception('Invalid Pixmap') except: self.warning('Could not create pixmap from %s' % s) pixmaps[k] = None else: customWidgets, customWidgetScreenshots = [], [] pixmaps = {} self.setFinalPage(True) self.setTitle('Panel type') self.setSubTitle('Choose a name and type for the new panel') self.setButtonText(Qt.QWizard.NextButton, 'Advanced settings...') self.widgetDescription = { 'widgetname': None, 'modulename': None, 'classname': None } # name part self.nameLE = Qt.QLineEdit() self.registerField("panelname*", self.nameLE) self.diagnosticLabel = Qt.QLabel('') nameLayout = Qt.QHBoxLayout() nameLayout.addWidget(Qt.QLabel("Panel Name")) nameLayout.addWidget(self.nameLE) nameLayout.addWidget(self.diagnosticLabel) # contents available = TaurusWidgetFactory().getWidgetClassNames() choices = [] row = [] for cname in self.defaultCandidates + list(customWidgets): if cname in available or '.' in cname: row.append(cname) if cname not in pixmaps: pixmaps[cname] = getCachedPixmap('snapshot:%s.png' % cname) if len(row) == 3: choices.append(row) row = [] row.append(self.OTHER_TXT) choices.append(row) # defaultPixmap=getPixmap('logos:taurus.png') self.choiceWidget = GraphicalChoiceWidget(choices=choices, pixmaps=pixmaps) self.widgetTypeLB = Qt.QLabel("<b>Widget Type:</b>") self.choiceWidget.choiceMade.connect(self.onChoiceMade) layout = Qt.QVBoxLayout() layout.addLayout(nameLayout) layout.addWidget(self.choiceWidget) layout.addWidget(self.widgetTypeLB) self.setLayout(layout)
def __init__(self, parent=None, door=None, autoUpdate=False): Qt.QWidget.__init__(self, parent) TaurusBaseWidget.__init__(self, 'ExpDescriptionEditor') self.loadUi() self.ui.buttonBox.setStandardButtons( Qt.QDialogButtonBox.Reset | Qt.QDialogButtonBox.Apply) self.ui.buttonBox.button(Qt.QDialogButtonBox.Reset).setText('Reload') newperspectivesDict = copy.deepcopy( self.ui.sardanaElementTree.KnownPerspectives) #newperspectivesDict[self.ui.sardanaElementTree.DftPerspective]['model'] = [SardanaAcquirableProxyModel, SardanaElementPlainModel] newperspectivesDict[self.ui.sardanaElementTree.DftPerspective][ 'model'][0] = SardanaAcquirableProxyModel # assign a copy because if just a key of this class memberwas modified, # all instances of this class would be affected self.ui.sardanaElementTree.KnownPerspectives = newperspectivesDict self.ui.sardanaElementTree._setPerspective( self.ui.sardanaElementTree.DftPerspective) self._localConfig = None self._originalConfiguration = None self._dirty = False self._dirtyMntGrps = set() self._autoUpdate = False self._warningWidget = None self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self._autoUpdateAction = Qt.QAction("Auto update", self) self._autoUpdateAction.setCheckable(True) self._autoUpdateAction.toggled.connect(self.setAutoUpdate) self.addAction(self._autoUpdateAction) self._autoUpdateAction.setChecked(autoUpdate) self.registerConfigProperty( self._autoUpdateAction.isChecked, self._autoUpdateAction.setChecked, "autoUpdate") # Pending event variables self._expConfChangedDialog = None self.createExpConfChangedDialog.connect( self._createExpConfChangedDialog) self.ui.activeMntGrpCB.activated['QString'].connect( self.changeActiveMntGrp) self.ui.createMntGrpBT.clicked.connect( self.createMntGrp) self.ui.deleteMntGrpBT.clicked.connect( self.deleteMntGrp) self.ui.compressionCB.currentIndexChanged['int'].connect( self.onCompressionCBChanged) self.ui.pathLE.textEdited.connect( self.onPathLEEdited) self.ui.filenameLE.textEdited.connect( self.onFilenameLEEdited) self.ui.channelEditor.getQModel().dataChanged.connect( self._updateButtonBox) self.ui.channelEditor.getQModel().modelReset.connect( self._updateButtonBox) preScanList = self.ui.preScanList preScanList.dataChangedSignal.connect(self.onPreScanSnapshotChanged) self.ui.choosePathBT.clicked.connect( self.onChooseScanDirButtonClicked) if door is not None: self.setModel(door) self.ui.buttonBox.clicked.connect(self.onDialogButtonClicked) # Taurus Configuration properties and delegates self.registerConfigDelegate(self.ui.channelEditor)
def __init__(self, parent=None, door=None, plotsButton=True, autoUpdate=False): Qt.QWidget.__init__(self, parent) TaurusBaseWidget.__init__(self, 'ExpDescriptionEditor') self.loadUi() self.ui.buttonBox.setStandardButtons( Qt.QDialogButtonBox.Reset | Qt.QDialogButtonBox.Apply) self.ui.buttonBox.button(Qt.QDialogButtonBox.Reset).setText('Reload') newperspectivesDict = copy.deepcopy( self.ui.sardanaElementTree.KnownPerspectives) #newperspectivesDict[self.ui.sardanaElementTree.DftPerspective]['model'] = [SardanaAcquirableProxyModel, SardanaElementPlainModel] newperspectivesDict[self.ui.sardanaElementTree.DftPerspective][ 'model'][0] = SardanaAcquirableProxyModel # assign a copy because if just a key of this class memberwas modified, # all instances of this class would be affected self.ui.sardanaElementTree.KnownPerspectives = newperspectivesDict self.ui.sardanaElementTree._setPerspective( self.ui.sardanaElementTree.DftPerspective) self._localConfig = None self._originalConfiguration = None self._dirty = False self._dirtyMntGrps = set() self._autoUpdate = False self._warningWidget = None self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self._autoUpdateAction = Qt.QAction("Auto update", self) self._autoUpdateAction.setCheckable(True) self._autoUpdateAction.toggled.connect(self.setAutoUpdate) self.addAction(self._autoUpdateAction) self._autoUpdateAction.setChecked(autoUpdate) self.registerConfigProperty( self._autoUpdateAction.isChecked, self._autoUpdateAction.setChecked, "autoUpdate") # Pending event variables self._expConfChangedDialog = None self.createExpConfChangedDialog.connect( self._createExpConfChangedDialog) self.ui.activeMntGrpCB.activated['QString'].connect( self.changeActiveMntGrp) self.ui.createMntGrpBT.clicked.connect( self.createMntGrp) self.ui.deleteMntGrpBT.clicked.connect( self.deleteMntGrp) self.ui.compressionCB.currentIndexChanged['int'].connect( self.onCompressionCBChanged) self.ui.pathLE.textEdited.connect( self.onPathLEEdited) self.ui.filenameLE.textEdited.connect( self.onFilenameLEEdited) self.ui.channelEditor.getQModel().dataChanged.connect( self._updateButtonBox) self.ui.channelEditor.getQModel().modelReset.connect( self._updateButtonBox) preScanList = self.ui.preScanList preScanList.dataChangedSignal.connect(self.onPreScanSnapshotChanged) self.ui.choosePathBT.clicked.connect( self.onChooseScanDirButtonClicked) self.__plotManager = None tooltip = None # TODO: Disable show scan button since scan plot have to be # adapted to support QT5 # -------------------------------------------------------------------- from taurus.external.qt import PYQT4, API if not PYQT4: self.debug('Show plots is only supported with PyQt4 for now') plotsButton = False tooltip = "Show/Hide plots is not ready for %s" % API # -------------------------------------------------------------------- icon = resource.getIcon(":/actions/view.svg") measGrpTab = self.ui.tabWidget.widget(0) self.togglePlotsAction = Qt.QAction(icon, "Show/Hide plots", self) if tooltip is not None: self.togglePlotsAction.setToolTip(tooltip) self.togglePlotsAction.setCheckable(True) self.togglePlotsAction.setChecked(False) self.togglePlotsAction.setEnabled(plotsButton) measGrpTab.addAction(self.togglePlotsAction) measGrpTab.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) self.togglePlotsAction.toggled.connect(self.onPlotsButtonToggled) self.ui.plotsButton.setDefaultAction(self.togglePlotsAction) if door is not None: self.setModel(door) self.ui.buttonBox.clicked.connect(self.onDialogButtonClicked) # Taurus Configuration properties and delegates self.registerConfigDelegate(self.ui.channelEditor)
def __init__(self, server=None, door=None, standalone=False, umode=None, setdefault=False, switch=True, organization='DESY', application='NXS Component Selector', parent=None): """ constructor :param server: selector server name :type server: :obj:`str` :param door: door device name :type door: :obj:`str` :param standalone: application run without macrogui :type standalone: :obj:`bool` :param umode: user mode, i.e. simple, user, advanced, special, \ expert, administrator :type umode: :obj:`str` :param setdefault: set default :type setdefault: :obj:`bool` :param organization: organization name :type organization: :obj:`str` :param application: application name :type application: :obj:`str` :param parent: parent object :type parent: :class:`taurus.qt.Qt.QObject` """ Qt.QWidget.__init__(self, parent) TaurusBaseWidget.__init__(self, 'NXSExpDescriptionEditor') self.setWindowFlags(Qt.Qt.Window) self.loadUi() self.debug("SELECTOR load") if umode != 'administrator': self.ui.tabWidget.removeTab(4) logger.debug("PARAMETERS: %s %s", server, parent) #: (:obj:`str`) organization name self.__organization = organization #: (:obj:`str`) application name self.__application = application #: (:obj:`str`) door name self.__door = door #: (:obj:`bool`) application executed without macrogui self.__standalone = standalone #: (:obj:`bool`) progressbar is running self.__progressFlag = False #: (:obj:`bool`) door has to be updated self.__doortoupdateFlag = False #: (:obj:`bool`) selector server has to be updated self.__servertoupdateFlag = False #: (:obj:`str`) selector server self.__model = None #: (:class:`nxsselector.ServerState.ServerState`) server state self.state = None #: (:obj:`bool`) set default configuration self.__setdefault = setdefault #: (:obj:`bool`) switch MntGrp into ActiveMntGrp self.__switch = switch #: (:obj:`str`) user mode self.__umode = umode #: (:obj:`bool`) expert mode on self.expert = True #: (:obj:`bool`) user mode on self.user = False #: (:obj:`bool`) simple mode on self.simple = False #: (:obj:`bool`) negative hidden mode on self.hidden = False #: (:obj:`bool`) if QSettings loaded self.__settingsloaded = False if self.__umode: self.__setmode(self.__umode) #: (:obj:`str`) configuration file name self.cnfFile = '' #: (:class:`taurus.qt.Qt.QProgressDialog`) progress bar self.__progress = None #: (:obj:`list` <:class:`nxsselector.CommandThread.CommandThread`>) \ #: command thread self.__commandthread = None self.__resetServer(server) #: (:obj:`int`) user data tab number self.__datatab = 2