예제 #1
0
파일: panels.py 프로젝트: hayg25/PyQTDev
    def _setup_ui(self):
        vbox = QtGui.QVBoxLayout(self)
        self.setLayout(vbox)

        grid = QtGui.QGridLayout()
        self.form = MAXForm(withButtons=False)

        grid.addWidget(self.form, 0, 0, 2, 1)
        # rescale taurus form methode
        self.form.scrollArea.sizeHint = self.scaleSize
        self.status_label = StatusArea()
        grid.addWidget(self.status_label, 0, 1, 1, 1)

        commandbox = QtGui.QVBoxLayout(self)
        self.start_button = TaurusCommandButton(command="StartCycle")
        self.start_button.setUseParentModel(True)
        self.stop_button = TaurusCommandButton(command="StopCycle")
        self.stop_button.setUseParentModel(True)
        commandbox.addWidget(self.start_button)
        commandbox.addWidget(self.stop_button)
        grid.addLayout(commandbox, 1, 1, 1, 1)

        vbox.addLayout(grid)

        self.trend = TaurusTrend()
        vbox.addWidget(self.trend, stretch=1)
        self.trend_trigger.connect(self.set_trend_paused)

        self.cyclingState = None
예제 #2
0
def hack_circuitpanel(widget, ps_model):
    """ add trigger buttons from PS to the circuit panel (BinpPowerSupplyPanel case) """
    circuit = widget.circuit_widget
    h_box = QtGui.QHBoxLayout(circuit)
    circuit.enable_trigger_button = TaurusCommandButton(
        command="EnableTrigger")
    circuit.disable_trigger_button = TaurusCommandButton(
        command="DisableTrigger")
    circuit.enable_trigger_button.setModel(ps_model)
    circuit.disable_trigger_button.setModel(ps_model)
    h_box.addWidget(circuit.enable_trigger_button)
    h_box.addWidget(circuit.disable_trigger_button)
    circuit.vbox.insertLayout(1, h_box)
예제 #3
0
파일: panels.py 프로젝트: hayg25/PyQTDev
    def _setup_ui(self):
        hbox = QtGui.QHBoxLayout(self)
        self.setLayout(hbox)
        form_vbox = QtGui.QVBoxLayout(self)

        # devicename label
        hbox2 = QtGui.QVBoxLayout(self)
        self.device_and_state = DevnameAndState(self)
        hbox2.addWidget(self.device_and_state, stretch=2)

        # commands
        commandbox = QtGui.QHBoxLayout(self)
        self.start_button = TaurusCommandButton(command="Start")
        self.start_button.setUseParentModel(True)
        self.stop_button = TaurusCommandButton(command="Stop")
        self.stop_button.setUseParentModel(True)
        self.init_button = TaurusCommandButton(command="Init")
        self.init_button.setUseParentModel(True)
        self.on_button = TaurusCommandButton(command="On")
        self.on_button.setUseParentModel(True)
        self.off_button = TaurusCommandButton(command="Off")
        self.off_button.setUseParentModel(True)
        self.enable_trigger_button = TaurusCommandButton(
            command="EnableTrigger")
        self.enable_trigger_button.setUseParentModel(True)
        self.disable_trigger_button = TaurusCommandButton(
            command="DisableTrigger")
        self.disable_trigger_button.setUseParentModel(True)
        self.reset_button = TaurusCommandButton(command="Reset")
        self.reset_button.setUseParentModel(True)
        commandbox.addWidget(self.start_button)
        commandbox.addWidget(self.stop_button)
        commandbox.addWidget(self.init_button)
        commandbox.addWidget(self.on_button)
        commandbox.addWidget(self.off_button)
        commandbox.addWidget(self.enable_trigger_button)
        commandbox.addWidget(self.disable_trigger_button)
        commandbox.addWidget(self.reset_button)
        hbox2.addLayout(commandbox, stretch=1)
        form_vbox.addLayout(hbox2)

        # attributes
        self.form = MAXForm(withButtons=False)

        form_vbox.addLayout(commandbox)
        form_vbox.addWidget(self.form, stretch=1)
        self.status_area = StatusArea()
        form_vbox.addWidget(self.status_area)
        hbox.addLayout(form_vbox)

        # value bar
        self.valuebar = MAXValueBar(self)
        slider_vbox = QtGui.QVBoxLayout(self)
        slider_vbox.setContentsMargins(10, 10, 10, 10)
        hbox.addLayout(slider_vbox)
        self.current_label = TaurusLabel()
        self.current_label.setAlignment(QtCore.Qt.AlignCenter)
        slider_vbox.addWidget(self.valuebar, 1)
        slider_vbox.addWidget(self.current_label)
