Exemplo n.º 1
0
    def _setup_ui(self):

        self.gridLayout = QtGui.QGridLayout(self)
        self.taurusForm = TaurusForm(self)
        self.taurusForm.setWithButtons(False)

        self.gridLayout.addWidget(self.taurusForm, 0, 0, 1, 2)
Exemplo n.º 2
0
 def add_attributes(self):
     form = TaurusForm()
     props = ['state', 'status', 'position', 'velocity', 'acceleration']
     model = ['x/foo/motor/%s' % p for p in props]
     form.addModels(model)
     form[0].readWidgetClass = TaurusLabel
     self.layout.addWidget(form)
Exemplo n.º 3
0
class MotorConfigPanel(TaurusWidget):

    """Widget for motor"""

    def __init__(self, parent=None):
        TaurusWidget.__init__(self, parent)
        self._setup_ui()

    def _setup_ui(self):

        self.gridLayout = QtGui.QGridLayout(self)
        self.taurusForm = TaurusForm(self)
        self.taurusForm.setWithButtons(False)

        self.gridLayout.addWidget(self.taurusForm, 0, 0, 1, 2)

    def setModel(self, mot):

        attributes = [mot+"/Status",
                      mot+"/State",
                      mot+"/Step_per_unit",
                      mot+"/Offset",
                      mot+"/Sign",
                      mot+"/Position",
                      mot+"/DialPosition",
                      ]

        self.taurusForm.setModel(attributes)
Exemplo n.º 4
0
 def __init__(self, parent = None,
              formWidget = None,
              buttons = None,
              withButtons = True, 
              designMode = False):
     TaurusForm.__init__(self,parent,formWidget,buttons,
                         withButtons,designMode)
     self._PhCtModel = ""
Exemplo n.º 5
0
 def __init__(self,
              parent=None,
              formWidget=None,
              buttons=None,
              withButtons=True,
              designMode=False):
     TaurusForm.__init__(self, parent, formWidget, buttons, withButtons,
                         designMode)
     self._PhCtModel = ""
Exemplo n.º 6
0
    def setModel(self, model):
        TaurusForm.setModel(self, model)

        # a hack to replace taurus lineedit widgets with ours...
        for widget in self:
            if isinstance(widget.writeWidget(), TaurusValueLineEdit):
                widget.writeWidgetClass = MAXLineEdit
                # widget.writeWidget().setAutoApply(True)  # this causes issues
                widget.writeWidget().setForcedApply(True)
                widget.writeWidget().setEnableWheelEvent(True)
Exemplo n.º 7
0
    def __init__(self, *args, **kwargs):

        if 'withButtons' not in kwargs:
            kwargs['withButtons'] = False

        TaurusForm.__init__(self, *args, **kwargs)
        self._defaultFormWidget = ResettableTaurusValue
        self.setModifiableByUser(True)
        self.setCustomWidgetMap(self.widgetMap)
        self._useResetButton = True
Exemplo n.º 8
0
    def _setup_ui(self):

        self.gridLayout = QtGui.QGridLayout(self)
        self.taurusForm = TaurusForm(self)


        #form for the standard IOR widget
        self.taurusForm.setWithButtons(False)
        self.gridLayout.addWidget(self.taurusForm, 0, 0, 1, 2)

        #form for the standard motor widget
        self.taurusForm2 = TaurusForm(self)
        self.taurusForm2.setWithButtons(False)
        self.gridLayout.addWidget(self.taurusForm2, 1, 0, 1, 2)
Exemplo n.º 9
0
 def initStyle(self):
     print 'In AttributesPreview.initStyle()'
     try:
         self.setLayout(Qt.QGridLayout())
         self.redobt = Qt.QPushButton()
         self.redobt.setIcon(getThemeIcon('view-refresh'))
         self.redobt.setToolTip('Update result')
         self.taurusForm=TaurusForm()
         self.taurusForm.setWithButtons(False)
         self.taurusForm.setWindowTitle('Preview')
         self.layout().addWidget(self.redobt,0,6,1,1)
         self.layout().addWidget(Qt.QLabel('Values of attributes used in the Alarm formula:'),0,0,1,1)
         self.layout().addWidget(self.taurusForm,1,0,1,7)
         self.connect(self.redobt,Qt.SIGNAL('pressed()'),self.updateAttributes)
     except:
         print traceback.format_exc()
Exemplo n.º 10
0
def test_form_itemFactory(qtbot):
    """Checks that the TaurusForm itemFactory API works"""
    lines = ["test_Form_ItemFactory={}:_DummyItemFactory".format(__name__)]
    group = "taurus.form.item_factories"
    mock_entry_point(lines, group=group)

    w = TaurusForm()
    qtbot.addWidget(w)

    w.setModel([
        "eval://localhost/@dummy/'test_itemfactory'",
        "eval://localhost/@dummy/'test_itemfactory2'",
    ])
    qtbot.wait_until(lambda: len(w) == 2, timeout=3200)
    # The first item should get a customized _DummyTV widget
    assert type(w[0]) is _DummyTV
    # The second item shoud get the default form widget
    assert type(w[1]) is w._defaultFormWidget
Exemplo n.º 11
0
def test_form():
    from taurus.qt.qtgui.panel import TaurusForm
    tgclass_map = {'IORegister': PoolIORegisterTV}
    form = TaurusForm()
    form.setCustomWidgetMap(tgclass_map)
    model = 'tango://controls02:10000/ioregister/gc_tgiorctrl/1'
    if len(sys.argv) > 1:
        model = sys.argv[1]

    form.setModel([model])
    form.show()
Exemplo n.º 12
0
def _demo():
    '''demo of integrability in a form'''
    import sys
    from taurus.qt.qtgui.panel import TaurusForm
    from taurus.qt.qtgui.application import TaurusApplication

    app = TaurusApplication(cmd_line_parser=None)

    f = TaurusForm()
    f.model = ['sys/tg_test/1/long_scalar', 'sys/tg_test/1/long_scalar',
               'sys/tg_test/1/boolean_scalar', 'sys/tg_test/1/boolean_scalar']

    f[0].setReadWidgetClass(TaurusLabelEditRW)
    f[0].setWriteWidgetClass(None)
    f[2].setReadWidgetClass(TaurusBoolRW)
    f[2].setWriteWidgetClass(None)

    f.show()
    sys.exit(app.exec_())
Exemplo n.º 13
0
class IORConfigPanel(TaurusWidget):

    """Widget to configure the IOR"""

    config_trigger = QtCore.pyqtSignal()

    def __init__(self, userwidget, parent=None):
        self.userwidget = userwidget
        TaurusWidget.__init__(self, parent)
        self._setup_ui()
        self.oldvalue =  {}

    def updateBoxes(self):
        self.userwidget.updateBoxes(True)

    def _setup_ui(self):
        self.gridLayout = QtGui.QGridLayout(self)
        self.taurusForm = TaurusForm(self)
        self.taurusForm.setWithButtons(False)
        self.gridLayout.addWidget(self.taurusForm, 0, 0, 1, 2)

    def setModel(self, ior):

        attributes = [ior+"/Labels",
                      ior+"/Calibration",
                      ]
        self.taurusForm.setModel(attributes)

        #Need listeners on these attributes to update user widget
        #for a in attributes:
        #    taurus.Attribute(a).addListener(self.configListener)
        #self.config_trigger.connect(self.updateBoxes)

    def configListener(self, src, evt_type, attr_val):

        #is this going to emit every 3 seconds irrespective of whether attribute actually changes?
        if isinstance(src,taurus.core.tango.tangoattribute.TangoAttribute):
            if src not in  self.oldvalue:
                self.oldvalue[src] = attr_val.value
            else:
                if self.oldvalue[src] != attr_val.value:
                    self.oldvalue[src] = attr_val.value
                    self.config_trigger.emit()
Exemplo n.º 14
0
def _demo():
    '''demo of integrability in a form'''
    import sys
    from taurus.qt.qtgui.panel import TaurusForm
    from taurus.qt.qtgui.application import TaurusApplication

    app = TaurusApplication()

    f = TaurusForm()
    f.model = ['sys/tg_test/1/long_scalar', 'sys/tg_test/1/long_scalar',
               'sys/tg_test/1/boolean_scalar', 'sys/tg_test/1/boolean_scalar']

    f[0].setReadWidgetClass(TaurusLabelEditRW)
    f[0].setWriteWidgetClass(None)
    f[2].setReadWidgetClass(TaurusBoolRW)
    f[2].setWriteWidgetClass(None)

    f.show()
    sys.exit(app.exec_())
Exemplo n.º 15
0
def configure_form(dev, form=None):
    """ Creates a TauForm and configures its Status fields 
    """
    if form is None:
        form = FORM_CLASS()
    elif hasattr(form, 'setModel'):
        form.setModel([])
    ##Configuring the TauForm:
    form.setWithButtons(False)
    form.setWindowTitle(dev)
    form.setModel('%s/%s' % (dev, a) for a in get_dev_attrs(dev))
    ##Adapting the status widget to show properly an status
    status = form.getItemByModel(
        dev +
        '/status')  #A TauValue object (containing label and value widgets)
    sw = status.readWidget()  #A TauStatusLabel object
    sw.setAlignment(Qt.Qt.AlignLeft)
    sw.setMinimumHeight(STATUS_HEIGHT)
    #sw.setShowQuality(False) #It didn't work as expected
    return form
Exemplo n.º 16
0
class AttributesPreview(Qt.QFrame):
    def __init__(self, model='', parent=None, source=None):
        Qt.QWidget.__init__(self, parent)
        self.model = model
        self.source = source
        self.test = panic.current()._eval
        self.test._trace = True
        self.initStyle()
        self.updateAttributes(self.model)

    def initStyle(self):
        print 'In AttributesPreview.initStyle()'
        try:
            self.setLayout(Qt.QGridLayout())
            self.redobt = Qt.QPushButton()
            self.redobt.setIcon(getThemeIcon('view-refresh'))
            self.redobt.setToolTip('Update result')
            self.taurusForm = TaurusForm()
            self.taurusForm.setWithButtons(False)
            self.taurusForm.setWindowTitle('Preview')
            self.layout().addWidget(self.redobt, 0, 6, 1, 1)
            self.layout().addWidget(
                Qt.QLabel('Values of attributes used in the Alarm formula:'),
                0, 0, 1, 1)
            self.layout().addWidget(self.taurusForm, 1, 0, 1, 7)
            self.connect(self.redobt, Qt.SIGNAL('pressed()'),
                         self.updateAttributes)
        except:
            print traceback.format_exc()

    @Catched
    def updateAttributes(self, model=None):
        print('AttributesPreview.updateAttributes(%s)' % model)
        if not model and self.source:
            try:
                if hasattr(self.source, 'formula'): model = self.source.formula
                elif hasattr(self.source, '__call__'): model = self.source()
                else: model = str(self.source or '')
            except:
                print(traceback.format_exc())

        if not fandango.isSequence(model):
            ms, model = self.test.parse_variables(model or ''), set()
            for var in ms:
                dev, attr = var[0], var[1]
                if ':' in dev and not dev.startswith('tango://'):
                    dev = 'tango://' + dev
                model.add(dev + '/' + attr)

        self.model = sorted(model)
        print('In AttributesPreview.updateAttributes(%s)' % model)
        self.taurusForm.setModel(model)
        [
            tvalue.setLabelConfig("<attr_fullname>")
            for tvalue in self.taurusForm.getItems()
        ]
Exemplo n.º 17
0
def main():
    from taurus.core.util import argparse
    from taurus.qt.qtgui.application import TaurusApplication
    from taurus.qt.qtgui.panel import TaurusForm

    parser = argparse.get_taurus_parser()
    parser.set_usage("%prog [options] [model1 [model2 ...]]")

    app = TaurusApplication(cmd_line_parser=parser)

    args = app.get_command_line_args()
    if not args:
        parser.print_usage()
        sys.exit(1)

    form = TaurusForm()
    form.setFormWidget(GammaSPCeTV)
    form.setModel(args)
    form.setModifiableByUser(True)
    form.show()

    sys.exit(app.exec_())
