def showMotors(self, displayMode): self.motors = {} self.motorPanel.close(True) #destroy motor panel self.motorPanel = QVBox(self.containerBox) if self.hardwareObject is None: return else: if self.hardwareObject.hasObject('motors'): #an equipment should have a 'motors' section motors = self.hardwareObject['motors'] else: logging.getLogger().warning('Equipment %s does not have motors', self.hardwareObject.userName()) if displayMode == 'tabs': self.motorPanel.close(True) self.motorPanel = QTabWidget(self.containerBox) for motorCategory in motors.objectsNames(): motorTab = QVBox(self.motorPanel) self.motorPanel.addTab(motorTab, motorCategory) for motor in motors[motorCategory].getDevices(): newMotorWidget = MotorBrick.MotorBrick(motorTab, motor.name()) self.motors[motor.name()] = newMotorWidget newMotorWidget.getProperty('mnemonic').setValue(str(motor.name())) #['mnemonic'] = str(motor.name()) newMotorWidget.getProperty('appearance').setValue('tiny') newMotorWidget.getProperty('formatString').setValue(self.getProperty('formatString').getUserValue()) newMotorWidget.getProperty('allowConfigure').setValue(True) newMotorWidget.getProperty('allowDoubleClick').setValue(self['allowControl']) newMotorWidget.getProperty('dialogCaption').setValue("%s [%s] - %s" % (self['title'], motorCategory, motor.userName())) newMotorWidget.readProperties() if self.isRunning(): newMotorWidget.run() newMotorWidget.show() VerticalSpacer(motorTab) else: for motor in motors.getDevices(): newMotorWidget = MotorBrick.MotorBrick(self.motorPanel, motor.name()) self.motors[motor.name()] = newMotorWidget #newMotorWidget['mnemonic'] = str(motor.name()) newMotorWidget.getProperty('mnemonic').setValue(str(motor.name())) newMotorWidget.getProperty('appearance').setValue('tiny') newMotorWidget.getProperty('formatString').setValue(self.getProperty('formatString').getUserValue()) newMotorWidget.getProperty('allowConfigure').setValue(True) newMotorWidget.getProperty('allowDoubleClick').setValue(self['allowControl']) newMotorWidget.readProperties() if self.isRunning(): newMotorWidget.run() newMotorWidget.show() self.motorPanel.show()
def __init__(self, *args): SynopticBrick.SynopticBrick.__init__.im_func(self, *args) self.addProperty("mnemonic", "string", "") self.addProperty("allow_control", "boolean", False) self.addProperty("mode", "combo", ("expert", "user"), "user") self.motor = None self.buttons = [] self.expertPanel = QVBox(self.containerBox) self.motorWidget = MotorBrick.MotorBrick(self.expertPanel) expertPanelButtonsBox = QGrid(2, Qt.Vertical, self.expertPanel) QLabel("pos. name :", expertPanelButtonsBox) self.txtPositionName = QLineEdit(expertPanelButtonsBox) QLabel("", expertPanelButtonsBox) # just a spacer in fact self.cmdSetPosition = QPushButton("Set pos.", expertPanelButtonsBox) self.motorWidget["appearance"] = "tiny" self.motorWidget["allowDoubleClick"] = True expertPanelButtonsBox.setMargin(5) expertPanelButtonsBox.setSpacing(5) QObject.connect( self.cmdSetPosition, SIGNAL("clicked()"), self.cmdSetPositionClicked )
def __init__(self, *args): SynopticBrick.SynopticBrick.__init__.__func__(self, *args) self.addProperty('mnemonic', 'string', '') self.addProperty('allow_control', 'boolean', False) self.addProperty('mode', 'combo', ('expert', 'user'), 'user') self.motor = None self.buttons = [] self.expertPanel = QVBox(self.containerBox) self.motorWidget = MotorBrick.MotorBrick(self.expertPanel) expertPanelButtonsBox = QGrid(2, Qt.Vertical, self.expertPanel) QLabel('pos. name :', expertPanelButtonsBox) self.txtPositionName = QLineEdit(expertPanelButtonsBox) QLabel('', expertPanelButtonsBox) #just a spacer in fact self.cmdSetPosition = QPushButton('Set pos.', expertPanelButtonsBox) self.motorWidget['appearance'] = 'tiny' self.motorWidget['allowDoubleClick'] = True expertPanelButtonsBox.setMargin(5) expertPanelButtonsBox.setSpacing(5) QObject.connect(self.cmdSetPosition, SIGNAL('clicked()'), self.cmdSetPositionClicked)