예제 #4
0
def test_timeout(qtbot, taurus_test_ds):
    """Check that the timeout property works"""
    w = TaurusCommandButton(command='Sleep')
    qtbot.addWidget(w)

    try:
        w.setModel(taurus_test_ds)

        # set the parameter for the sleep command to 0.2 seconds
        w.setParameters([.2])

        # Create a callback to check the result of the execution
        def _check_result(res):
            return res == .2

        # Check that the button emits commandExecuted when timeout > exec time
        w.setTimeout(10)
        assert w.getTimeout() == 10
        with qtbot.waitSignal(w.commandExecuted,
                              check_params_cb=_check_result):
            qtbot.mouseClick(w, Qt.Qt.LeftButton)

        # Check that, if timeout < exec time, commandExecuted is NOT emited
        # and CommunicationFailed is raised
        w.setTimeout(.1)
        assert w.getTimeout() == .1
        with pytest.raises(CommunicationFailed):
            with qtbot.assertNotEmitted(w.commandExecuted):
                # call _onClicked instead of emulating a click to bypass
                # the @ProtectTaurusMessageBox protection of onClicked()
                w._onClicked()
    finally:
        # just in case this helps avoiding problems at exit
        w.setModel(None)
예제 #5
0
 def populateButtons(self):
     """
     Create taurus commandbuttons for everything in modelcommand
     """
     for modelcommand in self._modelcommands:
         button = TaurusCommandButton(self.frame)
         button.setCommand(modelcommand['command'])
         if 'model' in modelcommand:
             button.setModel(modelcommand['model'])
         else:
             button.setUseParentModel(True)
         if 'customtext' in modelcommand:
             button.setCustomText(modelcommand['customtext'])
         if 'dangermessage' in modelcommand:
             button.setDangerMessage(modelcommand['dangermessage'])
         if 'parameters' in modelcommand:
             button.setParameters(modelcommand['parameters'])
         if 'timeout' in modelcommand:
             button.setTimeout(modelcommand['timeout'])
         self.connect(button,
                      Qt.SIGNAL('commandExecuted'),
                      self.onCommandExectued)
         # Make button expand vertically
         button.setSizePolicy(QtGui.QSizePolicy.Minimum,
                              QtGui.QSizePolicy.Expanding)
         self.frame.layout().addWidget(button)
         self._buttons.append(button)
예제 #6
0
    def __init__(self, *args):
        TaurusWidget.__init__(self, *args)
        self.setLayout(QtGui.QHBoxLayout())
        self.layout().setMargin(0)

        self.moveInButton = TaurusCommandButton(self)
        self.moveInButton.setUseParentModel(True)
        self.moveInButton.setCommand('MoveIn')
        self.moveInButton.setCustomText('Move In')

        self.moveOutButton = TaurusCommandButton(self)
        self.moveOutButton.setUseParentModel(True)
        self.moveOutButton.setCommand('MoveOut')
        self.moveOutButton.setCustomText('Move Out')

        self.layout().addWidget(self.moveInButton)
        self.layout().addWidget(self.moveOutButton)
예제 #7
0
    def _updateCommandWidgets(self, *args):
        '''
        Inserts command buttons and parameter widgets in the layout, according to
        the commands from the model
        '''

        dev = self.getModelObj()
        if dev is None:
            self._clearFrame()
            return

        try:
            commands = sorted(dev.command_list_query(), key=self._sortKey)
        except Exception as e:
            self.warning('Problem querying commands from %s. Reason: %s',
                         dev, e)
            self._clearFrame()
            return

        for f in self.getViewFilters():
            commands = list(filter(f, commands))

        self._clearFrame()

        layout = self._frame.layout()

        model = self.getFullModelName()

        for row, c in enumerate(commands):
            self.debug('Adding button for command %s' % c.cmd_name)
            button = TaurusCommandButton(command=c.cmd_name, text=c.cmd_name)
            layout.addWidget(button, row, 0)
            button.setModel(model)
            self._cmdWidgets.append(button)
            button.commandExecuted.connect(self._onCommandExecuted)
            
            import taurus.core.tango.util.tango_taurus as tango_taurus
            in_type = tango_taurus.FROM_TANGO_TO_TAURUS_TYPE[c.in_type]

            if in_type is not None:
                self.debug('Adding arguments for command %s' % c.cmd_name)
                pwidget = ParameterCB()
                if c.cmd_name.lower() in self._defaultParameters:
                    for par in self._defaultParameters.get(c.cmd_name.lower(), []):
                        pwidget.addItem(par)
                    #pwidget.setEditable( (self._defaultParameters[c.cmd_name.lower()] or [''])[0] == '' )
                    if (self._defaultParameters[c.cmd_name.lower()] or [''])[0] == '':
                        pwidget.setEditable(True)
                    else:
                        pwidget.setEditable(False)
                        button.setParameters(self._defaultParameters[
                                             c.cmd_name.lower()][0])
                pwidget.editTextChanged.connect(button.setParameters)
                pwidget.currentIndexChanged['QString'].connect(button.setParameters)
                pwidget.activated.connect(button.setFocus)
                button.commandExecuted.connect(pwidget.rememberCurrentText)
                layout.addWidget(pwidget, row, 1)
                self._paramWidgets.append(pwidget)