Exemplo n.º 18
0
def test_form():
    from taurus.qt.qtgui.panel import TaurusForm
    tgclass_map = {'IORegister': PoolIORegisterTV}
    form = TaurusForm()
    form.setCustomWidgetMap(tgclass_map)
    model = 'tango://controls02:10000/ioregister/gc_tgiorctrl/1'
    if len(sys.argv) > 1:
        model = sys.argv[1]

    form.setModel([model])
    form.show()
Exemplo n.º 19
0
def test_form_itemFactory_selection(qtbot):
    """Checks that the TaurusForm itemFactory selection API works"""
    lines = ["test_Form_ItemFactorySel={}:_DummyItemFactory".format(__name__)]
    group = "taurus.form.item_factories"
    mapping = mock_entry_point(lines, group=group)
    ep1 = mapping[group]["test_Form_ItemFactorySel"]

    w = TaurusForm()
    qtbot.addWidget(w)

    # the test_Form_ItemFactory should be in the default factories
    default_factories = w.getItemFactories()
    assert ep1 in default_factories

    # no factories should be excluded by default
    inc, exc = w.getItemFactories(return_disabled=True)
    assert exc == []

    # Check that we can deselect all factories
    no_factories = w.setItemFactories(include=[])
    assert no_factories == []

    # Check that we can exclude everything except test_Form_ItemFactory
    select1 = w.setItemFactories(exclude=[r"(?!.*test_Form_ItemFactorySel).*"])
    assert select1 == [ep1]

    # Check that we can include only test_Form_ItemFactory
    select2 = w.setItemFactories(include=["test_Form_ItemFactorySel"])
    assert select2 == [ep1]

    # Check that the selected test_Form_ItemFactory is an entry point
    from pkg_resources import EntryPoint
    assert type(select2[0]) == EntryPoint

    # Check that the selected entry point loads _DummyItemFactory
    assert select2[0].load() is _DummyItemFactory

    # Check that we can include a factory instance
    select3 = w.setItemFactories(include=[_DummyItemFactory])

    # Check that the selected test_Form_ItemFactory is an entry point-alike
    from taurus.core.util.plugin import EntryPointAlike
    assert type(select3[0]) == EntryPointAlike

    # Check that the selected entry point loads _DummyItemFactory
    assert select3[0].load() is _DummyItemFactory

    # Check that the selected entry point has the given name
    assert select3[0].name == repr(_DummyItemFactory)
Exemplo n.º 20
0
def demo2():
    '''demo of integrability in a form'''
    import sys
    from taurus.qt.qtgui.panel import TaurusForm
    from taurus.qt.qtgui.application import TaurusApplication
    from taurus.qt.qtgui.display import TaurusLabel
    from taurus.qt.qtgui.input import TaurusValueLineEdit

    class DemoSwitcher(TaurusReadWriteSwitcher):
        readWClass = TaurusLabel
        writeWClass = TaurusValueLineEdit
        exitEditTriggers = ('editingFinished()', Qt.Qt.Key_Escape)

    app = TaurusApplication()

    f = TaurusForm()
    f.model = ['sys/tg_test/1/long_scalar', 'sys/tg_test/1/long_scalar']

    f[0].setReadWidgetClass(DemoSwitcher)
    f[0].setWriteWidgetClass(None)

    f.show()
    sys.exit(app.exec_())
Exemplo n.º 21
0
def demo2():
    '''demo of integrability in a form'''
    import sys
    from taurus.qt.qtgui.panel import TaurusForm
    from taurus.qt.qtgui.application import TaurusApplication
    from taurus.qt.qtgui.display import TaurusLabel
    from taurus.qt.qtgui.input import TaurusValueLineEdit

    class DemoSwitcher(TaurusReadWriteSwitcher):
        readWClass = TaurusLabel
        writeWClass = TaurusValueLineEdit
        exitEditTriggers = ('editingFinished()', Qt.Qt.Key_Escape)

    app = TaurusApplication()

    f = TaurusForm()
    f.model = ['sys/tg_test/1/long_scalar', 'sys/tg_test/1/long_scalar']

    f[0].setReadWidgetClass(DemoSwitcher)
    f[0].setWriteWidgetClass(None)

    f.show()
    sys.exit(app.exec_())
Exemplo n.º 22
0
def test2():
    import sys
    from taurus.qt.qtgui.application import TaurusApplication
    from taurus.qt.qtgui.panel import TaurusForm
    app = TaurusApplication()

    w = TaurusForm()
    attrname = 'eval:@taurus.core.evaluation.test.res.dev_example.FreeSpaceDevice/getFreeSpace("/")'

    w.setModel(attrname)

    w.show()
    sys.exit(app.exec_())
