Exemple #1
0
 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))
Exemple #2
0
    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)
Exemple #4
0
 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)
Exemple #5
0
    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)
Exemple #6
0
 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)
Exemple #7
0
    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)
Exemple #8
0
 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))
Exemple #9
0
    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')
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #12
0
    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)
Exemple #13
0
    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