예제 #8
0
    def _updateCommandWidgets(self, *args):
        '''
        Inserts command buttons and parameter widgets in the layout, according to
        the commands from the model
        '''
        #self.debug('In TaurusCommandsForm._updateCommandWidgets())')
        dev = self.getModelObj()
        if dev is None or dev.state != TaurusDevState.Ready:
            self.debug('Cannot connect to device')
            self._clearFrame()
            return
        commands = sorted(dev.command_list_query(), key=self._sortKey)

        for f in self.getViewFilters():
            commands = filter(f, commands)

        self._clearFrame()

        layout = self._frame.layout()

        for row, c in enumerate(commands):
            self.debug('Adding button for command %s' % c.cmd_name)
            button = TaurusCommandButton(command=c.cmd_name, text=c.cmd_name)
            layout.addWidget(button, row, 0)
            button.setUseParentModel(True)
            self._cmdWidgets.append(button)
            self.connect(button, Qt.SIGNAL('commandExecuted'),
                         self._onCommandExecuted)

            if c.in_type != PyTango.CmdArgType.DevVoid:
                self.debug('Adding arguments for command %s' % c.cmd_name)
                pwidget = ParameterCB()
                if c.cmd_name.lower() in self._defaultParameters:
                    for par in self._defaultParameters.get(
                            c.cmd_name.lower(), []):
                        pwidget.addItem(par)
                    #pwidget.setEditable( (self._defaultParameters[c.cmd_name.lower()] or [''])[0] == '' )
                    if (self._defaultParameters[c.cmd_name.lower()]
                            or [''])[0] == '':
                        pwidget.setEditable(True)
                    else:
                        pwidget.setEditable(False)
                        button.setParameters(
                            self._defaultParameters[c.cmd_name.lower()][0])
                self.connect(pwidget,
                             Qt.SIGNAL('editTextChanged (const QString&)'),
                             button.setParameters)
                self.connect(pwidget,
                             Qt.SIGNAL('currentIndexChanged (const QString&)'),
                             button.setParameters)
                self.connect(pwidget, Qt.SIGNAL('activated (int)'),
                             button.setFocus)
                self.connect(button, Qt.SIGNAL('commandExecuted'),
                             pwidget.rememberCurrentText)
                layout.addWidget(pwidget, row, 1)
                self._paramWidgets.append(pwidget)
예제 #9
0
    def updateTable(self):
        global checkList
        checkList = []
        # filtre venant du choix du combobox
        # Recherche dans le dictionnaire
        if filterTypes.has_key(str(self.comboBoxType.currentText())):
            value_filterTypes = filterTypes.get(
                str(self.comboBoxType.currentText()))
        else:
            value_filterTypes = 'All'

        if filterZones.has_key(str(self.comboBoxZone.currentText())):
            value_filterZones = filterZones.get(
                str(self.comboBoxZone.currentText()))
        else:
            value_filterZones = 'All'

        # nettoyage de la zone a ecrire
        self.clearLayout(self.gridLayout)
        # Header du tableau a ecrire après chaque .clear
        #self.tableWidget.setHorizontalHeaderLabels(['Names','Current','Voltage'])
        # If "All" is used, no filter is applied
        # cette methode n'existe pas : il faut trouver un equivalent
        # self.tableWidget.insertItems(0,[text for text in items if text_filter in text + "All"])
        k = -1
        #self.gridLayout.addWidget(self.styledPanel(),k,0,1,8)
        for device in DeviceList:
            if value_filterTypes in device + "All":
                if value_filterZones in device + "All":
                    # test line
                    k += 1
                    self.gridLayout.addWidget(self.Hline(), k, 0, 1, 8)
                    k += 1
                    self.gridLayout.setRowMinimumHeight(k, 40)
                    # Bouton ouverture device
                    self.buttonDevice = QtGui.QPushButton()
                    self.buttonDevice.setText(device)
                    self.buttonDevice.clicked.connect(AfficheDevice(device))
                    self.gridLayout.addWidget(self.buttonDevice, k, 0)
                    # Afficheur courant
                    self.afficheurCurrent = TaurusLabel()
                    self.afficheurCurrent.setModel(device + '/double_scalar')
                    self.gridLayout.addWidget(self.afficheurCurrent, k, 1)
                    # Afficheur tension
                    self.afficheurVoltage = TaurusLabel()
                    self.afficheurVoltage.setModel(device + '/float_scalar')
                    self.gridLayout.addWidget(self.afficheurVoltage, k, 2)
                    # Lecture consigne courant
                    self.afficheurCurrentSP = TaurusLabel()
                    self.afficheurCurrentSP.setModel(device + '/ampli')
                    self.gridLayout.addWidget(self.afficheurCurrentSP, k, 3)
                    # Ecriture consigne courant
                    self.writeCurrentSP = TaurusWheelEdit()
                    self.writeCurrentSP.setModel(device + '/ampli')
                    self.gridLayout.addWidget(self.writeCurrentSP, k, 4)
                    # Afficheur etat
                    self.afficheurState = TaurusLabel()
                    self.afficheurState.setModel(device + '/State')
                    self.gridLayout.addWidget(self.afficheurState, k, 5)
                    # CheckBox de selection
                    self.buttonSelect = QtGui.QCheckBox(device, self)
                    self.gridLayout.addWidget(self.buttonSelect, k, 6)
                    checkList.append(self.buttonSelect)
                    # Bouton commande Taurus
                    self.commandButtonSwitch = TaurusCommandButton(
                        command='SwitchStates', text='Switch State')
                    self.commandButtonSwitch.setModel(device)
                    self.gridLayout.addWidget(self.commandButtonSwitch, k, 7)

        self.scrollArea.setWidget(self.contenu)