Exemplo n.º 23
0
def test_form_itemFactory_loading(qtbot):
    """
    check that the factory loading is robust against unloadable plugins
    and badly-implemented item factories
    """

    w = TaurusForm()
    qtbot.addWidget(w)

    w.setItemFactories(include=(_BadEntryPoint, _BadFactory,
                                _DummyItemFactory))
    w.setModel([
        "eval://localhost/@dummy/'test_itemfactory'",
        "eval://localhost/@dummy/'test_badfactory'",
        "eval:1",
    ])
    qtbot.wait_until(lambda: len(w) == 3, timeout=3200)

    # handled by _DummyItemFactory
    assert type(w[0]) == _DummyTV
    # handled in _BadFactory (even if with wrong return value)
    assert type(w[1]) == _DummyTV
    # errored in _BadFactory, ignored by _DummyItemFactory
    assert type(w[2]) == TaurusValue
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        self._Form = Form
        self.font = QtGui.QFont()
        self.font.setBold(True)
        self.gridLayout_2 = QtGui.QGridLayout(Form)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")

        self.chooseLabel = Qt.QLabel()
        self.chooseLabel.setObjectName("chooseLabel")
        self.chooseLabel.setFont(self.font)
        self.chooseLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.gridLayout.addWidget(self.chooseLabel, 0, 0, 1, 1)

        self.tac = attributeChooser()
        self.tac.setObjectName("taurusAttributeChooser")
        self.gridLayout.addWidget(self.tac, 1, 0, 6, 1)

        self.selectedLabel = Qt.QLabel()
        self.selectedLabel.setObjectName("selectedLabel")
        self.selectedLabel.setFont(self.font)
        self.selectedLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.selectedLabel.hide()
        self.gridLayout.addWidget(self.selectedLabel, 0, 1, 1, 6)

        self.tf = TaurusForm()
        self.tf.setWithButtons(False)
        self.tf.setObjectName("taurusForm")
        self.tf.hide()
        self.gridLayout.addWidget(self.tf, 1, 1, 1, 6)
        self.label = Qt.QLabel()
        self.label.setObjectName("label")
        self.label.setFont(self.font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.gridLayout.addWidget(self.label, 1, 1, 1, 6)

        spacerItem = QtGui.QSpacerItem(1, 1, QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 1, 1, 1, 1)

        self.modepLabel = QtGui.QLabel(Form)
        self.modepLabel.setObjectName("modepLabel")
        self.modepLabel.setText('Period [s]:')
        self.gridLayout.addWidget(self.modepLabel, 2, 1, 1, 1)
        self.modepLineEdit = QtGui.QLineEdit(Form)
        self.modepLineEdit.setObjectName("modepLineEdit")
        self.modepLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modepLineEdit.setMaxLength(7)
        self.modepLineEdit.setMaximumWidth(60)
        self.modepLineEdit.setText('60.0')
        self.gridLayout.addWidget(self.modepLineEdit, 2, 2, 1, 1)

        self.modeaLabel = QtGui.QLabel(Form)
        self.modeaLabel.setObjectName("modeaLabel")
        self.modeaLabel.setText('Absolute Period [s]:')
        self.gridLayout.addWidget(self.modeaLabel, 3, 1, 1, 1)
        self.modeaLineEdit = QtGui.QLineEdit(Form)
        self.modeaLineEdit.setObjectName("modeaLineEdit")
        self.modeaLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modeaLineEdit.setMaxLength(7)
        self.modeaLineEdit.setMaximumWidth(60)
        self.modeaLineEdit.setText('15.0')
        self.gridLayout.addWidget(self.modeaLineEdit, 3, 2, 1, 1)
        self.modeaLowerLimitLabel = QtGui.QLabel(Form)
        self.modeaLowerLimitLabel.setObjectName("modeaLowerLimitLabel")
        self.modeaLowerLimitLabel.setText('Lower Limit (decr.):')
        self.gridLayout.addWidget(self.modeaLowerLimitLabel, 3, 3, 1, 1)
        self.modeaLowerLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaLowerLimitLineEdit.setObjectName("modeaLowerLimitLineEdit")
        self.modeaLowerLimitLineEdit.setValidator(
            Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaLowerLimitLineEdit.setMaxLength(7)
        self.modeaLowerLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaLowerLimitLineEdit, 3, 4, 1, 1)
        self.modeaUpperLimitLabel = QtGui.QLabel(Form)
        self.modeaUpperLimitLabel.setObjectName("modeaUpperLimitLabel")
        self.modeaUpperLimitLabel.setText('Upper Limit (incr.):')
        self.gridLayout.addWidget(self.modeaUpperLimitLabel, 3, 5, 1, 1)
        self.modeaUpperLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaUpperLimitLineEdit.setObjectName("modeaUpperLimitLineEdit")
        self.modeaUpperLimitLineEdit.setValidator(
            Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaUpperLimitLineEdit.setMaxLength(7)
        self.modeaUpperLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaUpperLimitLineEdit, 3, 6, 1, 1)

        self.moderLabel = QtGui.QLabel(Form)
        self.moderLabel.setObjectName("moderLabel")
        self.moderLabel.setText('Relative Period [s]:')
        self.gridLayout.addWidget(self.moderLabel, 4, 1, 1, 1)
        self.moderLineEdit = QtGui.QLineEdit(Form)
        self.moderLineEdit.setObjectName("moderLineEdit")
        self.moderLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.moderLineEdit.setMaxLength(7)
        self.moderLineEdit.setMaximumWidth(60)
        self.moderLineEdit.setText('15.0')
        self.gridLayout.addWidget(self.moderLineEdit, 4, 2, 1, 1)
        self.moderLowerLimitPercentLabel = QtGui.QLabel(Form)
        self.moderLowerLimitPercentLabel.setObjectName(
            "moderLowerLimitPercentLabel")
        self.moderLowerLimitPercentLabel.setText('Lower % Limit (decr.):')
        self.gridLayout.addWidget(self.moderLowerLimitPercentLabel, 4, 3, 1, 1)
        self.moderLowerLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderLowerLimitPercentLineEdit.setObjectName(
            "moderLowerLimitPercentLineEdit")
        self.moderLowerLimitPercentLineEdit.setValidator(
            QtGui.QDoubleValidator(0, 1, 2, Form))
        self.moderLowerLimitPercentLineEdit.setMaxLength(7)
        self.moderLowerLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderLowerLimitPercentLineEdit, 4, 4, 1,
                                  1)
        self.moderUpperLimitPercentLabel = QtGui.QLabel(Form)
        self.moderUpperLimitPercentLabel.setObjectName(
            "moderUpperLimitPercentLabel")
        self.moderUpperLimitPercentLabel.setText('Upper % Limit (incr.):')
        self.gridLayout.addWidget(self.moderUpperLimitPercentLabel, 4, 5, 1, 1)
        self.moderUpperLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderUpperLimitPercentLineEdit.setObjectName(
            "moderUpperLimitPercentLineEdit")
        self.moderUpperLimitPercentLineEdit.setValidator(
            Qt.QDoubleValidator(0, 1, 2, Form))
        self.moderUpperLimitPercentLineEdit.setMaxLength(7)
        self.moderUpperLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderUpperLimitPercentLineEdit, 4, 6, 1,
                                  1)

        self.gridButtonLayout = QtGui.QGridLayout()
        self.gridButtonLayout.setObjectName("gridButtonLayout")
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.gridButtonLayout.addItem(spacerItem, 0, 1, 1, 1)
        self.pushButtonStart = QtGui.QPushButton(Form)
        self.pushButtonStart.setObjectName("pushButtonStart")
        self.pushButtonStart.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStart, 0, 2, 1, 1)
        self.pushButtonStop = QtGui.QPushButton(Form)
        self.pushButtonStop.setObjectName("pushButtonStop")
        self.pushButtonStop.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStop, 0, 3, 1, 1)
        self.pushButtonCancel = QtGui.QPushButton(Form)
        self.pushButtonCancel.setObjectName("pushButtonCancel")
        self.gridButtonLayout.addWidget(self.pushButtonCancel, 0, 4, 1, 1)
        self.gridLayout.addLayout(self.gridButtonLayout, 5, 1, 1, 6)
        self.gridLayout_2.addLayout(self.gridLayout, 1, 0, 1, 1)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(
            QtGui.QApplication.translate("Form", "Archiving Widget", None,
                                         QtGui.QApplication.UnicodeUTF8))
        self.pushButtonStart.setText(
            QtGui.QApplication.translate("Form", "Start Archiving", None,
                                         QtGui.QApplication.UnicodeUTF8))
        self.pushButtonStop.setText(
            QtGui.QApplication.translate("Form", "Stop", None,
                                         QtGui.QApplication.UnicodeUTF8))
        self.pushButtonCancel.setText(
            QtGui.QApplication.translate("Form", "Close", None,
                                         QtGui.QApplication.UnicodeUTF8))
        self.label.setText(
            QtGui.QApplication.translate("Form", "Nothing to display", None,
                                         QtGui.QApplication.UnicodeUTF8))
        self.selectedLabel.setText(
            QtGui.QApplication.translate(
                "Form", "Press start to start archiving selected attributes:",
                None, QtGui.QApplication.UnicodeUTF8))
        self.chooseLabel.setText(
            QtGui.QApplication.translate(
                "Form",
                "Choose attributes to archive and hit apply to move attributes to selection",
                None, QtGui.QApplication.UnicodeUTF8))
        self.tf.connect(self.tac, Qt.SIGNAL("UpdateAttrs"), self.onUpdate)
        QtCore.QObject.connect(self.pushButtonStart, Qt.SIGNAL("clicked()"),
                               self.onStart)
        QtCore.QObject.connect(self.pushButtonStop, Qt.SIGNAL("clicked()"),
                               self.onStop)
        QtCore.QObject.connect(self.pushButtonCancel, Qt.SIGNAL("clicked()"),
                               self.onCancel)
        QtCore.QObject.connect(self.modepLineEdit,
                               Qt.SIGNAL('textChanged(const QString &)'),
                               self.modepTextChanged)
        QtCore.QObject.connect(self.modeaLineEdit,
                               Qt.SIGNAL('textChanged(const QString &)'),
                               self.modeaTextChanged)
        QtCore.QObject.connect(self.moderLineEdit,
                               Qt.SIGNAL('textChanged(const QString &)'),
                               self.moderTextChanged)
        #QtCore.QObject.connect(self.moderUpperLimitPercentLineEdit, Qt.SIGNAL('editingFinished()'), self.moderUpperLimitPercentTextChanged)
        #QtCore.QObject.connect(self.moderLowerLimitPercentLineEdit, Qt.SIGNAL('editingFinished()'), self.moderLowerLimitPercentTextChanged)
        #QtCore.QObject.connect(self.modeaUpperLimitLineEdit, Qt.SIGNAL('editingFinished()'), self.modeaUpperLimitTextChanged)
        #QtCore.QObject.connect(self.modeaLowerLimitLineEdit, Qt.SIGNAL('editingFinished()'), self.modeaLowerLimitTextChanged)

    def modepTextChanged(self):
        if self.modepLineEdit.text():
            if (float(self.modepLineEdit.text()) < 1
                    or float(self.modepLineEdit.text()) > 14400):
                Qt.QMessageBox.critical(self._Form, 'Error',
                                        'Value ranges between 1 and 14400',
                                        QtGui.QMessageBox.AcceptRole,
                                        QtGui.QMessageBox.AcceptRole)
                if float(self.modepLineEdit.text()) > 14400:
                    self.modepLineEdit.setText('14400')
                else:
                    self.modepLineEdit.setText('1')
        else:
            Qt.QMessageBox.critical(self._Form, 'Error',
                                    'Value ranges between 1 and 14400',
                                    QtGui.QMessageBox.AcceptRole,
                                    QtGui.QMessageBox.AcceptRole)
            self.modepLineEdit.setText('1')

    def modeaTextChanged(self):
        if self.modeaLineEdit.text():
            if (float(self.modeaLineEdit.text()) > float(
                    self.modepLineEdit.text())):
                Qt.QMessageBox.critical(
                    self._Form, 'Error',
                    'Value cannot be higher than ' + self.modepLineEdit.text(),
                    QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
                self.modeaLineEdit.setText('0')

    def moderTextChanged(self):
        if self.moderLineEdit.text():
            if (float(self.moderLineEdit.text()) > float(
                    self.modepLineEdit.text())):
                Qt.QMessageBox.critical(
                    self._Form, 'Error',
                    'Value cannot be higher than ' + self.modepLineEdit.text(),
                    QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
                self.moderLineEdit.setText('0')

    def validate(self, modep, modea, moder):
        if (modep < modea or modep < moder):
            Qt.QMessageBox.critical(
                self._Form, 'Error',
                'Period value has to be higher than the others',
                QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
            self.modepLineEdit.setText(
                str(10 * max(int(self.moderLineEdit.text()),
                             int(self.modeaLineEdit.text()))))
            return False
        return True

    def floatValidation(self, line):
        val = line.text()
        try:
            float(val)
            return True
        except:
            Qt.QMessageBox.critical(self._Form,
                                    'Error in ' + str(line.objectName()),
                                    'Wrong value !\nSetting value to 0!',
                                    QtGui.QMessageBox.AcceptRole,
                                    QtGui.QMessageBox.AcceptRole)
            line.setText('0')
            return False

    def onStart(self):

        self.floatValidation(self.moderUpperLimitPercentLineEdit)
        self.floatValidation(self.moderLowerLimitPercentLineEdit)
        self.floatValidation(self.modeaUpperLimitLineEdit)
        self.floatValidation(self.modeaLowerLimitLineEdit)
        try:
            self.modep = int(1000 * self.modepLineEdit.text())
            self.modea = (int(1000 * self.modeaLineEdit.text())
                          if self.modeaLineEdit.text() else None)
            self.modeaLowerLimit = (float(self.modeaLowerLimitLineEdit.text())
                                    if self.modeaLowerLimitLineEdit.text() else
                                    None)
            self.modeaUpperLimit = (float(self.modeaUpperLimitLineEdit.text())
                                    if self.modeaUpperLimitLineEdit.text() else
                                    None)
            self.moder = (int(1000 * self.moderLineEdit.text())
                          if self.moderLineEdit.text() else None)
            self.moderLowerLimit = (
                float(self.moderLowerLimitPercentLineEdit.text())
                if self.moderLowerLimitPercentLineEdit.text() else None)
            self.moderUpperLimit = (
                float(self.moderUpperLimitPercentLineEdit.text())
                if self.moderUpperLimitPercentLineEdit.text() else None)
            if self.validate(self.modep, self.modea, self.moder):
                reply = Qt.QMessageBox.question(
                    self._Form, "Warning",
                    "Do you want to start archiving selected attributes?",
                    QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
                    QtGui.QMessageBox.Yes)
                if reply == QtGui.QMessageBox.Yes:
                    command = {'MODE_P': [self.modep]}
                    if (self.modea and self.modeaUpperLimit
                            and self.modeaLowerLimit):
                        command['MODE_A'] = [
                            self.modea, self.modeaUpperLimit,
                            self.modeaLowerLimit
                        ]
                    if (self.moder and self.moderUpperLimit
                            and self.moderLowerLimit):
                        command['MODE_R'] = [
                            self.moder, self.moderUpperLimit,
                            self.moderLowerLimit
                        ]
                    attrs = [a for a in self.tf.getModel()]
                    cmd = self.tac.tdb.check_modes('tdb', command)
                    toStop = [a for a in attrs if a in self.tac.beingArchived]
                    try:
                        if toStop:
                            self.tac.tdb.api.start_archiving(attrs,
                                                             cmd,
                                                             kill=True)
                        else:
                            self.tac.tdb.api.start_archiving(attrs, cmd)
                    except:
                        Qt.QMessageBox.critical(
                            self._Form, "Error",
                            'Cannot start archiving process.\nCheck the state of archiving managers.',
                            QtGui.QMessageBox.AcceptRole,
                            QtGui.QMessageBox.AcceptRole)
                        print(traceback.format_exc())

                    self.tac.beingArchived = [
                        a.lower() for a in self.tac.tdb
                        if self.tac.tdb.is_attribute_archived(a.lower())
                    ]  #update archived list
                    self.onUpdate(attrs)
                    self.tac.setNewDevName()
        except:
            print(traceback.format_exc())

    def onStop(self):
        toStop = [
            att.lower() for att in self.tf.getModel()
            if att.lower() in self.tac.beingArchived
        ]
        reply = Qt.QMessageBox.question(
            self._Form, "Warning", "Do you want to stop archiving " +
            str(len(toStop)) + " attributes?",
            QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
            QtGui.QMessageBox.Yes)
        if reply == QtGui.QMessageBox.Yes:
            self.tac.tdb.api.stop_archiving(toStop)
            self.tac.beingArchived = [
                a.lower() for a in self.tac.tdb
                if self.tac.tdb.is_attribute_archived(a.lower())
            ]  #update archived list
            self.pushButtonStop.setEnabled(False)
            self.pushButtonStop.setText('Stop')
            self.tac.setNewDevName()
            self.clearParams()

    def onUpdate(self, attrs):
        self.clearParams()
        if not attrs:
            self.tf.hide()
            self.label.show()
            self.selectedLabel.hide()
            self.pushButtonStart.setEnabled(False)
            self.pushButtonStop.setEnabled(False)
            self.pushButtonStop.setText('Stop')
        else:
            self.label.hide()
            self.selectedLabel.show()
            self.tf.show()
            self.tf.setModel(attrs)

            for i in range(len(attrs)):
                item = self.tf.getItemByIndex(i)
                if item.getModel().lower() in self.tac.beingArchived:
                    item.setExtraWidgetClass(historyButton)
                    historyButton().setModel(item.getModel())

            self.pushButtonStart.setEnabled(True)
            toStop = [
                att.lower() for att in attrs
                if att.lower() in self.tac.beingArchived
            ]
            if toStop:
                self.pushButtonStop.setEnabled(True)
                self.pushButtonStop.setText('Stop (' + str(len(toStop)) + ')')
                modes = self.tac.tdb.get(toStop[0]).modes
                if 'MODE_P' in modes.keys():
                    self.modepLineEdit.setText(
                        str(int(modes['MODE_P'][0] / 1000)))
                if 'MODE_R' in modes.keys():
                    if len(modes['MODE_R']) == 3:
                        self.moderLineEdit.setText(
                            str(int(modes['MODE_R'][0] / 1000)))
                        self.moderLowerLimitPercentLineEdit.setText(
                            str(float(modes['MODE_R'][1])))
                        self.moderUpperLimitPercentLineEdit.setText(
                            str(float(modes['MODE_R'][2])))
                if 'MODE_A' in modes.keys():
                    if len(modes['MODE_A']) == 3:
                        self.modeaLineEdit.setText(
                            str(int(modes['MODE_A'][0] / 1000)))
                        self.modeaLowerLimitLineEdit.setText(
                            str(int(modes['MODE_A'][1])))
                        self.modeaUpperLimitLineEdit.setText(
                            str(int(modes['MODE_A'][2])))
            else:
                self.pushButtonStop.setEnabled(False)
                self.pushButtonStop.setText('Stop')

    def clearParams(self):
        self.modepLineEdit.setText('60')
        self.moderLineEdit.setText('')
        self.moderLowerLimitPercentLineEdit.setText('')
        self.moderUpperLimitPercentLineEdit.setText('')
        self.modeaLineEdit.setText('')
        self.modeaLowerLimitLineEdit.setText('')
        self.modeaUpperLimitLineEdit.setText('')

    def onCancel(self):
        self._Form.close()
Exemplo n.º 25
0
import sys
from taurus.qt.qtgui.panel import TaurusForm
from taurus.qt.qtgui.display import TaurusLabel
from taurus.qt.qtgui.application import TaurusApplication

app = TaurusApplication(sys.argv)

panel = TaurusForm()
props = ['state', 'status', 'position', 'velocity', 'acceleration']
model = ['sys/taurustest/1/%s' % p for p in props]
panel.setModel(model)
panel[0].readWidgetClass = TaurusLabel
panel[2].writeWidgetClass = 'TaurusWheelEdit'

panel.show()
sys.exit(app.exec_())
Exemplo n.º 26
0
import sys
from taurus.qt.qtgui.panel import TaurusForm
from taurus.qt.qtgui.application import TaurusApplication

app = TaurusApplication(sys.argv)

attrs = ['state', 'position', 'velocity', 'acceleration']
model = ['motor/icepap/01/%s' % attr for attr in attrs]

w = TaurusForm()
w.model = model
w.show()
sys.exit(app.exec_())
Exemplo n.º 27
0
        self.modelChanged.connect(self._updateTaurusValue)

    def _updateTaurusValue(self):
        m = self.getModelName()
        self._TaurusValue.setModel("%s/value" % m)
        self._devButton.setModel(m)


if __name__ == "__main__":
    import sys
    argv = sys.argv
    if len(argv) > 0:
        models = argv[1:]
    app = Qt.QApplication(sys.argv)

    form_tv = TaurusForm()
    form_tv.setModifiableByUser(True)
    tv_widget_class = "sardana.taurus.qt.qtgui.extra_pool.PoolChannelTV"
    tv_class_map = {
        "CTExpChannel": (tv_widget_class, (), {}),
        "OneDExpChannel": (tv_widget_class, (), {}),
        "TwoDExpChannel": (tv_widget_class, (), {})
    }
    form_tv.setCustomWidgetMap(tv_class_map)
    form_tv.setModel(models)

    w = Qt.QWidget()
    w.setLayout(Qt.QVBoxLayout())
    w.layout().addWidget(form_tv)

    w.show()
Exemplo n.º 28
0
def test_form_cwidget_bck_compat(qtbot):
    """check that the cusomWidgetMap bck-compat works"""

    w = TaurusForm()
    qtbot.addWidget(w)

    # check that custom widget map is empty by default
    assert w.getCustomWidgetMap() == {}

    w.setItemFactories(include=())

    try:
        # check that an explicit call to setCustomWidgetMap works
        dummy = ("taurus.qt.qtgui.panel.test.test_taurusform._DummyTV", (), {})
        w.setCustomWidgetMap({"DataBase": dummy})
        w.setModel(["tango:sys/database/2", "tango:sys/tg_test/1"])
        qtbot.wait_until(lambda: len(w) == 2, timeout=3200)
        assert type(w[0]) == _DummyTV
        assert type(w[1]) == TaurusValue
        assert w.getCustomWidgetMap() == {"DataBase": dummy}

        # check that the custom widget map can be restored
        w.setCustomWidgetMap({})
        w.setModel(["tango:sys/database/2", "tango:sys/tg_test/1"])
        qtbot.wait_until(lambda: len(w) == 2, timeout=3200)
        assert type(w[0]) == TaurusValue
        assert type(w[1]) == TaurusValue
        assert w.getCustomWidgetMap() == {}
    finally:
        # set model to None as an attempt to avoid problems in atexit()
        w.setModel(None)
        qtbot.wait_until(lambda: len(w) == 0, timeout=3200)
Exemplo n.º 29
0
 def setModel(self,model):
     attrList = ["%s/%s"%(model,attrName) for attrName in self._attributes]
     TaurusForm.setModel(attrList)
     self._PhCtModel = model
Exemplo n.º 30
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        self._Form=Form
        self.font=QtGui.QFont()
        self.font.setBold(True)
        self.gridLayout_2 = QtGui.QGridLayout(Form)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")

        self.chooseLabel=Qt.QLabel()
        self.chooseLabel.setObjectName("chooseLabel")
        self.chooseLabel.setFont(self.font)
        self.chooseLabel.setAlignment(QtCore.Qt.AlignCenter);
        self.gridLayout.addWidget(self.chooseLabel, 0, 0, 1, 1)

        self.tac=attributeChooser()
        self.tac.setObjectName("taurusAttributeChooser")
        self.gridLayout.addWidget(self.tac, 1, 0, 6, 1)
        
        self.selectedLabel=Qt.QLabel()
        self.selectedLabel.setObjectName("selectedLabel")
        self.selectedLabel.setFont(self.font)
        self.selectedLabel.setAlignment(QtCore.Qt.AlignCenter);
        self.selectedLabel.hide()
        self.gridLayout.addWidget(self.selectedLabel, 0, 1, 1, 6)

        self.tf=TaurusForm()
        self.tf.setWithButtons(False)
        self.tf.setObjectName("taurusForm")
        self.tf.hide()
        self.gridLayout.addWidget(self.tf, 1, 1, 1, 6)        
        self.label=Qt.QLabel()
        self.label.setObjectName("label")
        self.label.setFont(self.font)
        self.label.setAlignment(QtCore.Qt.AlignCenter);
        self.gridLayout.addWidget(self.label, 1, 1, 1, 6)
                
        spacerItem = QtGui.QSpacerItem(1, 1, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 1, 1, 1, 1)
        
        self.modepLabel = QtGui.QLabel(Form)
        self.modepLabel.setObjectName("modepLabel")
        self.modepLabel.setText('Period [s]:')
        self.gridLayout.addWidget(self.modepLabel, 2, 1, 1, 1)        
        self.modepLineEdit = QtGui.QLineEdit(Form)
        self.modepLineEdit.setObjectName("modepLineEdit")
        self.modepLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modepLineEdit.setMaxLength(7)
        self.modepLineEdit.setMaximumWidth(60)
        self.modepLineEdit.setText('60.0')
        self.gridLayout.addWidget(self.modepLineEdit, 2, 2, 1, 1)                
        
        self.modeaLabel = QtGui.QLabel(Form)
        self.modeaLabel.setObjectName("modeaLabel")
        self.modeaLabel.setText('Absolute Period [s]:')
        self.gridLayout.addWidget(self.modeaLabel, 3, 1, 1, 1)
        self.modeaLineEdit = QtGui.QLineEdit(Form)
        self.modeaLineEdit.setObjectName("modeaLineEdit")
        self.modeaLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modeaLineEdit.setMaxLength(7)        
        self.modeaLineEdit.setMaximumWidth(60)
        self.modeaLineEdit.setText('15.0')        
        self.gridLayout.addWidget(self.modeaLineEdit, 3, 2, 1, 1)        
        self.modeaLowerLimitLabel = QtGui.QLabel(Form)
        self.modeaLowerLimitLabel.setObjectName("modeaLowerLimitLabel")
        self.modeaLowerLimitLabel.setText('Lower Limit (decr.):')
        self.gridLayout.addWidget(self.modeaLowerLimitLabel, 3, 3, 1, 1)                
        self.modeaLowerLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaLowerLimitLineEdit.setObjectName("modeaLowerLimitLineEdit")
        self.modeaLowerLimitLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaLowerLimitLineEdit.setMaxLength(7)        
        self.modeaLowerLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaLowerLimitLineEdit, 3, 4, 1, 1)                
        self.modeaUpperLimitLabel = QtGui.QLabel(Form)
        self.modeaUpperLimitLabel.setObjectName("modeaUpperLimitLabel")
        self.modeaUpperLimitLabel.setText('Upper Limit (incr.):')
        self.gridLayout.addWidget(self.modeaUpperLimitLabel, 3, 5, 1, 1)                
        self.modeaUpperLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaUpperLimitLineEdit.setObjectName("modeaUpperLimitLineEdit")
        self.modeaUpperLimitLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaUpperLimitLineEdit.setMaxLength(7)        
        self.modeaUpperLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaUpperLimitLineEdit, 3, 6, 1, 1)        
        
        self.moderLabel = QtGui.QLabel(Form)
        self.moderLabel.setObjectName("moderLabel")
        self.moderLabel.setText('Relative Period [s]:')
        self.gridLayout.addWidget(self.moderLabel, 4, 1, 1, 1)                        
        self.moderLineEdit = QtGui.QLineEdit(Form)
        self.moderLineEdit.setObjectName("moderLineEdit")
        self.moderLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.moderLineEdit.setMaxLength(7)
        self.moderLineEdit.setMaximumWidth(60)
        self.moderLineEdit.setText('15.0')        
        self.gridLayout.addWidget(self.moderLineEdit, 4, 2, 1, 1)        
        self.moderLowerLimitPercentLabel = QtGui.QLabel(Form)
        self.moderLowerLimitPercentLabel.setObjectName("moderLowerLimitPercentLabel")
        self.moderLowerLimitPercentLabel.setText('Lower % Limit (decr.):')
        self.gridLayout.addWidget(self.moderLowerLimitPercentLabel, 4, 3, 1, 1)                        
        self.moderLowerLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderLowerLimitPercentLineEdit.setObjectName("moderLowerLimitPercentLineEdit")
        self.moderLowerLimitPercentLineEdit.setValidator(QtGui.QDoubleValidator(0, 1, 2, Form))
        self.moderLowerLimitPercentLineEdit.setMaxLength(7)
        self.moderLowerLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderLowerLimitPercentLineEdit, 4, 4, 1, 1)     
        self.moderUpperLimitPercentLabel = QtGui.QLabel(Form)
        self.moderUpperLimitPercentLabel.setObjectName("moderUpperLimitPercentLabel")
        self.moderUpperLimitPercentLabel.setText('Upper % Limit (incr.):')
        self.gridLayout.addWidget(self.moderUpperLimitPercentLabel, 4, 5, 1, 1)                        
        self.moderUpperLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderUpperLimitPercentLineEdit.setObjectName("moderUpperLimitPercentLineEdit")
        self.moderUpperLimitPercentLineEdit.setValidator(Qt.QDoubleValidator(0, 1, 2, Form))
        self.moderUpperLimitPercentLineEdit.setMaxLength(7)
        self.moderUpperLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderUpperLimitPercentLineEdit, 4, 6, 1, 1)             

        self.gridButtonLayout = QtGui.QGridLayout()
        self.gridButtonLayout.setObjectName("gridButtonLayout")               
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.gridButtonLayout.addItem(spacerItem, 0, 1, 1, 1)
        self.pushButtonStart = QtGui.QPushButton(Form)
        self.pushButtonStart.setObjectName("pushButtonStart")
        self.pushButtonStart.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStart, 0, 2, 1, 1)
        self.pushButtonStop = QtGui.QPushButton(Form)
        self.pushButtonStop.setObjectName("pushButtonStop")
        self.pushButtonStop.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStop, 0, 3, 1, 1)
        self.pushButtonCancel = QtGui.QPushButton(Form)
        self.pushButtonCancel.setObjectName("pushButtonCancel")
        self.gridButtonLayout.addWidget(self.pushButtonCancel, 0, 4, 1, 1)
        self.gridLayout.addLayout(self.gridButtonLayout, 5, 1, 1, 6)
        self.gridLayout_2.addLayout(self.gridLayout, 1, 0, 1, 1)
        
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(QtGui.QApplication.translate("Form", "Archiving Widget", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButtonStart.setText(QtGui.QApplication.translate("Form", "Start Archiving", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButtonStop.setText(QtGui.QApplication.translate("Form", "Stop", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButtonCancel.setText(QtGui.QApplication.translate("Form", "Close", None, QtGui.QApplication.UnicodeUTF8))
        self.label.setText(QtGui.QApplication.translate("Form", "Nothing to display", None, QtGui.QApplication.UnicodeUTF8))
        self.selectedLabel.setText(QtGui.QApplication.translate("Form", "Press start to start archiving selected attributes:", None, QtGui.QApplication.UnicodeUTF8))
        self.chooseLabel.setText(QtGui.QApplication.translate("Form", "Choose attributes to archive and hit apply to move attributes to selection", None, QtGui.QApplication.UnicodeUTF8))
        self.tf.connect(self.tac, Qt.SIGNAL("UpdateAttrs"), self.onUpdate)
        QtCore.QObject.connect(self.pushButtonStart, Qt.SIGNAL("clicked()"), self.onStart)
        QtCore.QObject.connect(self.pushButtonStop, Qt.SIGNAL("clicked()"), self.onStop)
        QtCore.QObject.connect(self.pushButtonCancel, Qt.SIGNAL("clicked()"), self.onCancel)
        QtCore.QObject.connect(self.modepLineEdit, Qt.SIGNAL('textChanged(const QString &)'), self.modepTextChanged)
        QtCore.QObject.connect(self.modeaLineEdit, Qt.SIGNAL('textChanged(const QString &)'), self.modeaTextChanged)
        QtCore.QObject.connect(self.moderLineEdit, Qt.SIGNAL('textChanged(const QString &)'), self.moderTextChanged)
        #QtCore.QObject.connect(self.moderUpperLimitPercentLineEdit, Qt.SIGNAL('editingFinished()'), self.moderUpperLimitPercentTextChanged)        
        #QtCore.QObject.connect(self.moderLowerLimitPercentLineEdit, Qt.SIGNAL('editingFinished()'), self.moderLowerLimitPercentTextChanged)                
        #QtCore.QObject.connect(self.modeaUpperLimitLineEdit, Qt.SIGNAL('editingFinished()'), self.modeaUpperLimitTextChanged)        
        #QtCore.QObject.connect(self.modeaLowerLimitLineEdit, Qt.SIGNAL('editingFinished()'), self.modeaLowerLimitTextChanged)                

    def modepTextChanged(self):
        if self.modepLineEdit.text():
            if (float(self.modepLineEdit.text()) < 1 or float(self.modepLineEdit.text()) > 14400):
                Qt.QMessageBox.critical(self._Form,'Error','Value ranges between 1 and 14400', QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
                if float(self.modepLineEdit.text()) > 14400: self.modepLineEdit.setText('14400') 
                else: self.modepLineEdit.setText('1') 
        else:
            Qt.QMessageBox.critical(self._Form,'Error','Value ranges between 1 and 14400', QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
            self.modepLineEdit.setText('1')
              
    def modeaTextChanged(self):
        if self.modeaLineEdit.text():
            if (float(self.modeaLineEdit.text()) > float(self.modepLineEdit.text())):
                Qt.QMessageBox.critical(self._Form,'Error','Value cannot be higher than '+self.modepLineEdit.text(), QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
                self.modeaLineEdit.setText('0') 

    def moderTextChanged(self):
        if self.moderLineEdit.text():
            if (float(self.moderLineEdit.text()) > float(self.modepLineEdit.text())):
                Qt.QMessageBox.critical(self._Form,'Error','Value cannot be higher than '+self.modepLineEdit.text(), QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
                self.moderLineEdit.setText('0') 
       
    def validate(self, modep, modea, moder):
        if (modep < modea or modep < moder):
            Qt.QMessageBox.critical(self._Form,'Error','Period value has to be higher than the others', QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
            self.modepLineEdit.setText(str(10*max(int(self.moderLineEdit.text()), int(self.modeaLineEdit.text())))) 
            return False
        return True

    def floatValidation(self, line):
        val = line.text()
        try:
            float(val)
            return True
        except:
            Qt.QMessageBox.critical(self._Form,'Error in '+str(line.objectName()),'Wrong value !\nSetting value to 0!', QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
            line.setText('0') 
            return False        

    def onStart(self):

        self.floatValidation(self.moderUpperLimitPercentLineEdit)
        self.floatValidation(self.moderLowerLimitPercentLineEdit)
        self.floatValidation(self.modeaUpperLimitLineEdit)
        self.floatValidation(self.modeaLowerLimitLineEdit)
        try:
            self.modep=int(1000*self.modepLineEdit.text())
            self.modea=(int(1000*self.modeaLineEdit.text()) if self.modeaLineEdit.text() else None)
            self.modeaLowerLimit=(float(self.modeaLowerLimitLineEdit.text()) if self.modeaLowerLimitLineEdit.text() else None)
            self.modeaUpperLimit=(float(self.modeaUpperLimitLineEdit.text()) if self.modeaUpperLimitLineEdit.text() else None)
            self.moder=(int(1000*self.moderLineEdit.text()) if self.moderLineEdit.text() else None)
            self.moderLowerLimit=(float(self.moderLowerLimitPercentLineEdit.text()) if self.moderLowerLimitPercentLineEdit.text() else None)
            self.moderUpperLimit=(float(self.moderUpperLimitPercentLineEdit.text()) if self.moderUpperLimitPercentLineEdit.text() else None)
            if self.validate(self.modep, self.modea, self.moder):
                reply=Qt.QMessageBox.question(self._Form,"Warning","Do you want to start archiving selected attributes?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
                if reply == QtGui.QMessageBox.Yes:
                    command={'MODE_P':[self.modep]}                    
                    if (self.modea and self.modeaUpperLimit and self.modeaLowerLimit): command['MODE_A']=[self.modea, self.modeaUpperLimit, self.modeaLowerLimit]
                    if (self.moder and self.moderUpperLimit and self.moderLowerLimit): command['MODE_R']=[self.moder, self.moderUpperLimit, self.moderLowerLimit]
                    attrs=[a for a in self.tf.getModel()]                    
                    cmd=self.tac.tdb.check_modes('tdb', command)
                    toStop=[a for a in attrs if a in self.tac.beingArchived]
                    try:
                        if toStop: self.tac.tdb.api.start_archiving(attrs, cmd, kill=True)
                        else: self.tac.tdb.api.start_archiving(attrs, cmd)
                    except:
                        Qt.QMessageBox.critical(self._Form,"Error",'Cannot start archiving process.\nCheck the state of archiving managers.', QtGui.QMessageBox.AcceptRole, QtGui.QMessageBox.AcceptRole)
                        print(traceback.format_exc())

                    self.tac.beingArchived=[a.lower() for a in self.tac.tdb if self.tac.tdb.is_attribute_archived(a.lower())] #update archived list
                    self.onUpdate(attrs)
                    self.tac.setNewDevName()
        except:
            print(traceback.format_exc())

    def onStop(self):
        toStop=[att.lower() for att in self.tf.getModel() if att.lower() in self.tac.beingArchived]
        reply=Qt.QMessageBox.question(self._Form,"Warning","Do you want to stop archiving "+str(len(toStop))+" attributes?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
        if reply == QtGui.QMessageBox.Yes:
            self.tac.tdb.api.stop_archiving(toStop)
            self.tac.beingArchived=[a.lower() for a in self.tac.tdb if self.tac.tdb.is_attribute_archived(a.lower())] #update archived list
            self.pushButtonStop.setEnabled(False)
            self.pushButtonStop.setText('Stop')
            self.tac.setNewDevName()
            self.clearParams()

    def onUpdate(self, attrs):
        self.clearParams()
        if not attrs:
            self.tf.hide()
            self.label.show()
            self.selectedLabel.hide()
            self.pushButtonStart.setEnabled(False)
            self.pushButtonStop.setEnabled(False)
            self.pushButtonStop.setText('Stop')
        else: 
            self.label.hide()
            self.selectedLabel.show()
            self.tf.show()
            self.tf.setModel(attrs)
            
            for i in range(len(attrs)):
                item=self.tf.getItemByIndex(i)
                if item.getModel().lower() in self.tac.beingArchived:
                    item.setExtraWidgetClass(historyButton)
                    historyButton().setModel(item.getModel())

            self.pushButtonStart.setEnabled(True)
            toStop=[att.lower() for att in attrs if att.lower() in self.tac.beingArchived]
            if toStop: 
                self.pushButtonStop.setEnabled(True)
                self.pushButtonStop.setText('Stop ('+str(len(toStop))+')')
                modes=self.tac.tdb.get(toStop[0]).modes
                if 'MODE_P' in modes.keys():
                    self.modepLineEdit.setText(str(int(modes['MODE_P'][0]/1000)))
                if 'MODE_R' in modes.keys():
                    if len(modes['MODE_R']) == 3: 
                        self.moderLineEdit.setText(str(int(modes['MODE_R'][0]/1000)))
                        self.moderLowerLimitPercentLineEdit.setText(str(float(modes['MODE_R'][1])))
                        self.moderUpperLimitPercentLineEdit.setText(str(float(modes['MODE_R'][2])))
                if 'MODE_A' in modes.keys(): 
                    if len(modes['MODE_A']) == 3: 
                        self.modeaLineEdit.setText(str(int(modes['MODE_A'][0]/1000)))
                        self.modeaLowerLimitLineEdit.setText(str(int(modes['MODE_A'][1])))
                        self.modeaUpperLimitLineEdit.setText(str(int(modes['MODE_A'][2])))
            else:
                self.pushButtonStop.setEnabled(False)
                self.pushButtonStop.setText('Stop')

    def clearParams(self):
        self.modepLineEdit.setText('60')
        self.moderLineEdit.setText('')
        self.moderLowerLimitPercentLineEdit.setText('')
        self.moderUpperLimitPercentLineEdit.setText('')
        self.modeaLineEdit.setText('')
        self.modeaLowerLimitLineEdit.setText('')
        self.modeaUpperLimitLineEdit.setText('')

    def onCancel(self):
        self._Form.close()
Exemplo n.º 31
0
import sys
from taurus.qt.qtgui.panel import TaurusForm
from taurus.qt.qtgui.application import TaurusApplication

app = TaurusApplication(sys.argv)

panel = TaurusForm()
props = ['state', 'status', 'position', 'velocity', 'acceleration']
model = ['sys/taurustest/1/%s' % p for p in props]
panel.setModel(model)
panel.show()
sys.exit(app.exec_())
    def setupUi(self, Form):
        Form.setObjectName("Form")
        self._Form = Form
        self.font = QtGui.QFont()
        self.font.setBold(True)
        self.gridLayout_2 = QtGui.QGridLayout(Form)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")

        self.chooseLabel = Qt.QLabel()
        self.chooseLabel.setObjectName("chooseLabel")
        self.chooseLabel.setFont(self.font)
        self.chooseLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.gridLayout.addWidget(self.chooseLabel, 0, 0, 1, 1)

        self.tac = attributeChooser()
        self.tac.setObjectName("taurusAttributeChooser")
        self.gridLayout.addWidget(self.tac, 1, 0, 6, 1)

        self.selectedLabel = Qt.QLabel()
        self.selectedLabel.setObjectName("selectedLabel")
        self.selectedLabel.setFont(self.font)
        self.selectedLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.selectedLabel.hide()
        self.gridLayout.addWidget(self.selectedLabel, 0, 1, 1, 6)

        self.tf = TaurusForm()
        self.tf.setWithButtons(False)
        self.tf.setObjectName("taurusForm")
        self.tf.hide()
        self.gridLayout.addWidget(self.tf, 1, 1, 1, 6)
        self.label = Qt.QLabel()
        self.label.setObjectName("label")
        self.label.setFont(self.font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.gridLayout.addWidget(self.label, 1, 1, 1, 6)

        spacerItem = QtGui.QSpacerItem(1, 1, QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 1, 1, 1, 1)

        self.modepLabel = QtGui.QLabel(Form)
        self.modepLabel.setObjectName("modepLabel")
        self.modepLabel.setText('Period [s]:')
        self.gridLayout.addWidget(self.modepLabel, 2, 1, 1, 1)
        self.modepLineEdit = QtGui.QLineEdit(Form)
        self.modepLineEdit.setObjectName("modepLineEdit")
        self.modepLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modepLineEdit.setMaxLength(7)
        self.modepLineEdit.setMaximumWidth(60)
        self.modepLineEdit.setText('60.0')
        self.gridLayout.addWidget(self.modepLineEdit, 2, 2, 1, 1)

        self.modeaLabel = QtGui.QLabel(Form)
        self.modeaLabel.setObjectName("modeaLabel")
        self.modeaLabel.setText('Absolute Period [s]:')
        self.gridLayout.addWidget(self.modeaLabel, 3, 1, 1, 1)
        self.modeaLineEdit = QtGui.QLineEdit(Form)
        self.modeaLineEdit.setObjectName("modeaLineEdit")
        self.modeaLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modeaLineEdit.setMaxLength(7)
        self.modeaLineEdit.setMaximumWidth(60)
        self.modeaLineEdit.setText('15.0')
        self.gridLayout.addWidget(self.modeaLineEdit, 3, 2, 1, 1)
        self.modeaLowerLimitLabel = QtGui.QLabel(Form)
        self.modeaLowerLimitLabel.setObjectName("modeaLowerLimitLabel")
        self.modeaLowerLimitLabel.setText('Lower Limit (decr.):')
        self.gridLayout.addWidget(self.modeaLowerLimitLabel, 3, 3, 1, 1)
        self.modeaLowerLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaLowerLimitLineEdit.setObjectName("modeaLowerLimitLineEdit")
        self.modeaLowerLimitLineEdit.setValidator(
            Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaLowerLimitLineEdit.setMaxLength(7)
        self.modeaLowerLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaLowerLimitLineEdit, 3, 4, 1, 1)
        self.modeaUpperLimitLabel = QtGui.QLabel(Form)
        self.modeaUpperLimitLabel.setObjectName("modeaUpperLimitLabel")
        self.modeaUpperLimitLabel.setText('Upper Limit (incr.):')
        self.gridLayout.addWidget(self.modeaUpperLimitLabel, 3, 5, 1, 1)
        self.modeaUpperLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaUpperLimitLineEdit.setObjectName("modeaUpperLimitLineEdit")
        self.modeaUpperLimitLineEdit.setValidator(
            Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaUpperLimitLineEdit.setMaxLength(7)
        self.modeaUpperLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaUpperLimitLineEdit, 3, 6, 1, 1)

        self.moderLabel = QtGui.QLabel(Form)
        self.moderLabel.setObjectName("moderLabel")
        self.moderLabel.setText('Relative Period [s]:')
        self.gridLayout.addWidget(self.moderLabel, 4, 1, 1, 1)
        self.moderLineEdit = QtGui.QLineEdit(Form)
        self.moderLineEdit.setObjectName("moderLineEdit")
        self.moderLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.moderLineEdit.setMaxLength(7)
        self.moderLineEdit.setMaximumWidth(60)
        self.moderLineEdit.setText('15.0')
        self.gridLayout.addWidget(self.moderLineEdit, 4, 2, 1, 1)
        self.moderLowerLimitPercentLabel = QtGui.QLabel(Form)
        self.moderLowerLimitPercentLabel.setObjectName(
            "moderLowerLimitPercentLabel")
        self.moderLowerLimitPercentLabel.setText('Lower % Limit (decr.):')
        self.gridLayout.addWidget(self.moderLowerLimitPercentLabel, 4, 3, 1, 1)
        self.moderLowerLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderLowerLimitPercentLineEdit.setObjectName(
            "moderLowerLimitPercentLineEdit")
        self.moderLowerLimitPercentLineEdit.setValidator(
            QtGui.QDoubleValidator(0, 1, 2, Form))
        self.moderLowerLimitPercentLineEdit.setMaxLength(7)
        self.moderLowerLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderLowerLimitPercentLineEdit, 4, 4, 1,
                                  1)
        self.moderUpperLimitPercentLabel = QtGui.QLabel(Form)
        self.moderUpperLimitPercentLabel.setObjectName(
            "moderUpperLimitPercentLabel")
        self.moderUpperLimitPercentLabel.setText('Upper % Limit (incr.):')
        self.gridLayout.addWidget(self.moderUpperLimitPercentLabel, 4, 5, 1, 1)
        self.moderUpperLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderUpperLimitPercentLineEdit.setObjectName(
            "moderUpperLimitPercentLineEdit")
        self.moderUpperLimitPercentLineEdit.setValidator(
            Qt.QDoubleValidator(0, 1, 2, Form))
        self.moderUpperLimitPercentLineEdit.setMaxLength(7)
        self.moderUpperLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderUpperLimitPercentLineEdit, 4, 6, 1,
                                  1)

        self.gridButtonLayout = QtGui.QGridLayout()
        self.gridButtonLayout.setObjectName("gridButtonLayout")
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.gridButtonLayout.addItem(spacerItem, 0, 1, 1, 1)
        self.pushButtonStart = QtGui.QPushButton(Form)
        self.pushButtonStart.setObjectName("pushButtonStart")
        self.pushButtonStart.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStart, 0, 2, 1, 1)
        self.pushButtonStop = QtGui.QPushButton(Form)
        self.pushButtonStop.setObjectName("pushButtonStop")
        self.pushButtonStop.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStop, 0, 3, 1, 1)
        self.pushButtonCancel = QtGui.QPushButton(Form)
        self.pushButtonCancel.setObjectName("pushButtonCancel")
        self.gridButtonLayout.addWidget(self.pushButtonCancel, 0, 4, 1, 1)
        self.gridLayout.addLayout(self.gridButtonLayout, 5, 1, 1, 6)
        self.gridLayout_2.addLayout(self.gridLayout, 1, 0, 1, 1)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
Exemplo n.º 33
0
 def onShowCurrentValues(self):
     models = self.getSelectedModels()
     print(list(map(str, models)))
     form = TaurusForm()
     form.addModels(models)
     form.show()
Exemplo n.º 34
0
 def setModel(self, model):
     attrList = [
         "%s/%s" % (model, attrName) for attrName in self._attributes
     ]
     TaurusForm.setModel(attrList)
     self._PhCtModel = model
Exemplo n.º 35
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.setWindowModality(QtCore.Qt.WindowModal)
        Form.resize(600, 355)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(100)
        sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
        Form.setSizePolicy(sizePolicy)
        Form.setMinimumSize(QtCore.QSize(1000, 500))
        Form.setSizeIncrement(QtCore.QSize(1, 1))
        Form.setBaseSize(QtCore.QSize(200, 200))
        self.mainLayout = QtGui.QHBoxLayout(Form)
        self.mainLayout.setObjectName("mainLayout")
        self.splitter = QtGui.QSplitter()
        self.splitter.setChildrenCollapsible(False)
        self.mainLayout.addWidget(self.splitter)
        
        ###################### Left Panel
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.frame = QtGui.QFrame(Form)
        self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtGui.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.frame)
        self.verticalLayout_3.setObjectName("verticalLayout_3")

        self.horizontalLayoutFilter = QtGui.QHBoxLayout()
        self.horizontalLayoutFilter.setObjectName("horizontalLayoutFilter")
        self.filterLabel = QtGui.QLabel(self.frame)
        self.filterLabel.setObjectName("filterLabel")
        self.filterLabel.setMaximumSize(QtCore.QSize(50, 30))
        self.horizontalLayoutFilter.addWidget(self.filterLabel)
        self.filterComboBox = QtGui.QComboBox(self.frame)
        self.filterComboBox.setObjectName("filterComboBox")
        self.horizontalLayoutFilter.addWidget(self.filterComboBox)
        self.filterComboBox2 = QtGui.QComboBox(self.frame)
        self.filterComboBox2.setObjectName("filterComboBox2")
        self.horizontalLayoutFilter.addWidget(self.filterComboBox2)		
        self.refreshButton = QtGui.QPushButton(self.frame)
        self.refreshButton.setObjectName("refreshButton")
        self.refreshButton.setMaximumSize(QtCore.QSize(50, 30))
        self.horizontalLayoutFilter.addWidget(self.refreshButton)
        self.verticalLayout_3.addLayout(self.horizontalLayoutFilter)

        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.comboLabel = QtGui.QLabel(self.frame)
        self.comboLabel.setObjectName("comboLabel")
        self.comboLabel.setMaximumSize(QtCore.QSize(50, 30))
        self.comboLabel.hide()
        self.horizontalLayout_4.addWidget(self.comboLabel)
        self.contextComboBox = QtGui.QComboBox(self.frame)
        self.contextComboBox.setObjectName("contextComboBox")
        self.horizontalLayout_4.addWidget(self.contextComboBox)
        
        self.ctxbuttonsLayout = QtGui.QHBoxLayout()
        
        self.buttonNew = QtGui.QPushButton(self.frame)
        self.buttonNew.setObjectName("buttonNew")
        self.ctxbuttonsLayout.addWidget(self.buttonNew)
                
        self.buttonEditCtx = QtGui.QPushButton(self.frame)
        self.buttonEditCtx.setObjectName("buttonEditCtx")
        self.ctxbuttonsLayout.addWidget(self.buttonEditCtx)
        
        self.buttonDelCtx = QtGui.QPushButton(self.frame)
        self.buttonDelCtx.setObjectName("buttonDelCtx")
        self.ctxbuttonsLayout.addWidget(self.buttonDelCtx)
        
        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
        self.verticalLayout_3.addLayout(self.ctxbuttonsLayout)

        self.formLayout = QtGui.QFormLayout()
        #self.formLayout.setContentsMargins(-1, 4, -1, -1)
        self.formLayout.setObjectName("formLayout")
        self.infoLabel0_1 = QtGui.QLabel(self.frame)
        self.infoLabel0_1.setObjectName("infoLabel0_1")
        self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.infoLabel0_1)
        self.infoLabel0_1.hide()
        self.infoLabel1_1 = QtGui.QLabel(self.frame)
        self.infoLabel1_1.setObjectName("Author")
        self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.infoLabel1_1)
        self.infoLabel1_1.hide()
        self.infoLabel1_2 = QtGui.QLabel(self.frame)
        self.infoLabel1_2.setObjectName("infoLabel1_2")
        self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.infoLabel1_2)
        self.infoLabel1_2.hide()
        self.infoLabel2_1 = QtGui.QLabel(self.frame)
        self.infoLabel2_1.setObjectName("Reason")
        self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.infoLabel2_1)
        self.infoLabel2_1.hide()
        self.infoLabel2_2 = QtGui.QLabel(self.frame)
        self.infoLabel2_2.setObjectName("infoLabel2_2")
        self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.infoLabel2_2)
        self.infoLabel2_2.hide()
        self.infoLabel3_1 = QtGui.QLabel(self.frame)
        self.infoLabel3_1.setObjectName("Description")
        self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.infoLabel3_1)
        self.infoLabel3_1.hide()
        self.infoLabel3_2 = QtGui.QLabel(self.frame)
        self.infoLabel3_2.setObjectName("infoLabel3_2")
        self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.infoLabel3_2)
        self.infoLabel3_2.hide()
        self.infoLabel4_1 = QtGui.QLabel(self.frame)
        self.infoLabel4_1.setObjectName("Snapshots")
        self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.infoLabel4_1)
        self.infoLabel4_1.hide()
        self.verticalLayout_3.addLayout(self.formLayout)
        self.listWidget = QtGui.QListWidget(self.frame)
        self.listWidget.setObjectName("listWidget")
        self.verticalLayout_3.addWidget(self.listWidget)
        self.verticalLayout_2.addWidget(self.frame)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        self.buttonTake = QtGui.QPushButton(Form)
        self.buttonTake.setObjectName("buttonTake")
        self.horizontalLayout_2.addWidget(self.buttonTake)
        self.buttonTake.hide()
        
        self.buttonImport = QtGui.QPushButton(Form)
        self.buttonImport.setObjectName("buttonImport")
        self.horizontalLayout_2.addWidget(self.buttonImport)
        self.buttonImport.hide()
        
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        #self.mainLayout.addLayout(self.verticalLayout_2)
        
        self.leftWidget = QtGui.QWidget()
        self.leftWidget.setLayout(self.verticalLayout_2)
        self.splitter.addWidget(self.leftWidget)
        
        #################### End of Left Panel

        #################### Right Panel
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        
        self.tableLabel = QtGui.QLabel(Form)
        self.tableLabel.setObjectName("tableLabel")
        self.horizontalLayout_5.addWidget(self.tableLabel)
        self.tableLabel.hide()
        
        self.buttonEditSnap = QtGui.QPushButton(Form)
        self.buttonEditSnap.setObjectName("buttonEditSnap")
        self.horizontalLayout_5.addWidget(self.buttonEditSnap)
        self.buttonEditSnap.hide()
        
        self.viewComboBox = QtGui.QComboBox(Form)
        self.viewComboBox.setObjectName("viewComboBox")
        self.horizontalLayout_5.addWidget(self.viewComboBox)
        self.viewComboBox.setLayoutDirection(QtCore.Qt.RightToLeft)
        self.viewComboBox.addItem("Table View")
        self.viewComboBox.addItem("Live View")
        self.viewComboBox.addItem("Compare View")
        self.viewComboBox.setMaximumWidth(115)
        self.viewComboBox.hide()
        
        self.verticalLayout.addLayout(self.horizontalLayout_5)

        self.frame_2 = QtGui.QFrame(Form)
        self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_2.setMinimumWidth(400)
        self.frame_2.setObjectName("frame_2")
        
        self.gridLayout = QtGui.QGridLayout(self.frame_2)
        self.gridLayout.setObjectName("gridLayout")
        self.tableWidget = QtGui.QTableWidget(self.frame_2)
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(0)
        self.tableWidget.setRowCount(0)
        self.gridLayout.addWidget(self.tableWidget)

        self.taurusForm = TaurusForm(self.frame_2)
        self.taurusForm.setObjectName("taurusForm")
        self.taurusForm.hide()
        self.verticalLayout.addWidget(self.frame_2)

        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        
        #self.customButton4 = QtGui.QPushButton(Form)
        #self.customButton4.setObjectName("customButton4")
        #self.horizontalLayout.addWidget(self.customButton4)
        #self.customButton4.hide()
        
        self.buttonExport = QtGui.QPushButton(Form)
        self.buttonExport.setObjectName("buttonExport")
        self.horizontalLayout.addWidget(self.buttonExport)
        self.buttonExport.hide()
        
        self.buttonLoad = QtGui.QPushButton(Form)
        self.buttonLoad.setObjectName("buttonLoad")
        self.horizontalLayout.addWidget(self.buttonLoad)
        self.buttonLoad.hide()
        
        self.buttonDelSnap = QtGui.QPushButton(Form)
        self.buttonDelSnap.setObjectName("buttonDelSnap")
        self.horizontalLayout.addWidget(self.buttonDelSnap)
        self.buttonDelSnap.hide()
        
        self.buttonClose = QtGui.QPushButton(Form)
        self.buttonClose.setObjectName("buttonClose")
        self.buttonClose.setText(QtGui.QApplication.translate("Form", "Close", None, QtGui.QApplication.UnicodeUTF8))
        self.buttonClose.setToolTip(QtGui.QApplication.translate("Form", "Close Application", None, QtGui.QApplication.UnicodeUTF8))
        icon_close = QtGui.QIcon(":/actions/process-stop.svg")
        self.buttonClose.setIcon(icon_close)
        
        self.horizontalLayout.addWidget(self.buttonClose)
        self.verticalLayout.addLayout(self.horizontalLayout)
        #self.mainLayout.addLayout(self.verticalLayout)
        self.rightWidget = QtGui.QWidget()
        self.rightWidget.setLayout(self.verticalLayout)
        self.splitter.addWidget(self.rightWidget)
        ##################### End of Right Panel

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
Exemplo n.º 36
0
    #dupa2.addAction(Qt.QIcon(":/actions/media-record.svg"),"SnapApp",snap)

    #toolbar=Qt.QToolBar(tmw)
    #tmw.addToolBar(toolbar)
    #toolbar.setIconSize(Qt.QSize(30,30))
    #toolbar.addAction(Qt.QIcon(":/actions/media-record.svg"),"SnapApp",snap)
    #toolbar.setMovable(True)
    #toolbar.setFloatable(True)
    #toolbar.setToolTip("ToolBarrrrrrrr")

    #menubar=tmw.menuBar()
    #dupa=menubar.addMenu('&Dupa')
    #dupa.addAction(Qt.QIcon(":/actions/media-record.svg"),"SnapApp",snap)

    contextAttributes=[attr['full_name'] for attr in context.get_attributes().values()]
    taurusForm=TaurusForm(tmw)
    taurusForm.setModel(contextAttributes)
    tmw.setCentralWidget(taurusForm)

    tmw.statusBar().showMessage('Ready')
    s=tmw.splashScreen()
    s.finish(tmw)
    tmw.show()

    toolbar2=snapToolbar(tmw)
    toolbar2.setRefreshTime(5)
    tmw.addToolBar(toolbar2)

    #widgets=tmw.findChildren(taurus.qt.qtgui.base.TaurusBaseComponent)
    #att_table=[]
    #for w in widgets:
Exemplo n.º 37
0
import sys, PyTango
from PyQt4 import Qt
from taurus.qt.qtgui import container
from taurus.qt.qtgui.panel import TaurusForm

import panic
from panic.widgets import *

if __name__ == "__main__":
    qapp = Qt.QApplication([])
    device = sys.argv[1] if sys.argv else 'sys/tg_test/1'
    attr_list = ['%s/%s'%(device,a) for a in PyTango.DeviceProxy(device).get_attribute_list()]
    tmw = container.TaurusMainWindow()
    taurusForm = TaurusForm(tmw)
    taurusForm.setModel(attr_list)
    tmw.setCentralWidget(taurusForm)
    tmw.statusBar().showMessage('Ready')
    tmw.show()
    s=tmw.splashScreen()
    s.finish(tmw)
    print '*'*80

    toolbar = PanicToolbar(tmw)
    tmw.addToolBar(toolbar)

    sys.exit(qapp.exec_())
Exemplo n.º 38
0
    #toolbar=Qt.QToolBar(tmw)
    #tmw.addToolBar(toolbar)
    #toolbar.setIconSize(Qt.QSize(30,30))
    #toolbar.addAction(Qt.QIcon(":/actions/media-record.svg"),"SnapApp",snap)
    #toolbar.setMovable(True)
    #toolbar.setFloatable(True)
    #toolbar.setToolTip("ToolBarrrrrrrr")

    #menubar=tmw.menuBar()
    #dupa=menubar.addMenu('&Dupa')
    #dupa.addAction(Qt.QIcon(":/actions/media-record.svg"),"SnapApp",snap)

    contextAttributes = [
        attr['full_name'] for attr in context.get_attributes().values()
    ]
    taurusForm = TaurusForm(tmw)
    taurusForm.setModel(contextAttributes)
    tmw.setCentralWidget(taurusForm)

    tmw.statusBar().showMessage('Ready')
    s = tmw.splashScreen()
    s.finish(tmw)
    tmw.show()

    toolbar2 = snapToolbar(tmw)
    toolbar2.setRefreshTime(5)
    tmw.addToolBar(toolbar2)

    #widgets=tmw.findChildren(taurus.qt.qtgui.base.TaurusBaseComponent)
    #att_table=[]
    #for w in widgets:
Exemplo n.º 39
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        self._Form=Form
        self.font=QtGui.QFont()
        self.font.setBold(True)
        self.gridLayout_2 = QtGui.QGridLayout(Form)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")

        self.chooseLabel=Qt.QLabel()
        self.chooseLabel.setObjectName("chooseLabel")
        self.chooseLabel.setFont(self.font)
        self.chooseLabel.setAlignment(QtCore.Qt.AlignCenter);
        self.gridLayout.addWidget(self.chooseLabel, 0, 0, 1, 1)

        self.tac=attributeChooser()
        self.tac.setObjectName("taurusAttributeChooser")
        self.gridLayout.addWidget(self.tac, 1, 0, 6, 1)
        
        self.selectedLabel=Qt.QLabel()
        self.selectedLabel.setObjectName("selectedLabel")
        self.selectedLabel.setFont(self.font)
        self.selectedLabel.setAlignment(QtCore.Qt.AlignCenter);
        self.selectedLabel.hide()
        self.gridLayout.addWidget(self.selectedLabel, 0, 1, 1, 6)

        self.tf=TaurusForm()
        self.tf.setWithButtons(False)
        self.tf.setObjectName("taurusForm")
        self.tf.hide()
        self.gridLayout.addWidget(self.tf, 1, 1, 1, 6)        
        self.label=Qt.QLabel()
        self.label.setObjectName("label")
        self.label.setFont(self.font)
        self.label.setAlignment(QtCore.Qt.AlignCenter);
        self.gridLayout.addWidget(self.label, 1, 1, 1, 6)
                
        spacerItem = QtGui.QSpacerItem(1, 1, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 1, 1, 1, 1)
        
        self.modepLabel = QtGui.QLabel(Form)
        self.modepLabel.setObjectName("modepLabel")
        self.modepLabel.setText('Period [s]:')
        self.gridLayout.addWidget(self.modepLabel, 2, 1, 1, 1)        
        self.modepLineEdit = QtGui.QLineEdit(Form)
        self.modepLineEdit.setObjectName("modepLineEdit")
        self.modepLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modepLineEdit.setMaxLength(7)
        self.modepLineEdit.setMaximumWidth(60)
        self.modepLineEdit.setText('60.0')
        self.gridLayout.addWidget(self.modepLineEdit, 2, 2, 1, 1)                
        
        self.modeaLabel = QtGui.QLabel(Form)
        self.modeaLabel.setObjectName("modeaLabel")
        self.modeaLabel.setText('Absolute Period [s]:')
        self.gridLayout.addWidget(self.modeaLabel, 3, 1, 1, 1)
        self.modeaLineEdit = QtGui.QLineEdit(Form)
        self.modeaLineEdit.setObjectName("modeaLineEdit")
        self.modeaLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.modeaLineEdit.setMaxLength(7)        
        self.modeaLineEdit.setMaximumWidth(60)
        self.modeaLineEdit.setText('15.0')        
        self.gridLayout.addWidget(self.modeaLineEdit, 3, 2, 1, 1)        
        self.modeaLowerLimitLabel = QtGui.QLabel(Form)
        self.modeaLowerLimitLabel.setObjectName("modeaLowerLimitLabel")
        self.modeaLowerLimitLabel.setText('Lower Limit (decr.):')
        self.gridLayout.addWidget(self.modeaLowerLimitLabel, 3, 3, 1, 1)                
        self.modeaLowerLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaLowerLimitLineEdit.setObjectName("modeaLowerLimitLineEdit")
        self.modeaLowerLimitLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaLowerLimitLineEdit.setMaxLength(7)        
        self.modeaLowerLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaLowerLimitLineEdit, 3, 4, 1, 1)                
        self.modeaUpperLimitLabel = QtGui.QLabel(Form)
        self.modeaUpperLimitLabel.setObjectName("modeaUpperLimitLabel")
        self.modeaUpperLimitLabel.setText('Upper Limit (incr.):')
        self.gridLayout.addWidget(self.modeaUpperLimitLabel, 3, 5, 1, 1)                
        self.modeaUpperLimitLineEdit = QtGui.QLineEdit(Form)
        self.modeaUpperLimitLineEdit.setObjectName("modeaUpperLimitLineEdit")
        self.modeaUpperLimitLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 2, Form))
        self.modeaUpperLimitLineEdit.setMaxLength(7)        
        self.modeaUpperLimitLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.modeaUpperLimitLineEdit, 3, 6, 1, 1)        
        
        self.moderLabel = QtGui.QLabel(Form)
        self.moderLabel.setObjectName("moderLabel")
        self.moderLabel.setText('Relative Period [s]:')
        self.gridLayout.addWidget(self.moderLabel, 4, 1, 1, 1)                        
        self.moderLineEdit = QtGui.QLineEdit(Form)
        self.moderLineEdit.setObjectName("moderLineEdit")
        self.moderLineEdit.setValidator(Qt.QDoubleValidator(1, 14400, 1, Form))
        self.moderLineEdit.setMaxLength(7)
        self.moderLineEdit.setMaximumWidth(60)
        self.moderLineEdit.setText('15.0')        
        self.gridLayout.addWidget(self.moderLineEdit, 4, 2, 1, 1)        
        self.moderLowerLimitPercentLabel = QtGui.QLabel(Form)
        self.moderLowerLimitPercentLabel.setObjectName("moderLowerLimitPercentLabel")
        self.moderLowerLimitPercentLabel.setText('Lower % Limit (decr.):')
        self.gridLayout.addWidget(self.moderLowerLimitPercentLabel, 4, 3, 1, 1)                        
        self.moderLowerLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderLowerLimitPercentLineEdit.setObjectName("moderLowerLimitPercentLineEdit")
        self.moderLowerLimitPercentLineEdit.setValidator(QtGui.QDoubleValidator(0, 1, 2, Form))
        self.moderLowerLimitPercentLineEdit.setMaxLength(7)
        self.moderLowerLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderLowerLimitPercentLineEdit, 4, 4, 1, 1)     
        self.moderUpperLimitPercentLabel = QtGui.QLabel(Form)
        self.moderUpperLimitPercentLabel.setObjectName("moderUpperLimitPercentLabel")
        self.moderUpperLimitPercentLabel.setText('Upper % Limit (incr.):')
        self.gridLayout.addWidget(self.moderUpperLimitPercentLabel, 4, 5, 1, 1)                        
        self.moderUpperLimitPercentLineEdit = QtGui.QLineEdit(Form)
        self.moderUpperLimitPercentLineEdit.setObjectName("moderUpperLimitPercentLineEdit")
        self.moderUpperLimitPercentLineEdit.setValidator(Qt.QDoubleValidator(0, 1, 2, Form))
        self.moderUpperLimitPercentLineEdit.setMaxLength(7)
        self.moderUpperLimitPercentLineEdit.setMaximumWidth(60)
        self.gridLayout.addWidget(self.moderUpperLimitPercentLineEdit, 4, 6, 1, 1)             

        self.gridButtonLayout = QtGui.QGridLayout()
        self.gridButtonLayout.setObjectName("gridButtonLayout")               
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.gridButtonLayout.addItem(spacerItem, 0, 1, 1, 1)
        self.pushButtonStart = QtGui.QPushButton(Form)
        self.pushButtonStart.setObjectName("pushButtonStart")
        self.pushButtonStart.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStart, 0, 2, 1, 1)
        self.pushButtonStop = QtGui.QPushButton(Form)
        self.pushButtonStop.setObjectName("pushButtonStop")
        self.pushButtonStop.setEnabled(False)
        self.gridButtonLayout.addWidget(self.pushButtonStop, 0, 3, 1, 1)
        self.pushButtonCancel = QtGui.QPushButton(Form)
        self.pushButtonCancel.setObjectName("pushButtonCancel")
        self.gridButtonLayout.addWidget(self.pushButtonCancel, 0, 4, 1, 1)
        self.gridLayout.addLayout(self.gridButtonLayout, 5, 1, 1, 6)
        self.gridLayout_2.addLayout(self.gridLayout, 1, 0, 1, 1)
        
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
Exemplo n.º 40
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.setWindowModality(QtCore.Qt.WindowModal)
        Form.resize(600, 355)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(100)
        sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
        Form.setSizePolicy(sizePolicy)
        Form.setMinimumSize(QtCore.QSize(1000, 500))
        Form.setSizeIncrement(QtCore.QSize(1, 1))
        Form.setBaseSize(QtCore.QSize(200, 200))
        self.mainLayout = QtGui.QHBoxLayout(Form)
        self.mainLayout.setObjectName("mainLayout")
        self.splitter = QtGui.QSplitter()
        self.splitter.setChildrenCollapsible(False)
        self.mainLayout.addWidget(self.splitter)
        
        ###################### Left Panel
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.frame = QtGui.QFrame(Form)
        self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtGui.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.frame)
        self.verticalLayout_3.setObjectName("verticalLayout_3")

        self.horizontalLayoutFilter = QtGui.QHBoxLayout()
        self.horizontalLayoutFilter.setObjectName("horizontalLayoutFilter")
        self.filterLabel = QtGui.QLabel(self.frame)
        self.filterLabel.setObjectName("filterLabel")
        self.filterLabel.setMaximumSize(QtCore.QSize(50, 30))
        self.horizontalLayoutFilter.addWidget(self.filterLabel)
        self.filterComboBox = QtGui.QComboBox(self.frame)
        self.filterComboBox.setObjectName("filterComboBox")
        self.horizontalLayoutFilter.addWidget(self.filterComboBox)
        self.filterComboBox2 = QtGui.QComboBox(self.frame)
        self.filterComboBox2.setObjectName("filterComboBox2")
        self.horizontalLayoutFilter.addWidget(self.filterComboBox2)		
        self.refreshButton = QtGui.QPushButton(self.frame)
        self.refreshButton.setObjectName("refreshButton")
        self.refreshButton.setMaximumSize(QtCore.QSize(50, 30))
        self.horizontalLayoutFilter.addWidget(self.refreshButton)
        self.verticalLayout_3.addLayout(self.horizontalLayoutFilter)

        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.comboLabel = QtGui.QLabel(self.frame)
        self.comboLabel.setObjectName("comboLabel")
        self.comboLabel.setMaximumSize(QtCore.QSize(50, 30))
        self.comboLabel.hide()
        self.horizontalLayout_4.addWidget(self.comboLabel)
        self.contextComboBox = QtGui.QComboBox(self.frame)
        self.contextComboBox.setObjectName("contextComboBox")
        self.horizontalLayout_4.addWidget(self.contextComboBox)
        
        self.ctxbuttonsLayout = QtGui.QHBoxLayout()
        
        self.buttonNew = QtGui.QPushButton(self.frame)
        self.buttonNew.setObjectName("buttonNew")
        self.ctxbuttonsLayout.addWidget(self.buttonNew)
                
        self.buttonEditCtx = QtGui.QPushButton(self.frame)
        self.buttonEditCtx.setObjectName("buttonEditCtx")
        self.ctxbuttonsLayout.addWidget(self.buttonEditCtx)
        
        self.buttonDelCtx = QtGui.QPushButton(self.frame)
        self.buttonDelCtx.setObjectName("buttonDelCtx")
        self.ctxbuttonsLayout.addWidget(self.buttonDelCtx)
        
        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
        self.verticalLayout_3.addLayout(self.ctxbuttonsLayout)

        self.formLayout = QtGui.QFormLayout()
        #self.formLayout.setContentsMargins(-1, 4, -1, -1)
        self.formLayout.setObjectName("formLayout")
        self.infoLabel0_1 = QtGui.QLabel(self.frame)
        self.infoLabel0_1.setObjectName("infoLabel0_1")
        self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.infoLabel0_1)
        self.infoLabel0_1.hide()
        self.infoLabel1_1 = QtGui.QLabel(self.frame)
        self.infoLabel1_1.setObjectName("Author")
        self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.infoLabel1_1)
        self.infoLabel1_1.hide()
        self.infoLabel1_2 = QtGui.QLabel(self.frame)
        self.infoLabel1_2.setObjectName("infoLabel1_2")
        self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.infoLabel1_2)
        self.infoLabel1_2.hide()
        self.infoLabel2_1 = QtGui.QLabel(self.frame)
        self.infoLabel2_1.setObjectName("Reason")
        self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.infoLabel2_1)
        self.infoLabel2_1.hide()
        self.infoLabel2_2 = QtGui.QLabel(self.frame)
        self.infoLabel2_2.setObjectName("infoLabel2_2")
        self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.infoLabel2_2)
        self.infoLabel2_2.hide()
        self.infoLabel3_1 = QtGui.QLabel(self.frame)
        self.infoLabel3_1.setObjectName("Description")
        self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.infoLabel3_1)
        self.infoLabel3_1.hide()
        self.infoLabel3_2 = QtGui.QLabel(self.frame)
        self.infoLabel3_2.setObjectName("infoLabel3_2")
        self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.infoLabel3_2)
        self.infoLabel3_2.hide()
        self.infoLabel4_1 = QtGui.QLabel(self.frame)
        self.infoLabel4_1.setObjectName("Snapshots")
        self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.infoLabel4_1)
        self.infoLabel4_1.hide()
        self.verticalLayout_3.addLayout(self.formLayout)
        self.listWidget = QtGui.QListWidget(self.frame)
        self.listWidget.setObjectName("listWidget")
        self.verticalLayout_3.addWidget(self.listWidget)
        self.verticalLayout_2.addWidget(self.frame)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        self.buttonTake = QtGui.QPushButton(Form)
        self.buttonTake.setObjectName("buttonTake")
        self.horizontalLayout_2.addWidget(self.buttonTake)
        self.buttonTake.hide()
        
        self.buttonImport = QtGui.QPushButton(Form)
        self.buttonImport.setObjectName("buttonImport")
        self.horizontalLayout_2.addWidget(self.buttonImport)
        self.buttonImport.hide()
        
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        #self.mainLayout.addLayout(self.verticalLayout_2)
        
        self.leftWidget = QtGui.QWidget()
        self.leftWidget.setLayout(self.verticalLayout_2)
        self.splitter.addWidget(self.leftWidget)
        
        #################### End of Left Panel

        #################### Right Panel
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        
        self.tableLabel = QtGui.QLabel(Form)
        self.tableLabel.setObjectName("tableLabel")
        self.horizontalLayout_5.addWidget(self.tableLabel)
        self.tableLabel.hide()
        
        self.buttonEditSnap = QtGui.QPushButton(Form)
        self.buttonEditSnap.setObjectName("buttonEditSnap")
        self.horizontalLayout_5.addWidget(self.buttonEditSnap)
        self.buttonEditSnap.hide()
        
        self.viewComboBox = QtGui.QComboBox(Form)
        self.viewComboBox.setObjectName("viewComboBox")
        self.horizontalLayout_5.addWidget(self.viewComboBox)
        self.viewComboBox.setLayoutDirection(QtCore.Qt.RightToLeft)
        self.viewComboBox.addItem("Table View")
        self.viewComboBox.addItem("Live View")
        self.viewComboBox.addItem("Compare View")
        self.viewComboBox.setMaximumWidth(115)
        self.viewComboBox.hide()
        
        self.verticalLayout.addLayout(self.horizontalLayout_5)

        self.frame_2 = QtGui.QFrame(Form)
        self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_2.setMinimumWidth(400)
        self.frame_2.setObjectName("frame_2")
        
        self.gridLayout = QtGui.QGridLayout(self.frame_2)
        self.gridLayout.setObjectName("gridLayout")
        self.tableWidget = QtGui.QTableWidget(self.frame_2)
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(0)
        self.tableWidget.setRowCount(0)
        self.gridLayout.addWidget(self.tableWidget)

        self.taurusForm = TaurusForm(self.frame_2)
        self.taurusForm.setObjectName("taurusForm")
        self.taurusForm.hide()
        self.verticalLayout.addWidget(self.frame_2)

        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        
        #self.customButton4 = QtGui.QPushButton(Form)
        #self.customButton4.setObjectName("customButton4")
        #self.horizontalLayout.addWidget(self.customButton4)
        #self.customButton4.hide()
        
        self.buttonExport = QtGui.QPushButton(Form)
        self.buttonExport.setObjectName("buttonExport")
        self.horizontalLayout.addWidget(self.buttonExport)
        self.buttonExport.hide()
        
        self.buttonLoad = QtGui.QPushButton(Form)
        self.buttonLoad.setObjectName("buttonLoad")
        self.horizontalLayout.addWidget(self.buttonLoad)
        self.buttonLoad.hide()
        
        self.buttonDelSnap = QtGui.QPushButton(Form)
        self.buttonDelSnap.setObjectName("buttonDelSnap")
        self.horizontalLayout.addWidget(self.buttonDelSnap)
        self.buttonDelSnap.hide()
        
        self.buttonClose = QtGui.QPushButton(Form)
        self.buttonClose.setObjectName("buttonClose")
        self.buttonClose.setText(QtGui.QApplication.translate("Form", "Close", None, QtGui.QApplication.UnicodeUTF8))
        self.buttonClose.setToolTip(QtGui.QApplication.translate("Form", "Close Application", None, QtGui.QApplication.UnicodeUTF8))
        icon_close = QtGui.QIcon(":/actions/process-stop.svg")
        self.buttonClose.setIcon(icon_close)
        
        self.horizontalLayout.addWidget(self.buttonClose)
        self.verticalLayout.addLayout(self.horizontalLayout)
        #self.mainLayout.addLayout(self.verticalLayout)
        self.rightWidget = QtGui.QWidget()
        self.rightWidget.setLayout(self.verticalLayout)
        self.splitter.addWidget(self.rightWidget)
        ##################### End of Right Panel

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)