예제 #10
0
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(501, 414)
        self.gridLayout_2 = QtGui.QGridLayout(Form)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.groupBox = QtGui.QGroupBox(Form)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.gridLayout = QtGui.QGridLayout(self.groupBox)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.taurusLabel = TaurusLabel(self.groupBox)
        self.taurusLabel.setObjectName(_fromUtf8("taurusLabel"))
        self.gridLayout.addWidget(self.taurusLabel, 0, 0, 1, 1)
        self.taurusLabel_2 = TaurusLabel(self.groupBox)
        self.taurusLabel_2.setObjectName(_fromUtf8("taurusLabel_2"))
        self.gridLayout.addWidget(self.taurusLabel_2, 0, 2, 1, 1)
        self.taurusLed_2 = TaurusLed(self.groupBox)
        self.taurusLed_2.setObjectName(_fromUtf8("taurusLed_2"))
        self.gridLayout.addWidget(self.taurusLed_2, 0, 3, 1, 1)
        self.taurusLabel_3 = TaurusLabel(self.groupBox)
        self.taurusLabel_3.setObjectName(_fromUtf8("taurusLabel_3"))
        self.gridLayout.addWidget(self.taurusLabel_3, 1, 0, 1, 1)
        self.taurusLabel_4 = TaurusLabel(self.groupBox)
        self.taurusLabel_4.setObjectName(_fromUtf8("taurusLabel_4"))
        self.gridLayout.addWidget(self.taurusLabel_4, 1, 2, 1, 1)
        self.taurusLed_3 = TaurusLed(self.groupBox)
        self.taurusLed_3.setObjectName(_fromUtf8("taurusLed_3"))
        self.gridLayout.addWidget(self.taurusLed_3, 1, 3, 1, 1)
        self.taurusLabel_5 = TaurusLabel(self.groupBox)
        self.taurusLabel_5.setObjectName(_fromUtf8("taurusLabel_5"))
        self.gridLayout.addWidget(self.taurusLabel_5, 2, 0, 1, 1)
        self.taurusLabel_6 = TaurusLabel(self.groupBox)
        self.taurusLabel_6.setObjectName(_fromUtf8("taurusLabel_6"))
        self.gridLayout.addWidget(self.taurusLabel_6, 2, 2, 1, 1)
        self.taurusLed_4 = TaurusLed(self.groupBox)
        self.taurusLed_4.setObjectName(_fromUtf8("taurusLed_4"))
        self.gridLayout.addWidget(self.taurusLed_4, 2, 3, 1, 1)
        self.taurusLabel_7 = TaurusLabel(self.groupBox)
        self.taurusLabel_7.setObjectName(_fromUtf8("taurusLabel_7"))
        self.gridLayout.addWidget(self.taurusLabel_7, 3, 0, 1, 1)
        self.taurusLabel_8 = TaurusLabel(self.groupBox)
        self.taurusLabel_8.setObjectName(_fromUtf8("taurusLabel_8"))
        self.gridLayout.addWidget(self.taurusLabel_8, 3, 2, 1, 1)
        self.taurusLed_5 = TaurusLed(self.groupBox)
        self.taurusLed_5.setObjectName(_fromUtf8("taurusLed_5"))
        self.gridLayout.addWidget(self.taurusLed_5, 3, 3, 1, 1)
        self.taurusLabel_9 = TaurusLabel(self.groupBox)
        self.taurusLabel_9.setObjectName(_fromUtf8("taurusLabel_9"))
        self.gridLayout.addWidget(self.taurusLabel_9, 4, 0, 1, 1)
        self.taurusLabel_10 = TaurusLabel(self.groupBox)
        self.taurusLabel_10.setObjectName(_fromUtf8("taurusLabel_10"))
        self.gridLayout.addWidget(self.taurusLabel_10, 4, 2, 1, 1)
        self.taurusLed_6 = TaurusLed(self.groupBox)
        self.taurusLed_6.setObjectName(_fromUtf8("taurusLed_6"))
        self.gridLayout.addWidget(self.taurusLed_6, 4, 3, 1, 1)
        self.taurusLabel_11 = TaurusLabel(self.groupBox)
        self.taurusLabel_11.setObjectName(_fromUtf8("taurusLabel_11"))
        self.gridLayout.addWidget(self.taurusLabel_11, 5, 0, 1, 1)
        self.taurusLabel_12 = TaurusLabel(self.groupBox)
        self.taurusLabel_12.setObjectName(_fromUtf8("taurusLabel_12"))
        self.gridLayout.addWidget(self.taurusLabel_12, 5, 2, 1, 1)
        self.taurusLed_7 = TaurusLed(self.groupBox)
        self.taurusLed_7.setObjectName(_fromUtf8("taurusLed_7"))
        self.gridLayout.addWidget(self.taurusLed_7, 5, 3, 1, 1)
        self.gridLayout_2.addWidget(self.groupBox, 0, 2, 1, 1)
        self.groupBox_2 = QtGui.QGroupBox(Form)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.gridLayout_3 = QtGui.QGridLayout(self.groupBox_2)
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.taurusLabel_13 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_13.setObjectName(_fromUtf8("taurusLabel_13"))
        self.gridLayout_3.addWidget(self.taurusLabel_13, 0, 0, 1, 1)
        self.taurusLabel_14 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_14.setObjectName(_fromUtf8("taurusLabel_14"))
        self.gridLayout_3.addWidget(self.taurusLabel_14, 0, 2, 1, 1)
        self.taurusLed_8 = TaurusLed(self.groupBox_2)
        self.taurusLed_8.setObjectName(_fromUtf8("taurusLed_8"))
        self.gridLayout_3.addWidget(self.taurusLed_8, 0, 3, 1, 1)
        self.taurusLabel_15 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_15.setObjectName(_fromUtf8("taurusLabel_15"))
        self.gridLayout_3.addWidget(self.taurusLabel_15, 1, 0, 1, 1)
        self.taurusLabel_16 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_16.setObjectName(_fromUtf8("taurusLabel_16"))
        self.gridLayout_3.addWidget(self.taurusLabel_16, 1, 2, 1, 1)
        self.taurusLed_9 = TaurusLed(self.groupBox_2)
        self.taurusLed_9.setObjectName(_fromUtf8("taurusLed_9"))
        self.gridLayout_3.addWidget(self.taurusLed_9, 1, 3, 1, 1)
        self.taurusLabel_17 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_17.setObjectName(_fromUtf8("taurusLabel_17"))
        self.gridLayout_3.addWidget(self.taurusLabel_17, 2, 0, 1, 1)
        self.taurusLabel_18 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_18.setObjectName(_fromUtf8("taurusLabel_18"))
        self.gridLayout_3.addWidget(self.taurusLabel_18, 2, 2, 1, 1)
        self.taurusLed_10 = TaurusLed(self.groupBox_2)
        self.taurusLed_10.setObjectName(_fromUtf8("taurusLed_10"))
        self.gridLayout_3.addWidget(self.taurusLed_10, 2, 3, 1, 1)
        self.taurusLabel_19 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_19.setObjectName(_fromUtf8("taurusLabel_19"))
        self.gridLayout_3.addWidget(self.taurusLabel_19, 3, 0, 1, 1)
        self.taurusLabel_20 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_20.setObjectName(_fromUtf8("taurusLabel_20"))
        self.gridLayout_3.addWidget(self.taurusLabel_20, 3, 2, 1, 1)
        self.taurusLed_11 = TaurusLed(self.groupBox_2)
        self.taurusLed_11.setObjectName(_fromUtf8("taurusLed_11"))
        self.gridLayout_3.addWidget(self.taurusLed_11, 3, 3, 1, 1)
        self.taurusLabel_21 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_21.setObjectName(_fromUtf8("taurusLabel_21"))
        self.gridLayout_3.addWidget(self.taurusLabel_21, 4, 0, 1, 1)
        self.taurusLabel_22 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_22.setObjectName(_fromUtf8("taurusLabel_22"))
        self.gridLayout_3.addWidget(self.taurusLabel_22, 4, 2, 1, 1)
        self.taurusLed_12 = TaurusLed(self.groupBox_2)
        self.taurusLed_12.setObjectName(_fromUtf8("taurusLed_12"))
        self.gridLayout_3.addWidget(self.taurusLed_12, 4, 3, 1, 1)
        self.taurusLabel_23 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_23.setObjectName(_fromUtf8("taurusLabel_23"))
        self.gridLayout_3.addWidget(self.taurusLabel_23, 5, 0, 1, 1)
        self.taurusLabel_24 = TaurusLabel(self.groupBox_2)
        self.taurusLabel_24.setObjectName(_fromUtf8("taurusLabel_24"))
        self.gridLayout_3.addWidget(self.taurusLabel_24, 5, 2, 1, 1)
        self.taurusLed_13 = TaurusLed(self.groupBox_2)
        self.taurusLed_13.setObjectName(_fromUtf8("taurusLed_13"))
        self.gridLayout_3.addWidget(self.taurusLed_13, 5, 3, 1, 1)
        self.gridLayout_2.addWidget(self.groupBox_2, 0, 3, 1, 1)
        self.groupBox_4 = QtGui.QGroupBox(Form)
        self.groupBox_4.setObjectName(_fromUtf8("groupBox_4"))
        self.gridLayout_5 = QtGui.QGridLayout(self.groupBox_4)
        self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
        self.taurusLabel_26 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_26.setObjectName(_fromUtf8("taurusLabel_26"))
        self.gridLayout_5.addWidget(self.taurusLabel_26, 0, 0, 1, 3)
        self.taurusLed_14 = TaurusLed(self.groupBox_4)
        self.taurusLed_14.setObjectName(_fromUtf8("taurusLed_14"))
        self.gridLayout_5.addWidget(self.taurusLed_14, 1, 0, 1, 1)
        self.taurusLabel_29 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_29.setObjectName(_fromUtf8("taurusLabel_29"))
        self.gridLayout_5.addWidget(self.taurusLabel_29, 2, 0, 1, 1)
        self.taurusLabel_30 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_30.setObjectName(_fromUtf8("taurusLabel_30"))
        self.gridLayout_5.addWidget(self.taurusLabel_30, 2, 1, 1, 1)
        self.taurusValueLineEdit_2 = TaurusValueLineEdit(self.groupBox_4)
        self.taurusValueLineEdit_2.setObjectName(
            _fromUtf8("taurusValueLineEdit_2"))
        self.gridLayout_5.addWidget(self.taurusValueLineEdit_2, 2, 2, 1, 1)
        self.taurusLabel_33 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_33.setObjectName(_fromUtf8("taurusLabel_33"))
        self.gridLayout_5.addWidget(self.taurusLabel_33, 3, 0, 1, 1)
        self.taurusLabel_34 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_34.setObjectName(_fromUtf8("taurusLabel_34"))
        self.gridLayout_5.addWidget(self.taurusLabel_34, 3, 1, 1, 1)
        self.taurusValueLineEdit_4 = TaurusValueLineEdit(self.groupBox_4)
        self.taurusValueLineEdit_4.setObjectName(
            _fromUtf8("taurusValueLineEdit_4"))
        self.gridLayout_5.addWidget(self.taurusValueLineEdit_4, 3, 2, 1, 1)
        self.taurusLabel_37 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_37.setObjectName(_fromUtf8("taurusLabel_37"))
        self.gridLayout_5.addWidget(self.taurusLabel_37, 4, 0, 1, 1)
        self.taurusLabel_38 = TaurusLabel(self.groupBox_4)
        self.taurusLabel_38.setObjectName(_fromUtf8("taurusLabel_38"))
        self.gridLayout_5.addWidget(self.taurusLabel_38, 4, 1, 1, 1)
        self.taurusValueLineEdit_6 = TaurusValueLineEdit(self.groupBox_4)
        self.taurusValueLineEdit_6.setObjectName(
            _fromUtf8("taurusValueLineEdit_6"))
        self.gridLayout_5.addWidget(self.taurusValueLineEdit_6, 4, 2, 1, 1)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.taurusCommandButton_2 = TaurusCommandButton(self.groupBox_4)
        self.taurusCommandButton_2.setObjectName(
            _fromUtf8("taurusCommandButton_2"))
        self.horizontalLayout_2.addWidget(self.taurusCommandButton_2)
        self.cfgMg2 = QtGui.QToolButton(self.groupBox_4)
        self.cfgMg2.setObjectName(_fromUtf8("cfgMg2"))
        self.horizontalLayout_2.addWidget(self.cfgMg2)
        self.horizontalLayout_2.setStretch(0, 1)
        self.gridLayout_5.addLayout(self.horizontalLayout_2, 1, 1, 1, 2)
        self.gridLayout_2.addWidget(self.groupBox_4, 1, 3, 1, 1)
        self.groupBox_3 = QtGui.QGroupBox(Form)
        self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
        self.gridLayout_4 = QtGui.QGridLayout(self.groupBox_3)
        self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
        self.taurusLabel_25 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_25.setObjectName(_fromUtf8("taurusLabel_25"))
        self.gridLayout_4.addWidget(self.taurusLabel_25, 0, 0, 1, 3)
        self.taurusLabel_27 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_27.setObjectName(_fromUtf8("taurusLabel_27"))
        self.gridLayout_4.addWidget(self.taurusLabel_27, 2, 1, 1, 1)
        self.taurusLabel_28 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_28.setObjectName(_fromUtf8("taurusLabel_28"))
        self.gridLayout_4.addWidget(self.taurusLabel_28, 2, 0, 1, 1)
        self.taurusValueLineEdit = TaurusValueLineEdit(self.groupBox_3)
        self.taurusValueLineEdit.setObjectName(
            _fromUtf8("taurusValueLineEdit"))
        self.gridLayout_4.addWidget(self.taurusValueLineEdit, 2, 2, 1, 1)
        self.taurusLed = TaurusLed(self.groupBox_3)
        self.taurusLed.setObjectName(_fromUtf8("taurusLed"))
        self.gridLayout_4.addWidget(self.taurusLed, 1, 0, 1, 1)
        self.taurusLabel_31 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_31.setObjectName(_fromUtf8("taurusLabel_31"))
        self.gridLayout_4.addWidget(self.taurusLabel_31, 3, 0, 1, 1)
        self.taurusLabel_32 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_32.setObjectName(_fromUtf8("taurusLabel_32"))
        self.gridLayout_4.addWidget(self.taurusLabel_32, 3, 1, 1, 1)
        self.taurusValueLineEdit_3 = TaurusValueLineEdit(self.groupBox_3)
        self.taurusValueLineEdit_3.setObjectName(
            _fromUtf8("taurusValueLineEdit_3"))
        self.gridLayout_4.addWidget(self.taurusValueLineEdit_3, 3, 2, 1, 1)
        self.taurusLabel_35 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_35.setObjectName(_fromUtf8("taurusLabel_35"))
        self.gridLayout_4.addWidget(self.taurusLabel_35, 4, 0, 1, 1)
        self.taurusLabel_36 = TaurusLabel(self.groupBox_3)
        self.taurusLabel_36.setObjectName(_fromUtf8("taurusLabel_36"))
        self.gridLayout_4.addWidget(self.taurusLabel_36, 4, 1, 1, 1)
        self.taurusValueLineEdit_5 = TaurusValueLineEdit(self.groupBox_3)
        self.taurusValueLineEdit_5.setObjectName(
            _fromUtf8("taurusValueLineEdit_5"))
        self.gridLayout_4.addWidget(self.taurusValueLineEdit_5, 4, 2, 1, 1)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.taurusCommandButton = TaurusCommandButton(self.groupBox_3)
        self.taurusCommandButton.setObjectName(
            _fromUtf8("taurusCommandButton"))
        self.horizontalLayout_3.addWidget(self.taurusCommandButton)
        self.cfgMg1 = QtGui.QToolButton(self.groupBox_3)
        self.cfgMg1.setObjectName(_fromUtf8("cfgMg1"))
        self.horizontalLayout_3.addWidget(self.cfgMg1)
        self.gridLayout_4.addLayout(self.horizontalLayout_3, 1, 1, 1, 2)
        self.gridLayout_2.addWidget(self.groupBox_3, 1, 2, 1, 1)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
예제 #11
0
    mb = MacroButton()

    mb.setModel(door_name)

    w.layout().addWidget(mb, 2, 0, 2, 7)

    w.layout().addWidget(Qt.QLabel('Result:'), 4, 0)

    result_label = Qt.QLabel()
    w.layout().addWidget(result_label, 4, 1, 1, 5)

    show_progress = Qt.QCheckBox('Progress')
    show_progress.setChecked(True)
    w.layout().addWidget(show_progress, 5, 0)

    mb_abort = TaurusCommandButton(command='StopMacro',
                                   icon=':/actions/media_playback_stop.svg')
    mb_abort.setModel(door_name)

    w.layout().addWidget(mb_abort, 5, 1)

    # Change macro name
    Qt.QObject.connect(macro_name, Qt.SIGNAL('textChanged(QString)'),
                       mb.setMacroName)
    Qt.QObject.connect(macro_name, Qt.SIGNAL('textChanged(QString)'),
                       mb.setButtonText)

    # connect the argument editors
    signals = [(e, 'textChanged(QString)') for e in _argEditors]
    mb.connectArgEditors(signals)

    def update_result(result):
예제 #12
0
        def create_layout(self, macro_name):
            p_names, d_values = self.getMacroInfo(macro_name)
            # Create TOP layout
            self.w_arg = Qt.QWidget()
            self.w_arg.setLayout(Qt.QGridLayout())
            col = 0
            self.w_arg.layout().addWidget(Qt.QLabel('macro name'), 0, col)
            self.w_macro_name = Qt.QLineEdit()
            self.w_arg.layout().addWidget(self.w_macro_name, 1, col)

            _argEditors = []
            for name in p_names:
                col += 1
                self.w_arg.layout().addWidget(Qt.QLabel(name), 0, col)
                self.argEdit = Qt.QLineEdit()
                self.w_arg.layout().addWidget(self.argEdit, 1, col)
                _argEditors.append(self.argEdit)

            for e, v in zip(_argEditors, d_values):
                e.setText(v)

            # Create bottom layout
            self.mb = MacroButton()
            self.mb.setModel(door_name)
            self.w_bottom = Qt.QWidget()
            self.w_bottom.setLayout(Qt.QGridLayout())
            self.w_bottom.layout().addWidget(self.mb, 0, 0, 2, 7)
            self.w_bottom.layout().addWidget(Qt.QLabel('Result:'), 2, 0)

            self.result_label = Qt.QLabel()
            self.w_bottom.layout().addWidget(self.result_label, 2, 1, 1, 5)

            self.show_progress = Qt.QCheckBox('Progress')
            self.show_progress.setChecked(True)
            self.w_bottom.layout().addWidget(self.show_progress, 3, 0)

            mb_abort = TaurusCommandButton(command='StopMacro',
                                           icon=':/actions/media_playback_stop.svg')
            mb_abort.setModel(door_name)
            self.w_bottom.layout().addWidget(mb_abort, 3, 1)

            # Toggle progressbar
            Qt.QObject.connect(self.show_progress, Qt.SIGNAL(
                'stateChanged(int)'), self.toggle_progress)
            # connect the argument editors
            signals = [(e, 'textChanged(QString)') for e in _argEditors]
            self.mb.connectArgEditors(signals)

            self.setLayout(Qt.QVBoxLayout())
            self.layout().addWidget(self.w_arg)
            self.layout().addWidget(self.w_bottom)

            # Update possible macro result
            Qt.QObject.connect(self.mb, Qt.SIGNAL(
                'resultUpdated'), self.update_result)

            Qt.QObject.connect(self.w_macro_name, Qt.SIGNAL(
                'textEdited(QString)'), self.update_macro_name)
            Qt.QObject.connect(self.w_macro_name, Qt.SIGNAL(
                'editingFinished()'), self.update_layout)
            Qt.QObject.connect(self.w_macro_name, Qt.SIGNAL(
                'textChanged(QString)'), self.mb.setMacroName)
            Qt.QObject.connect(self.w_macro_name, Qt.SIGNAL(
                'textChanged(QString)'), self.mb.setButtonText)

            # Since everything is now connected, the parameters will be updated
            self.w_macro_name.setText(macro_name)
예제 #13
0
        def create_layout(self, macro_name):
            p_names, d_values = self.getMacroInfo(macro_name)
            # Create TOP layout
            self.w_arg = Qt.QWidget()
            self.w_arg.setLayout(Qt.QGridLayout())
            col = 0
            self.w_arg.layout().addWidget(Qt.QLabel('macro name'), 0, col)
            self.w_macro_name = Qt.QLineEdit()
            self.w_arg.layout().addWidget(self.w_macro_name, 1, col)

            _argEditors = []
            for name in p_names:
                col += 1
                self.w_arg.layout().addWidget(Qt.QLabel(name), 0, col)
                self.argEdit = Qt.QLineEdit()
                self.w_arg.layout().addWidget(self.argEdit, 1, col)
                _argEditors.append(self.argEdit)

            for e, v in zip(_argEditors, d_values):
                if v is None:
                    continue
                e.setText(str(v))

            # Create bottom layout
            self.mb = MacroButton()
            self.mb.setModel(door_name)
            self.w_bottom = Qt.QWidget()
            self.w_bottom.setLayout(Qt.QGridLayout())
            self.w_bottom.layout().addWidget(self.mb, 0, 0, 2, 7)
            self.w_bottom.layout().addWidget(Qt.QLabel('Result:'), 2, 0)

            self.result_label = Qt.QLabel()
            self.w_bottom.layout().addWidget(self.result_label, 2, 1, 1, 5)

            self.show_progress = Qt.QCheckBox('Progress')
            self.show_progress.setChecked(True)
            self.w_bottom.layout().addWidget(self.show_progress, 3, 0)

            mb_abort = TaurusCommandButton(
                command='StopMacro', icon=':/actions/media_playback_stop.svg')
            mb_abort.setModel(door_name)
            self.w_bottom.layout().addWidget(mb_abort, 3, 1)

            # Toggle progressbar
            self.show_progress.stateChanged.connect(self.toggle_progress)
            # connect the argument editors
            for i, editor in enumerate(_argEditors):
                slot = functools.partial(self.mb.updateMacroArgument, i)
                editor.textChanged.connect(slot)

            self.setLayout(Qt.QVBoxLayout())
            self.layout().addWidget(self.w_arg)
            self.layout().addWidget(self.w_bottom)

            # Update possible macro result
            self.mb.resultUpdated.connect(self.update_result)

            self.w_macro_name.textEdited.connect(self.update_macro_name)
            self.w_macro_name.editingFinished.connect(self.update_layout)
            self.w_macro_name.textChanged.connect(self.mb.setMacroName)
            self.w_macro_name.textChanged.connect(self.mb.setButtonText)

            # Since everything is now connected, the parameters will be updated
            self.w_macro_name.setText(macro_name)