def propertyChanged(self, property_name, old_value, new_value):
     if property_name == "mnemonic":
         if self.detector_hwobj is not None:
             self.disconnect(self.detector_hwobj,
                             'temperatureChanged',
                             self.temperature_changed)
             self.disconnect(self.detector_hwobj,
                             'humidityChanged',
                             self.humidity_changed)
             self.disconnect(self.detector_hwobj,
                             'statusChanged',
                             self.status_changed)
             self.disconnect(self.detector_hwobj,
                             'frameRateChanged',
                             self.frame_rate_changed)
         self.detector_hwobj = self.getHardwareObject(new_value)
         if self.detector_hwobj is not None:
             self.connect(self.detector_hwobj,
                          'temperatureChanged',
                          self.temperature_changed)
             self.connect(self.detector_hwobj,
                          'humidityChanged',
                          self.humidity_changed)
             self.connect(self.detector_hwobj,
                          'statusChanged',
                          self.status_changed)
             self.connect(self.detector_hwobj,
                          'frameRateChanged',
                          self.frame_rate_changed)
             self.detector_hwobj.update_values()             
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#2
0
    def propertyChanged(self, property, oldValue, newValue):
        if property == 'mnemonic':
	    if self.slitbox_hwobj is not None:
		self.disconnect(self.slitbox_hwobj, QtCore.SIGNAL('gapSizeChanged'), self.gap_value_changed)
		self.disconnect(self.slitbox_hwobj, QtCore.SIGNAL('statusChanged'), self.gap_status_changed)
	        self.disconnect(self.slitbox_hwobj, QtCore.SIGNAL('focModeChanged'), self.focModeChanged)
	        self.disconnect(self.slitbox_hwobj, QtCore.SIGNAL('gapLimitsChanged'), self.gapLimitsChanged)
	    self.slitbox_hwobj = self.getHardwareObject(newValue)
	    if self.slitbox_hwobj is not None:
		self.connect(self.slitbox_hwobj, QtCore.SIGNAL('gapSizeChanged'), self.gap_value_changed)
		self.connect(self.slitbox_hwobj, QtCore.SIGNAL('statusChanged'), self.gap_status_changed)
                self.connect(self.slitbox_hwobj, QtCore.SIGNAL('focModeChanged'), self.focModeChanged)
	        self.connect(self.slitbox_hwobj, QtCore.SIGNAL('gapLimitsChanged'), self.gapLimitsChanged)

                self.slitbox_hwobj.update_values()
            	self.slitBoxReady()
	    else:
                self.slitBoxNotReady()
	elif property == 'icons':
            icons_list=newValue.split()
            try:
		self.set_hor_gap_button.setIcon(Qt4_Icons.load_icon(icons_list[0])) 
		self.set_ver_gap_button.setIcon(Qt4_Icons.load_icon(icons_list[0]))                  
		self.stop_hor_button.setIcon(Qt4_Icons.load_icon(icons_list[1]))
        	self.stop_ver_button.setIcon(Qt4_Icons.load_icon(icons_list[1]))
            except IndexError:
                self.set_hor_gap_button.setText("Set")
                self.set_ver_gap_button.setText("Set")
                self.stop_hor_button.setText("Stop")
                self.stop_ver_button.setText("Stop")
        else:
            BlissWidget.propertyChanged(self,property,oldValue,newValue)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == "mnemonic":
         if self.detector_hwobj is not None:
             self.disconnect(self.detector_hwobj, 'temperatureChanged',
                             self.temperature_changed)
             self.disconnect(self.detector_hwobj, 'humidityChanged',
                             self.humidity_changed)
             self.disconnect(self.detector_hwobj, 'statusChanged',
                             self.status_changed)
             self.disconnect(self.detector_hwobj, 'frameRateChanged',
                             self.frame_rate_changed)
         self.detector_hwobj = self.getHardwareObject(new_value)
         if self.detector_hwobj is not None:
             self.connect(self.detector_hwobj, 'temperatureChanged',
                          self.temperature_changed)
             self.connect(self.detector_hwobj, 'humidityChanged',
                          self.humidity_changed)
             self.connect(self.detector_hwobj, 'statusChanged',
                          self.status_changed)
             self.connect(self.detector_hwobj, 'frameRateChanged',
                          self.frame_rate_changed)
             self.detector_hwobj.update_values()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'mnemonic':
            hwobj_names_list = new_value.split()
            for hwobj_name in hwobj_names_list:
                temp_motor_hwobj = self.getHardwareObject(hwobj_name)
                temp_motor_widget = Qt4_MotorSpinBoxBrick(self)
                temp_motor_widget.set_motor(temp_motor_hwobj, hwobj_name)
                temp_motor_widget.move_left_button.hide()
                temp_motor_widget.move_right_button.hide()
                temp_motor_widget.step_button.hide()
                temp_motor_widget.set_line_step(10.0)
                temp_motor_widget.step_changed(None)
                self.main_groupbox_hlayout.addWidget(temp_motor_widget)

                self.motor_hwobj_list.append(temp_motor_hwobj)
                self.motor_widget_list.append(temp_motor_widget) 
            if len(self.motor_widget_labels):      
                for index, label in enumerate(self.motor_widget_labels):
                    self.motor_widget_list[index].setLabel(label)
        elif property_name == 'icons':
            icons_list = new_value.split()
        elif property_name == 'labels':
            self.motor_widget_labels = new_value.split()
            if len(self.motor_widget_list):
                for index, label in enumerate(self.motor_widget_labels):
                    self.motor_widget_list[index].setLabel(label)            
        elif property_name == 'predefinedPositions':
            self.predefined_positions_list = new_value.split()
            for predefined_position in self.predefined_positions_list:
                temp_position_button = QtGui.QPushButton(predefined_position, self.main_group_box)
                self.main_groupbox_hlayout.addWidget(temp_position_button)
                temp_position_button.clicked.connect(lambda: \
                     self.predefined_position_clicked(predefined_position))
        else:
            BlissWidget.propertyChanged(self,property_name, old_value, new_value)
示例#5
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == 'mnemonic':
            if self.mach_info_hwobj is not None:
                self.disconnect(self.mach_info_hwobj,
                                QtCore.SIGNAL('valuesChanged'), self.set_value)
                self.disconnect(self.mach_info_hwobj,
                                QtCore.SIGNAL('inRangeChanged'),
                                self.set_color)
                self.disconnect(self.mach_info_hwobj,
                                QtCore.SIGNAL('tempHumChanged'),
                                self.temp_hum_changed)

            self.mach_info_hwobj = self.getHardwareObject(new_value)
            if self.mach_info_hwobj is not None:
                self.setEnabled(True)
                self.connect(self.mach_info_hwobj,
                             QtCore.SIGNAL('valuesChanged'), self.set_value)
                self.connect(self.mach_info_hwobj,
                             QtCore.SIGNAL('inRangeChanged'), self.set_color)
                self.connect(self.mach_info_hwobj,
                             QtCore.SIGNAL('tempHumChanged'),
                             self.temp_hum_changed)
                if self.mach_info_hwobj.has_cryo() is False:
                    self.cryo_label.hide()
                    self.cryo_value_label.hide()
            else:
                self.setEnabled(False)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == 'mnemonic':
            if self.actuator_hwo is not None:
                self.disconnect(self.actuator_hwo,
                                QtCore.SIGNAL('stateChanged'),
                                self.state_changed)

            self.actuator_hwo = self.getHardwareObject(new_value)
            if self.actuator_hwo is not None:
                self.setEnabled(True)
                self.connect(self.actuator_hwo, QtCore.SIGNAL('stateChanged'),
                             self.state_changed)
                self.actuator_hwo.update_values()
                logging.getLogger("HWR").info("User Name is: %s" %
                                              self.actuator_hwo.getUserName())
                self.widget.actuatorBox.setTitle(
                    self.actuator_hwo.getUserName())
            else:
                self.setEnabled(False)
        elif property_name == 'in_cmd_name':
            self.widget.cmdInButton.setText(new_value)
        elif property_name == 'out_cmd_name':
            self.widget.cmdOutButton.setText(new_value)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
 def propertyChanged(self,property_name, old_value, new_value):
     if property_name == 'mnemonic':
         if self.diffractometer_hwobj is not None:
             self.disconnect(self.diffractometer_hwobj, QtCore.SIGNAL("kappaMotorMoved"), self.kappa_motor_moved) 
             self.disconnect(self.diffractometer_hwobj, QtCore.SIGNAL("kappaPhiMotorMoved"), self.kappaphi_motor_moved)
             self.disconnect(self.diffractometer_hwobj, Qtcore.SIGNAL('minidiffStatusChanged'),self.diffractometer_state_changed)
         self.diffractometer_hwobj = self.getHardwareObject(new_value)
         if self.diffractometer_hwobj is not None:
             self.connect(self.diffractometer_hwobj, QtCore.SIGNAL("kappaMotorMoved"), self.kappa_motor_moved)            
             self.connect(self.diffractometer_hwobj, QtCore.SIGNAL("kappaPhiMotorMoved"), self.kappaphi_motor_moved)
             self.connect(self.diffractometer_hwobj, QtCore.SIGNAL('minidiffStatusChanged'),self.diffractometer_state_changed)
             self.setDisabled(self.diffractometer_hwobj.in_plate_mode())
             self.diffractometer_state_changed("Ready")
         else:
             self.setEnabled(False)
     elif property_name == 'showStop':
         if new_value:
             self.stop_button.show()
         else:
             self.stop_button.hide()
     elif property_name == 'defaultStep':
         if new_value != "":
             self.set_line_step(float(new_value))
             self.step_changed(None)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
 def propertyChanged(self, property_value, old_value, new_value):
     """
     Descript. :
     Args.     :
     Return.   : 
     """
     if property_value == 'mnemonic':
         if self.attenuators_hwobj is not None:
             self.disconnect(self.attenuators_hwobj, QtCore.SIGNAL('deviceReady'), self.connected)
             self.disconnect(self.attenuators_hwobj, QtCore.SIGNAL('deviceNotReady'), self.disconnected)
             self.disconnect(self.attenuators_hwobj, QtCore.SIGNAL('attStateChanged'), self.transmission_state_changed)
             self.disconnect(self.attenuators_hwobj, QtCore.SIGNAL('attFactorChanged'), self.transmission_value_changed)
         self.attenuators_hwobj = self.getHardwareObject(new_value)
         if self.attenuators_hwobj is not None:
             self.connect(self.attenuators_hwobj, QtCore.SIGNAL('deviceReady'), self.connected)
             self.connect(self.attenuators_hwobj, QtCore.SIGNAL('deviceNotReady'), self.disconnected)
             self.connect(self.attenuators_hwobj, QtCore.SIGNAL('attStateChanged'), self.transmission_state_changed)
             self.connect(self.attenuators_hwobj, QtCore.SIGNAL('attFactorChanged'), self.transmission_value_changed)
             if self.attenuators_hwobj.isReady():
                 self.connected()
                 self.attenuators_hwobj.update_values() 
             else:
                 self.disconnected()
         else:
             self.disconnected()
     else:
         BlissWidget.propertyChanged(self, property_value, old_value, new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         if self.beamline_test_hwobj is not None:
             self.disconnect(self.beamline_test_hwobj, 
                             QtCore.SIGNAL('testProgress'), 
                             self.update_test_progress)
             #self.disconnect(self.beamline_test_hwobj, 
             #                QtCore.SIGNAL('focModeChanged'), 
             #                self.update_focus_status)
             self.disconnect(self.beamline_test_hwobj, 
                             QtCore.SIGNAL('ppuStatusChanged'), 
                             self.update_ppu_status)
             self.disconnect(self.beamline_test_hwobj, 
                             QtCore.SIGNAL('testFinished'), 
                             self.test_finished)
         self.beamline_test_hwobj = self.getHardwareObject(new_value)
         if self.beamline_test_hwobj is not None:
             self.init_com_table()                
             self.init_test_queue()
             self.connect(self.beamline_test_hwobj, 
                          QtCore.SIGNAL('testProgress'), 
                          self.update_test_progress)
             #self.connect(self.beamline_test_hwobj, 
             #             QtCore.SIGNAL('focModeChanged'), 
             #             self.update_focus_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('ppuStatusChanged'),
                          self.update_ppu_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('testFinished'),
                          self.test_finished)
             #self.load_result_page()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#10
0
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         if self.beamline_test_hwobj is not None:
             self.disconnect(self.beamline_test_hwobj, 'testProgress',
                             self.update_test_progress)
             self.disconnect(self.beamline_test_hwobj,
                             'focusingModeChanged',
                             self.update_focus_status)
             self.disconnect(self.beamline_test_hwobj, 'ppuStatusChanged',
                             self.update_ppu_status)
             self.disconnect(self.beamline_test_hwobj, 'testFinished',
                             self.test_finished)
         self.beamline_test_hwobj = self.getHardwareObject(new_value)
         if self.beamline_test_hwobj is not None:
             self.init_com_table()
             self.init_test_queue()
             self.connect(self.beamline_test_hwobj, 'testProgress',
                          self.update_test_progress)
             self.connect(self.beamline_test_hwobj, 'focusingModeChanged',
                          self.update_focus_status)
             self.connect(self.beamline_test_hwobj, 'ppuStatusChanged',
                          self.update_ppu_status)
             self.connect(self.beamline_test_hwobj, 'testFinished',
                          self.test_finished)
             self.update_focus_status(None, None)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         if self.beamline_test_hwobj is not None:
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('testProgress'),
                             self.update_test_progress)
             #self.disconnect(self.beamline_test_hwobj,
             #                QtCore.SIGNAL('focModeChanged'),
             #                self.update_focus_status)
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('ppuStatusChanged'),
                             self.update_ppu_status)
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('testFinished'),
                             self.test_finished)
         self.beamline_test_hwobj = self.getHardwareObject(new_value)
         if self.beamline_test_hwobj is not None:
             self.init_com_table()
             self.init_test_queue()
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('testProgress'),
                          self.update_test_progress)
             #self.connect(self.beamline_test_hwobj,
             #             QtCore.SIGNAL('focModeChanged'),
             #             self.update_focus_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('ppuStatusChanged'),
                          self.update_ppu_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('testFinished'), self.test_finished)
             #self.load_result_page()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
示例#12
0
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'label':
         if new_value == "" and self.motor_hwobj is not None:
             self.label.setText("<i>" + self.motor_hwobj.username + ":</i>")
         else:
             self.label.setText(new_value)
     elif property_name == 'mnemonic':
         if self.motor_hwobj is not None:
             self.disconnect(self.motor_hwobj, 'stateChanged',
                             self.motor_state_changed)
             self.disconnect(self.motor_hwobj, 'newPredefinedPositions',
                             self.fill_positions)
             self.disconnect(self.motor_hwobj, 'predefinedPositionChanged',
                             self.predefined_position_changed)
         self.motor_hwobj = self.getHardwareObject(new_value)
         if self.motor_hwobj is not None:
             self.connect(self.motor_hwobj, 'newPredefinedPositions',
                          self.fill_positions)
             self.connect(self.motor_hwobj, 'stateChanged',
                          self.motor_state_changed)
             self.connect(self.motor_hwobj, 'predefinedPositionChanged',
                          self.predefined_position_changed)
             self.fill_positions()
             if self.motor_hwobj.is_ready():
                 if hasattr(self.motor_hwobj, "getCurrentPositionName"):
                     self.predefined_position_changed(
                         self.motor_hwobj.getCurrentPositionName(), 0)
                 else:
                     self.predefined_position_changed(
                         self.motor_hwobj.get_current_position_name(), 0)
             if self['label'] == "":
                 lbl = self.motor_hwobj.username
                 self.label.setText("<i>" + lbl + ":</i>")
             Qt4_widget_colors.set_widget_color(
                 self.positions_combo,
                 Qt4_MotorPredefPosBrick.STATE_COLORS[0], QPalette.Button)
             #TODO remove this check
             if hasattr(self.motor_hwobj, "getState"):
                 self.motor_state_changed(self.motor_hwobj.getState())
             else:
                 self.motor_state_changed(self.motor_hwobj.get_state())
     elif property_name == 'showMoveButtons':
         if new_value:
             self.previous_position_button.show()
             self.next_position_button.show()
         else:
             self.previous_position_button.hide()
             self.next_position_button.hide()
     elif property_name == 'icons':
         icons_list = new_value.split()
         try:
             self.previous_position_button.setIcon(\
                 Qt4_Icons.load_icon(icons_list[0]))
             self.next_position_button.setIcon(\
                 Qt4_Icons.load_icon(icons_list[1]))
         except:
             pass
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
示例#13
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == 'mnemonic':
            if self.mach_info_hwobj is not None:
                self.disconnect(self.mach_info_hwobj, QtCore.SIGNAL('valuesChanged'), self.set_value)
                self.disconnect(self.mach_info_hwobj, QtCore.SIGNAL('inRangeChanged'), self.set_color)
                self.disconnect(self.mach_info_hwobj, QtCore.SIGNAL('tempHumChanged'), self.temp_hum_changed)

            self.mach_info_hwobj = self.getHardwareObject(new_value)
            if self.mach_info_hwobj is not None:
                self.setEnabled(True)
                self.connect(self.mach_info_hwobj, QtCore.SIGNAL('valuesChanged'), self.set_value)
                self.connect(self.mach_info_hwobj, QtCore.SIGNAL('inRangeChanged'), self.set_color)
                self.connect(self.mach_info_hwobj, QtCore.SIGNAL('tempHumChanged'), self.temp_hum_changed)
                if self.mach_info_hwobj.has_cryo() is False:
                    self.cryo_label.hide()
                    self.cryo_value_label.hide()
                self.mach_info_hwobj.update_values() 
            else:
                self.setEnabled(False)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#14
0
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'mnemonic':
            if self.slitbox_hwobj is not None:
                self.disconnect(self.slitbox_hwobj, 'gapSizeChanged',
                                self.gap_value_changed)
                self.disconnect(self.slitbox_hwobj, 'statusChanged',
                                self.gap_status_changed)
                self.disconnect(self.slitbox_hwobj, 'focusModeChanged',
                                self.focus_mode_changed)
                self.disconnect(self.slitbox_hwobj, 'gapLimitsChanged',
                                self.gap_limits_changed)
            self.slitbox_hwobj = self.getHardwareObject(new_value)
            if self.slitbox_hwobj is not None:
                self.connect(self.slitbox_hwobj, 'gapSizeChanged',
                             self.gap_value_changed)
                self.connect(self.slitbox_hwobj, 'statusChanged',
                             self.gap_status_changed)
                self.connect(self.slitbox_hwobj, 'focusModeChanged',
                             self.focus_mode_changed)
                self.connect(self.slitbox_hwobj, 'gapLimitsChanged',
                             self.gap_limits_changed)

                self.slitbox_hwobj.update_values()
                self.slitBoxReady()
            else:
                self.slitBoxNotReady()
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'mnemonic':
            if self.image_tracking_hwobj is not None:
                self.disconnect(self.image_tracking_hwobj,
                                'imageTrackingStateChanged',
                                self.image_tracking_state_changed)
                self.disconnect(self.image_tracking_hwobj, 
                                'stateChanged', 
                                self.state_changed)
            self.image_tracking_hwobj = self.getHardwareObject(new_value)
            if self.image_tracking_hwobj is not None:
                self.image_tracking_cbox.blockSignals(True)
                self.image_tracking_cbox.setChecked(\
                     self.image_tracking_hwobj.is_tracking_enabled() == True)
                self.image_tracking_cbox.blockSignals(False)
                self.connect(self.image_tracking_hwobj,
                             'imageTrackingStateChanged',
                             self.image_tracking_state_changed)
                self.connect(self.image_tracking_hwobj, 
                             'stateChanged', 
                             self.state_changed)
                self.image_tracking_hwobj.update_values()
                self.setEnabled(True)
            else:
                self.setEnabled(False)

        else:
            BlissWidget.propertyChanged(self,property_name, old_value, new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == 'mnemonic':
            if self.light_ho is not None:
                self.disconnect(self.light_ho, QtCore.SIGNAL('levelChanged'),
                                self.level_changed)
                self.disconnect(self.light_ho, QtCore.SIGNAL('stateChanged'),
                                self.state_changed)

            self.light_ho = self.getHardwareObject(new_value)

            if self.light_ho is not None:
                self.setEnabled(True)
                self.connect(self.light_ho, QtCore.SIGNAL('levelChanged'),
                             self.level_changed)
                self.connect(self.light_ho, QtCore.SIGNAL('stateChanged'),
                             self.state_changed)
                self.light_ho.update_values()
                self.setToolTip(
                    "Control of %s (light level and on/off switch." %
                    self.light_ho.getUserName())
                self.set_level_limits(self.light_ho.getLimits())
                self.set_label(self.light_ho.getUserName())
            else:
                self.setEnabled(False)
        elif property_name == 'icons':
            self.set_icons(new_value)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         self.exporter_client_hwobj = self.getHardwareObject(new_value)
         if self.exporter_client_hwobj is not None:
             self.init_tables()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         if self.beamstop_hwobj is not None:
             self.disconnect(self.beamstop_hwobj,
                             'deviceReady',
                             self.connected)
             self.disconnect(self.beamstop_hwobj,
                             'deviceNotReady',
                             self.disconnected)
             self.disconnect(self.beamstop_hwobj,
                             'beamstopDistanceChanged',
                             self.beamstop_distance_changed)
         self.beamstop_hwobj = self.getHardwareObject(new_value)
         if self.beamstop_hwobj is not None:
             self.connect(self.beamstop_hwobj,
                          'deviceReady',
                          self.connected)
             self.connect(self.beamstop_hwobj,
                          'deviceNotReady',
                          self.disconnected)
             self.connect(self.beamstop_hwobj,
                          'beamstopDistanceChanged',
                          self.beamstop_distance_changed)
             if self.beamstop_hwobj.isReady():
                 self.connected()
                 self.beamstop_hwobj.update_values()
             else:
                 self.disconnected()
         else:
             self.disconnected()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#19
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == 'hwobj_mach_info':
            if self.mach_info_hwobj is not None:
                self.disconnect(self.mach_info_hwobj, 'valuesChanged',
                                self.set_value)
            self.mach_info_hwobj = self.getHardwareObject(new_value)
            if self.mach_info_hwobj is not None:
                self.setEnabled(True)
                self.connect(self.mach_info_hwobj, 'valuesChanged',
                             self.set_value)
                self.mach_info_hwobj.update_values()
            else:
                self.setEnabled(False)

        if property_name == 'showDiskSize':
            if new_value:
                self.disc_label = QtGui.QLabel("Storage disc space", self)
                self.disc_value_label = QtGui.QLabel(self)
                self.main_vlayout.addWidget(self.disc_label)
                self.main_vlayout.addWidget(self.disc_value_label)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         if self.diffractometer_hwobj is not None:
             self.disconnect(self.diffractometer_hwobj, "kappaMotorMoved",
                             self.kappa_motor_moved)
             self.disconnect(self.diffractometer_hwobj,
                             "kappaPhiMotorMoved",
                             self.kappaphi_motor_moved)
             self.disconnect(self.diffractometer_hwobj,
                             "minidiffStatusChanged",
                             self.diffractometer_state_changed)
         self.diffractometer_hwobj = self.getHardwareObject(new_value)
         if self.diffractometer_hwobj is not None:
             self.connect(self.diffractometer_hwobj, "kappaMotorMoved",
                          self.kappa_motor_moved)
             self.connect(self.diffractometer_hwobj, "kappaPhiMotorMoved",
                          self.kappaphi_motor_moved)
             self.connect(self.diffractometer_hwobj,
                          "minidiffStatusChanged",
                          self.diffractometer_state_changed)
             self.diffractometer_state_changed("Ready")
         else:
             self.setEnabled(False)
     elif property_name == 'showStop':
         if new_value:
             self.stop_button.show()
         else:
             self.stop_button.hide()
     elif property_name == 'defaultStep':
         if new_value != "":
             self.set_line_step(float(new_value))
             self.step_changed(None)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
示例#21
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     """
     if property_name == "mnemonic":
         self.tools_hwobj = self.getHardwareObject(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#22
0
 def propertyChanged(self, property, oldValue, newValue):
     """
     Descript. :
     """
     if property == "mnemonic":
         if self.graphics_manager_hwobj is not None:
             self.disconnect(self.graphics_manager_hwobj,
                             QtCore.SIGNAL("shapeCreated"),
                             self.shape_created)
             self.disconnect(self.graphics_manager_hwobj,
                             QtCore.SIGNAL("shapeDeleted"),
                             self.shape_deleted)
             self.disconnect(self.graphics_manager_hwobj,
                             QtCore.SIGNAL("shapeSelected"),
                             self.shape_selected)
             self.disconnect(self.graphics_manager_hwobj,
                             QtCore.SIGNAL("centringInProgress"),
                             self.centring_in_progress_changed)
         self.graphics_manager_hwobj = self.getHardwareObject(newValue)
         if self.graphics_manager_hwobj is not None:
             self.connect(self.graphics_manager_hwobj,
                          QtCore.SIGNAL("shapeCreated"), self.shape_created)
             self.connect(self.graphics_manager_hwobj,
                          QtCore.SIGNAL("shapeDeleted"), self.shape_deleted)
             self.connect(self.graphics_manager_hwobj,
                          QtCore.SIGNAL("shapeSelected"),
                          self.shape_selected)
             self.connect(self.graphics_manager_hwobj,
                          QtCore.SIGNAL("centringInProgress"),
                          self.centring_in_progress_changed)
         else:
             self.setEnabled(False)
     else:
         BlissWidget.propertyChanged(self, property, oldValue, newValue)
示例#23
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == "mnemonic":
            if self.light_ho is not None:
                self.disconnect(self.light_ho, QtCore.SIGNAL("levelChanged"), self.level_changed)
                self.disconnect(self.light_ho, QtCore.SIGNAL("stateChanged"), self.state_changed)

            self.light_ho = self.getHardwareObject(new_value)

            if self.light_ho is not None:
                self.setEnabled(True)
                self.connect(self.light_ho, QtCore.SIGNAL("levelChanged"), self.level_changed)
                self.connect(self.light_ho, QtCore.SIGNAL("stateChanged"), self.state_changed)
                self.light_ho.update_values()
                self.setToolTip("Control of %s (light level and on/off switch." % self.light_ho.getUserName())
                self.set_level_limits(self.light_ho.getLimits())
                self.set_label(self.light_ho.getUserName())
            else:
                self.setEnabled(False)
        elif property_name == "icons":
            self.set_icons(new_value)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#24
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         if self.crl_hwobj:
             self.disconnect(self.crl_hwobj, 'crlModeChanged', self.crl_mode_changed)
             self.disconnect(self.crl_hwobj, 'crlValueChanged', self.crl_value_changed)
         self.crl_hwobj = self.getHardwareObject(new_value)
         if self.crl_hwobj:
             self.connect(self.crl_hwobj, 'crlModeChanged', self.crl_mode_changed)
             self.connect(self.crl_hwobj, 'crlValueChanged', self.crl_value_changed)
             self.crl_hwobj.update_values()
     elif property_name == 'beamAlign':
         self.beam_align_hwobj = self.getHardwareObject(new_value)
     elif property_name == 'lenseCount':
         self.crl_value_table.setColumnCount(new_value)
         for col_index in range(new_value):
             temp_item = QtGui.QTableWidgetItem("")
             temp_item.setFlags(QtCore.Qt.ItemIsEnabled)
             temp_item.setBackground(Qt4_widget_colors.LIGHT_GRAY)
             self.crl_value_table.setItem(0, col_index, temp_item)
             self.crl_value_table.setColumnWidth(col_index, 20)
             self.crl_value.append(0)
         self.crl_value_table.setFixedWidth(20 * new_value + 6)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#25
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         if self.crl_hwobj:
             self.disconnect(self.crl_hwobj, 'crlModeChanged',
                             self.crl_mode_changed)
             self.disconnect(self.crl_hwobj, 'crlValueChanged',
                             self.crl_value_changed)
         self.crl_hwobj = self.getHardwareObject(new_value)
         if self.crl_hwobj:
             crl_modes = self.crl_hwobj.get_modes()
             for crl_mode in crl_modes:
                 self.mode_combo.addItem(crl_mode)
             self.connect(self.crl_hwobj, 'crlModeChanged',
                          self.crl_mode_changed)
             self.connect(self.crl_hwobj, 'crlValueChanged',
                          self.crl_value_changed)
             self.crl_hwobj.update_values()
     elif property_name == 'lenseCount':
         self.crl_value_table.setColumnCount(new_value)
         for col_index in range(new_value):
             temp_item = QTableWidgetItem("")
             temp_item.setFlags(Qt.ItemIsEnabled)
             temp_item.setBackground(Qt4_widget_colors.LIGHT_GRAY)
             self.crl_value_table.setItem(0, col_index, temp_item)
             self.crl_value_table.setColumnWidth(col_index, 20)
             self.crl_value.append(0)
         self.crl_value_table.setFixedWidth(20 * new_value + 6)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         if self.beamstop_hwobj is not None:
             self.disconnect(self.beamstop_hwobj,
                             'deviceReady',
                             self.connected)
             self.disconnect(self.beamstop_hwobj,
                             'deviceNotReady',
                             self.disconnected)
             self.disconnect(self.beamstop_hwobj,
                             'beamstopDistanceChanged',
                             self.beamstop_distance_changed)
         self.beamstop_hwobj = self.getHardwareObject(new_value)
         if self.beamstop_hwobj is not None:
             self.connect(self.beamstop_hwobj,
                          'deviceReady',
                          self.connected)
             self.connect(self.beamstop_hwobj,
                          'deviceNotReady',
                          self.disconnected)
             self.connect(self.beamstop_hwobj,
                          'beamstopDistanceChanged',
                          self.beamstop_distance_changed)
             if self.beamstop_hwobj.isReady():
                 self.connected()
                 self.beamstop_hwobj.update_values()
             else:
                 self.disconnected()
         else:
             self.disconnected()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#27
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. : Event triggered when user property changed in the property
                    editor. 
        Args.     : property_name (string), old_value, new_value
        Return.   : None
        """
        if property_name == 'mnemonic':
            if self.energy_hwobj is not None:
                self.disconnect(self.energy_hwobj, QtCore.SIGNAL('deviceReady'), self.connected)
                self.disconnect(self.energy_hwobj, QtCore.SIGNAL('deviceNotReady'), self.disconnected)
                self.disconnect(self.energy_hwobj, QtCore.SIGNAL('energyChanged'), self.energy_changed)
            self.energy_hwobj = self.getHardwareObject(new_value)
            if self.energy_hwobj is not None:
                self.set_new_value_limits()
                self.connect(self.energy_hwobj, QtCore.SIGNAL('deviceReady'), self.connected)
                self.connect(self.energy_hwobj, QtCore.SIGNAL('deviceNotReady'), self.disconnected)
                self.connect(self.energy_hwobj, QtCore.SIGNAL('energyChanged'), self.energy_changed)
                self.energy_hwobj.update_values() 
                if self.energy_hwobj.isReady():
                    self.connected()
                else:
                    self.disconnected()
            else:
                self.disconnected()
        elif property_name == 'defaultMode':
            if new_value == "keV":
                self.units_combobox.setCurrentIndex(0)
            else:
                self.units_combobox.setCurrentIndex(1)

        elif property_name == 'alwaysReadonly':
            pass
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#28
0
 def propertyChanged(self, property_name, old_value, new_value):
     """Defines behaviour of the brick"""
     if property_name == "mnemonic":
         self.tools_hwobj = self.getHardwareObject(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
示例#29
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         if self.crl_hwobj:
             self.disconnect(self.crl_hwobj, 'crlValueChanged',
                             self.crl_value_changed)
         self.crl_hwobj = self.getHardwareObject(new_value)
         if self.crl_hwobj:
             self.connect(self.crl_hwobj, 'crlValueChanged',
                          self.crl_value_changed)
     if property_name == 'focusing':
         if self.focusing_hwobj:
             self.disconnect(self.focusing_hwobj, 'definerPosChanged',
                             self.focusing_mode_changed)
         self.focusing_hwobj = self.getHardwareObject(new_value)
         if self.focusing_hwobj:
             self.connect(self.focusing_hwobj, 'definerPosChanged',
                          self.focusing_mode_changed)
             self.focusing_mode_changed(
                 self.focusing_hwobj.get_focus_mode())
     elif property_name == 'lenseCount':
         self.crl_value_table.setColumnCount(new_value)
         for col_index in range(new_value):
             temp_item = QtGui.QTableWidgetItem("")
             temp_item.setFlags(QtCore.Qt.ItemIsEnabled)
             temp_item.setBackground(Qt4_widget_colors.LIGHT_GRAY)
             self.crl_value_table.setItem(0, col_index, temp_item)
             self.crl_value_table.setColumnWidth(col_index, 20)
             self.crl_value.append(0)
         self.crl_value_table.setFixedWidth(20 * new_value + 6)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'hwobj_beamline_setup':
            if self.parallel_processing_hwobj is not None:
                self.parallel_processing_hwobj.disconnect("processingFinished",
                                                          self.processing_finished)
                self.parallel_processing_hwobj.disconnect("processingFailed",
                                                          self.processing_failed)
                self.parallel_processing_hwobj.disconnect("processingFrame",
                                                          self.processing_frame_changed)
                self.parallel_processing_hwobj.disconnect("paralleProcessingResults",
                                                          self.set_results)

            self.beamline_setup_hwobj = self.getHardwareObject(new_value)
            self.parallel_processing_hwobj = self.beamline_setup_hwobj.parallel_processing_hwobj

            if self.parallel_processing_hwobj is not None:
                self.parallel_processing_hwobj.connect("processingFinished",
                                                       self.processing_finished)
                self.parallel_processing_hwobj.connect("processingFailed",
                                                       self.processing_failed)
                self.parallel_processing_hwobj.connect("processingFrame",
                                                       self.processing_frame_changed)
                self.parallel_processing_hwobj.connect("paralleProcessingResults",
                                                       self.set_results)

                for grid_property in self.parallel_processing_hwobj.get_available_grid_properties():
                    self.grid_properties_combo.addItem(str(grid_property))
                self.grid_properties_combo.blockSignals(True)
                self.grid_properties_combo.setCurrentIndex(0)
                self.grid_properties_combo.blockSignals(False)
                self.init_gui()
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#31
0
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'mnemonic':
            if self.slitbox_hwobj is not None:
                self.disconnect(self.slitbox_hwobj, 'valueChanged',
                                self.gap_value_changed)
                self.disconnect(self.slitbox_hwobj, 'statusChanged',
                                self.gap_status_changed)
                self.disconnect(self.slitbox_hwobj, 'focusModeChanged',
                                self.focus_mode_changed)
                self.disconnect(self.slitbox_hwobj, 'minLimitsChanged',
                                self.min_limits_changed)
                self.disconnect(self.slitbox_hwobj, 'maxLimitsChanged',
                                self.max_limits_changed)
            self.slitbox_hwobj = self.getHardwareObject(new_value)
            if self.slitbox_hwobj is not None:
                self.connect(self.slitbox_hwobj, 'valueChanged',
                             self.gap_value_changed)
                self.connect(self.slitbox_hwobj, 'statusChanged',
                             self.gap_status_changed)
                self.connect(self.slitbox_hwobj, 'focusModeChanged',
                             self.focus_mode_changed)
                self.connect(self.slitbox_hwobj, 'minLimitsChanged',
                             self.min_limits_changed)
                self.connect(self.slitbox_hwobj, 'maxLimitsChanged',
                             self.max_limits_changed)

                self.main_gbox.setEnabled(True)
                self.initiate_spinboxes()
                self.slitbox_hwobj.update_values()
            else:
                self.main_gbox.setEnabled(False)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'mnemonic':
            if self.image_tracking_hwobj is not None:
                self.disconnect(self.image_tracking_hwobj,
                                'imageTrackingEnabledChanged',
                                self.image_tracking_enabled_changed)
                self.disconnect(self.image_tracking_hwobj, 'stateChanged',
                                self.state_changed)
            self.image_tracking_hwobj = self.getHardwareObject(new_value)
            if self.image_tracking_hwobj is not None:
                self.image_tracking_cbox.blockSignals(True)
                self.image_tracking_cbox.setChecked(\
                     self.image_tracking_hwobj.is_tracking_enabled() == True)
                self.image_tracking_cbox.blockSignals(False)
                self.connect(self.image_tracking_hwobj,
                             'imageTrackingEnabledChanged',
                             self.image_tracking_enabled_changed)
                self.connect(self.image_tracking_hwobj, 'stateChanged',
                             self.state_changed)
                self.image_tracking_hwobj.update_values()
                self.setEnabled(True)
            else:
                self.setEnabled(False)

        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
示例#33
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'ldapServer':
         self.ldap_connection_hwobj = self.getHardwareObject(new_value)
     elif property_name == 'codes':
         self.setCodes(new_value)
     elif property_name == 'localLogin':
         self.local_login_hwobj = self.getHardwareObject(new_value)
     elif property_name == 'dbConnection':
         self.lims_hwobj = self.getHardwareObject(new_value)
     elif property_name == 'instanceServer':
         if self.instanceServer is not None:
             self.disconnect(self.instanceServer, QtCore.SIGNAL('passControl'), self.passControl)
             self.disconnect(self.instanceServer, QtCore.SIGNAL('haveControl'), self.haveControl)
         self.instanceServer = self.getHardwareObject(new_value)
         if self.instanceServer is not None:
             self.connect(self.instanceServer, QtCore.SIGNAL('passControl'), self.passControl)
             self.connect(self.instanceServer, QtCore.SIGNAL('haveControl'), self.haveControl)
     elif property_name == 'icons':
         icons_list = new_value.split()
         try:
             self.login_button.setIcon(QtGui.QIcon(Qt4_Icons.load(icons_list[0])))
         except IndexError:
             pass
         try:
             self.logout_button.setIcon(QtGui.QIcon(Qt4_Icons.load(icons_list[1])))
         except IndexError:
             pass
     elif property_name == 'session':
         self.session_hwobj = self.getHardwareObject(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#34
0
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         if self.beamline_test_hwobj is not None:
             self.disconnect(self.beamline_test_hwobj, 
                             'testProgress', 
                             self.update_test_progress)
             self.disconnect(self.beamline_test_hwobj, 
                             'focusingModeChanged', 
                             self.update_focus_status)
             self.disconnect(self.beamline_test_hwobj, 
                             'ppuStatusChanged', 
                             self.update_ppu_status)
             self.disconnect(self.beamline_test_hwobj, 
                             'testFinished', 
                             self.test_finished)
         self.beamline_test_hwobj = self.getHardwareObject(new_value)
         if self.beamline_test_hwobj is not None:
             self.init_com_table()                
             self.init_test_queue()
             self.connect(self.beamline_test_hwobj, 
                          'testProgress', 
                          self.update_test_progress)
             self.connect(self.beamline_test_hwobj, 
                          'focusingModeChanged', 
                          self.update_focus_status)
             self.connect(self.beamline_test_hwobj,
                          'ppuStatusChanged',
                          self.update_ppu_status)
             self.connect(self.beamline_test_hwobj,
                          'testFinished',
                          self.test_finished)
             self.update_focus_status(None, None)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. : Event triggered when user property changed in the property
                    editor. 
        Args.     : property_name (string), old_value, new_value
        Return.   : None
        """
        if property_name == 'mnemonic':
            if self.light_hwobj is not None:
                self.disconnect(self.light_hwobj, QtCore.SIGNAL('intensityChanged'), self.intensity_changed)
            self.light_hwobj = self.getHardwareObject(new_value)
            if self.light_hwobj is not None:
                self.connect(self.light_hwobj, QtCore.SIGNAL('intensityChanged'), self.intensity_changed)

                if self.light_hwobj.isReady():
                    self.connected()
                else:
                    self.disconnected()
            else:
                self.disconnected()
        elif property_name == 'label':
            self.group_box.setTitle(new_value)
        elif property_name == 'minimum':
            self.intensity_spinbox.setMinimum(new_value)
        elif property_name == 'maximum':
            self.intensity_spinbox.setMaximum(new_value)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        if property_name == 'mnemonic':
            if self.actuator_hwo is not None:
                self.disconnect(self.actuator_hwo, QtCore.SIGNAL('stateChanged'), self.state_changed)

            self.actuator_hwo = self.getHardwareObject(new_value)
            if self.actuator_hwo is not None:
                self.setEnabled(True)
                self.connect(self.actuator_hwo, QtCore.SIGNAL('stateChanged'), self.state_changed)
                self.actuator_hwo.update_values()
                logging.getLogger("HWR").info("User Name is: %s" % self.actuator_hwo.getUserName())
                self.widget.actuatorBox.setTitle(self.actuator_hwo.getUserName())
            else:
                self.setEnabled(False)
        elif property_name == 'in_cmd_name':
            self.widget.cmdInButton.setText(new_value)
        elif property_name == 'out_cmd_name':
            self.widget.cmdOutButton.setText(new_value)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#37
0
 def propertyChanged(self, propertyName, oldValue, newValue):
     if propertyName == 'icons':
         icons_list = newValue.split()
     elif propertyName == 'mnemonic':
         if self.beamline_test_hwobj is not None:
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('deviceCommunicationTested'),
                             self.update_com_status)
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('focModeChanged'),
                             self.update_focus_status)
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('ppuStatusChanged'),
                             self.update_ppu_status)
             self.disconnect(self.beamline_test_hwobj,
                             QtCore.SIGNAL('testFinished'),
                             self.test_finished)
         self.beamline_test_hwobj = self.getHardwareObject(newValue)
         if self.beamline_test_hwobj is not None:
             self.init_com_table()
             self.init_test_queue()
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('deviceCommunicationTested'),
                          self.update_com_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('focModeChanged'),
                          self.update_focus_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('ppuStatusChanged'),
                          self.update_ppu_status)
             self.connect(self.beamline_test_hwobj,
                          QtCore.SIGNAL('testFinished'), self.test_finished)
     else:
         BlissWidget.propertyChanged(self, propertyName, oldValue, newValue)
    def propertyChanged(self,propertyName,oldValue,newValue):
        if propertyName=='label':
            if newValue=="" and self.motor_hwobj is not None:
                self.label.setText("<i>"+self.motor_hwobj.username+":</i>")
                tip=self.motor_hwobj.username
            else:
                self.label.setText(newValue)
                tip=newValue
        elif propertyName=='mnemonic':
            if self.motor_hwobj is not None:
                self.disconnect(self.motor_hwobj, QtCore.SIGNAL('stateChanged'), self.motorStateChanged)
                self.disconnect(self.motor_hwobj, QtCore.SIGNAL('newPredefinedPositions'), self.fillPositions)
                self.disconnect(self.motor_hwobj, QtCore.SIGNAL('predefinedPositionChanged'), self.predefinedPositionChanged)
            self.motor_hwobj = self.getHardwareObject(newValue)
            if self.motor_hwobj is not None:
                self.connect(self.motor_hwobj, QtCore.SIGNAL('newPredefinedPositions'), self.fillPositions)
                self.connect(self.motor_hwobj, QtCore.SIGNAL('stateChanged'), self.motorStateChanged)
                self.connect(self.motor_hwobj, QtCore.SIGNAL('predefinedPositionChanged'), self.predefinedPositionChanged)

                self.fillPositions()

                if self.motor_hwobj.isReady():
                    self.predefinedPositionChanged(self.motor_hwobj.getCurrentPositionName(), 0)

                if self['label']=="":
                    lbl=self.motor_hwobj.username
                    self.label.setText("<i>"+lbl+":</i>")
                Qt4_widget_colors.set_widget_color(self.positions_combo,
                                                   Qt4_MotorPredefPosBrick.STATE_COLORS[0],
                                                   QtGui.QPalette.Button)
                self.motorStateChanged(self.motor_hwobj.getState())
        elif propertyName=='listIndex':
            self.fillPositions()
        else:
            BlissWidget.propertyChanged(self,propertyName,oldValue,newValue)
示例#39
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. : Event triggered when user property changed in the property
                 editor. 
     Args.     : property_name (string), old_value, new_value
     Return    : None
     """
     if property_name == "graphicsManager":
         if self.graphics_manager_hwobj:  
             self.disconnect(self.graphics_manager_hwobj, QtCore.SIGNAL('centringStarted'), self.centring_started)
             self.disconnect(self.graphics_manager_hwobj, QtCore.SIGNAL('centringFailed'), self.centring_failed)
             self.disconnect(self.graphics_manager_hwobj, QtCore.SIGNAL('centringSuccessful'), self.centring_successful)
             self.disconnect(self.graphics_manager_hwobj, QtCore.SIGNAL('minidiffReady'), self.diffractometer_ready_changed)
         self.graphics_manager_hwobj = self.getHardwareObject(new_value) 
         if self.graphics_manager_hwobj:
             self.connect(self.graphics_manager_hwobj, QtCore.SIGNAL('centringStarted'), self.centring_started)
             self.connect(self.graphics_manager_hwobj, QtCore.SIGNAL('centringFailed'), self.centring_failed)
             self.connect(self.graphics_manager_hwobj, QtCore.SIGNAL('centringSuccessful'), self.centring_successful)
             self.connect(self.graphics_manager_hwobj, QtCore.SIGNAL('minidiffReady'), self.diffractometer_ready_changed)
     elif property_name == "collection":
         self.collect_hwobj = self.getHardwareObject(new_value)
     elif property_name == "enableAutoFocus":
         self.auto_focus_button.setVisible(new_value) 
     elif property_name == "enableRefreshCamera":
         self.refresh_camera_button.setVisible(new_value)
     elif property_name == "enableVisualAlign":
         self.visual_align_button.setVisible(new_value)
     elif property_name == "enableAutoCenter":
         self.auto_center_button.setVisible(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#40
0
 def propertyChanged(self, propertyName, oldValue, newValue):
     """
     Descript. :
     """
     if propertyName == 'mnemonic':
         self.plate_manipulator_hwobj = self.getHardwareObject(newValue)
     else:
         BlissWidget.propertyChanged(self, propertyName, oldValue, newValue)
示例#41
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         self.beam_align_hwobj = self.getHardwareObject(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'mnemonic':
         self.exporter_client_hwobj = self.getHardwareObject(new_value)
         if self.exporter_client_hwobj is not None:
             self.init_tables()
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
示例#43
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == 'mnemonic':
         self.beam_align_hwobj = self.getHardwareObject(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value,
                                     new_value)
示例#44
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     Args.     :
     Return.   : 
     """
     if property_name == "mnemonic":
         if self.graphics_manager_hwobj is not None:
             self.disconnect(self.graphics_manager_hwobj, 
                             'mouseMoved',  
                             self.mouse_moved)
             self.disconnect(self.graphics_manager_hwobj,
                             'imageScaleChanged',        
                             self.image_scaled)
             self.disconnect(self.graphics_manager_hwobj,
                             'infoMsg',
                             self.set_info_msg)
         self.graphics_manager_hwobj = self.getHardwareObject(new_value)
         if self.graphics_manager_hwobj is not None:
             self.connect(self.graphics_manager_hwobj, 
                          'mouseMoved', 
                          self.mouse_moved)
             self.connect(self.graphics_manager_hwobj,
                          'imageScaleChanged',
                          self.image_scaled)
             self.connect(self.graphics_manager_hwobj,
                          'infoMsg',
                          self.set_info_msg)
             self.graphics_view = self.graphics_manager_hwobj.get_graphics_view()
             #self.graphics_camera_frame = self.graphics_manager_hwobj.get_camera_frame() 
             self.main_layout.addWidget(self.graphics_view) 
             self.main_layout.addWidget(self.info_widget)
             self.set_fixed_size()
             self.init_image_scale_list()
             if hasattr(self.graphics_manager_hwobj, "camera_hwobj"):
                 self.camera_control_dialog.set_camera_hwobj(\
                      self.graphics_manager_hwobj.camera_hwobj)
     elif property_name == 'fixedSize':
         try:
             fixed_size = list(map(int, new_value.split()))
             if len(fixed_size) == 2:
                 self.fixed_size = fixed_size
                 self.set_fixed_size()
         except:
             pass 
     elif property_name == 'displayBeam':              
         self.display_beam = new_value
     elif property_name == 'displayScale':
         self.display_scale = new_value
         if self.graphics_manager_hwobj is not None:
             self.graphics_manager_hwobj.set_scale_visible(new_value)
     elif property_name == 'beamDefiner':
          self.define_beam_action.setEnabled(new_value) 
     elif property_name == 'cameraControls':
          self.camera_control_action.setEnabled(new_value) 
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#45
0
 def propertyChanged(self,propertyName,oldValue,newValue):
     if propertyName=='specstate':
         if self.specStateHO is not None:
             self.disconnect(self.specStateHO,'specStateChanged',self.specStateChanged)
         self.specStateHO=self.getHardwareObject(newValue)
         if self.specStateHO is not None:
             self.connect(self.specStateHO,'specStateChanged',self.specStateChanged)
     else:
         BlissWidget.propertyChanged(self,propertyName,oldValue,newValue)
示例#46
0
 def propertyChanged(self,propertyName,oldValue,newValue):
     if propertyName=='specstate':
         if self.specStateHO is not None:
             self.disconnect(self.specStateHO,'specStateChanged',self.specStateChanged)
         self.specStateHO=self.getHardwareObject(newValue)
         if self.specStateHO is not None:
             self.connect(self.specStateHO,'specStateChanged',self.specStateChanged)
     else:
         BlissWidget.propertyChanged(self,propertyName,oldValue,newValue)
示例#47
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     Args.     :
     Return.   : 
     """
     if property_name == "mnemonic":
         if self.graphics_manager_hwobj is not None:
             self.disconnect(self.graphics_manager_hwobj, 
                             'mouseMoved',  
                             self.mouse_moved)
             self.disconnect(self.graphics_manager_hwobj,
                             'imageScaleChanged',        
                             self.image_scaled)
             self.disconnect(self.graphics_manager_hwobj,
                             'infoMsg',
                             self.set_info_msg)
         self.graphics_manager_hwobj = self.getHardwareObject(new_value)
         if self.graphics_manager_hwobj is not None:
             self.connect(self.graphics_manager_hwobj, 
                          'mouseMoved', 
                          self.mouse_moved)
             self.connect(self.graphics_manager_hwobj,
                          'imageScaleChanged',
                          self.image_scaled)
             self.connect(self.graphics_manager_hwobj,
                          'infoMsg',
                          self.set_info_msg)
             self.graphics_view = self.graphics_manager_hwobj.get_graphics_view()
             #self.graphics_camera_frame = self.graphics_manager_hwobj.get_camera_frame() 
             self.main_layout.addWidget(self.graphics_view) 
             self.main_layout.addWidget(self.info_widget)
             self.set_fixed_size()
             self.init_image_scale_list()
             self.camera_control_dialog.set_camera_hwobj(\
                  self.graphics_manager_hwobj.camera_hwobj)
     elif property_name == 'fixedSize':
         try:
             fixed_size = list(map(int, new_value.split()))
             if len(fixed_size) == 2:
                 self.fixed_size = fixed_size
                 self.set_fixed_size()
         except:
             pass 
     elif property_name == 'displayBeam':              
         self.display_beam = new_value
     elif property_name == 'displayScale':
         self.display_scale = new_value
         if self.graphics_manager_hwobj is not None:
             self.graphics_manager_hwobj.set_scale_visible(new_value)
     elif property_name == 'beamDefiner':
          self.define_beam_action.setEnabled(new_value) 
     elif property_name == 'cameraControls':
          self.camera_control_action.setEnabled(new_value) 
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#48
0
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'mnemonic':
            hwobj_names_list = new_value.split()
            for hwobj_name in hwobj_names_list:
                temp_motor_hwobj = self.getHardwareObject(hwobj_name)
                temp_motor_widget = Qt4_MotorSpinBoxBrick(self)
                temp_motor_widget.set_motor(temp_motor_hwobj, hwobj_name)
                temp_motor_widget.move_left_button.setVisible(
                    self['showMoveButtons'])
                temp_motor_widget.move_right_button.setVisible(
                    self['showMoveButtons'])
                temp_motor_widget.step_button.setVisible(self['showStep'])
                temp_motor_widget.stop_button.setVisible(self['showStop'])
                temp_motor_widget.set_line_step(self['defaultStep'])
                temp_motor_widget['defaultStep'] = self['defaultStep']
                temp_motor_widget['delta'] = self['delta']
                temp_motor_widget.step_changed(None)
                self.main_groupbox_hlayout.addWidget(temp_motor_widget)

                self.motor_hwobj_list.append(temp_motor_hwobj)
                self.motor_widget_list.append(temp_motor_widget)

            self.enable_motors_buttons.setVisible(self['showEnableButtons'])
            self.disable_motors_buttons.setVisible(self['showEnableButtons'])
            if self['showEnableButtons']:
                self.main_groupbox_hlayout.addWidget(
                    self.enable_motors_buttons)
                self.main_groupbox_hlayout.addWidget(
                    self.disable_motors_buttons)
            if len(self.motor_widget_labels):
                for index, label in enumerate(self.motor_widget_labels):
                    self.motor_widget_list[index].setLabel(label)
        elif property_name == 'moveButtonIcons':
            icon_list = new_value.split()
            for index in range(len(icon_list) - 1):
                if index % 2 == 0:
                    self.motor_widget_list[index / 2].move_left_button.setIcon(\
                         Qt4_Icons.load_icon(icon_list[index]))
                    self.motor_widget_list[index / 2].move_right_button.setIcon(\
                         Qt4_Icons.load_icon(icon_list[index + 1]))
        elif property_name == 'labels':
            self.motor_widget_labels = new_value.split()
            if len(self.motor_widget_list):
                for index, label in enumerate(self.motor_widget_labels):
                    self.motor_widget_list[index].setLabel(label)
        elif property_name == 'predefinedPositions':
            self.predefined_positions_list = new_value.split()
            for predefined_position in self.predefined_positions_list:
                temp_position_button = QPushButton(predefined_position,
                                                   self.main_group_box)
                self.main_groupbox_hlayout.addWidget(temp_position_button)
                temp_position_button.clicked.connect(lambda: \
                     self.predefined_position_clicked(predefined_position))
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name == 'label':
         if new_value == "" and self.motor_hwobj is not None:
             self.label.setText("<i>" + self.motor_hwobj.username + ":</i>")
         else:
             self.label.setText(new_value)
     elif property_name == 'mnemonic':
         if self.motor_hwobj is not None:
             self.disconnect(self.motor_hwobj,
                             'stateChanged',
                             self.motor_state_changed)
             self.disconnect(self.motor_hwobj,
                             'newPredefinedPositions',
                             self.fill_positions)
             self.disconnect(self.motor_hwobj,
                             'predefinedPositionChanged',
                             self.predefined_position_changed)
         self.motor_hwobj = self.getHardwareObject(new_value)
         if self.motor_hwobj is not None:
             self.connect(self.motor_hwobj,
                          'newPredefinedPositions',
                          self.fill_positions)
             self.connect(self.motor_hwobj,
                          'stateChanged',
                          self.motor_state_changed)
             self.connect(self.motor_hwobj,
                          'predefinedPositionChanged',
                          self.predefined_position_changed)
             self.fill_positions()
             if self.motor_hwobj.isReady():
                 self.predefined_position_changed(self.motor_hwobj.getCurrentPositionName(), 0)
             if self['label'] == "":
                 lbl=self.motor_hwobj.username
                 self.label.setText("<i>" + lbl + ":</i>")
             Qt4_widget_colors.set_widget_color(self.positions_combo,
                                                Qt4_MotorPredefPosBrick.STATE_COLORS[0],
                                                QPalette.Button)
             self.motor_state_changed(self.motor_hwobj.getState())
     elif property_name == 'showMoveButtons':
         if new_value:
             self.previous_position_button.show()
             self.next_position_button.show()
         else:
             self.previous_position_button.hide()
             self.next_position_button.hide()
     elif property_name == 'icons':
         icons_list = new_value.split()
         try:
             self.previous_position_button.setIcon(\
                 Qt4_Icons.load_icon(icons_list[0]))
             self.next_position_button.setIcon(\
                 Qt4_Icons.load_icon(icons_list[1]))
         except:
             pass
     else:
         BlissWidget.propertyChanged(self,property_name, old_value, new_value)
示例#50
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == "mnemonic":
         self.graphics_manager_hwobj = self.getHardwareObject(new_value)
     elif property_name == "targetMenu":
         self.target_menu = new_value
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#51
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == "mnemonic":
         self.graphics_manager_hwobj = self.getHardwareObject(new_value)
     elif property_name == "targetMenu":
         self.target_menu = new_value
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#52
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. : Event triggered when user property changed in the property
                    editor. 
        Args.     : property_name (string), old_value, new_value
        Return.   : None
        """
        if property_name == 'mnemonic':
            if self.energy_hwobj is not None:
                self.disconnect(self.energy_hwobj,
                                QtCore.SIGNAL('deviceReady'), self.connected)
                self.disconnect(self.energy_hwobj,
                                QtCore.SIGNAL('deviceNotReady'),
                                self.disconnected)
                self.disconnect(self.energy_hwobj,
                                QtCore.SIGNAL('energyChanged'),
                                self.energy_changed)
                self.disconnect(self.energy_hwobj,
                                QtCore.SIGNAL('stateChanged'),
                                self.state_changed)
            self.energy_hwobj = self.getHardwareObject(new_value)
            if self.energy_hwobj is not None:
                self.set_new_value_limits()
                self.connect(self.energy_hwobj, QtCore.SIGNAL('deviceReady'),
                             self.connected)
                self.connect(self.energy_hwobj,
                             QtCore.SIGNAL('deviceNotReady'),
                             self.disconnected)
                self.connect(self.energy_hwobj, QtCore.SIGNAL('energyChanged'),
                             self.energy_changed)
                self.connect(self.energy_hwobj,
                             QtCore.SIGNAL('stateChanged'),
                             self.state_changed,
                             instanceFilter=True)

                if self.energy_hwobj.isReady():
                    # LNLS
                    self.energy_hwobj.update_values()
                    self.connected()
                else:
                    self.disconnected()
            else:
                self.disconnected()
        elif property_name == 'defaultMode':
            if new_value == "keV":
                self.units_combobox.setCurrentIndex(0)
            else:
                self.units_combobox.setCurrentIndex(1)

        elif property_name == 'alwaysReadonly':
            pass
        else:
            BlissWidget.propertyChanged(self, property_name, old_value,
                                        new_value)
示例#53
0
    def propertyChanged(self, property_name, old_value, new_value):
        """
        Descript. :
        Args.     :
        Return.   : 
        """
        self.fast_shut_ho = None
        self.slow_shut_ho = None
        self.photon_shut_ho = None
        self.fe_ho = None

        print("setting %s property to %s", property_name, new_value)

        if property_name == 'fast_shutter':
            if self.fast_shut_ho is not None:
                self.disconnect(self.fast_shut_ho, QtCore.SIGNAL('stateChanged'), self.fast_state_changed)

            self.fast_shut_ho = self.getHardwareObject(new_value)

            if self.fast_shut_ho is not None:
                self.connect(self.fast_shut_ho, QtCore.SIGNAL('stateChanged'), self.fast_state_changed)

        elif property_name == 'slow_shutter':
            if self.slow_shut_ho is not None:
                self.disconnect(self.slow_shut_ho, QtCore.SIGNAL('stateChanged'), self.slow_state_changed)

            self.slow_shut_ho = self.getHardwareObject(new_value)

            if self.slow_shut_ho is not None:
                self.connect(self.slow_shut_ho, QtCore.SIGNAL('stateChanged'), self.slow_state_changed)

        elif property_name == 'photon_shutter':
            if self.photon_shut_ho is not None:
                self.disconnect(self.photon_shut_ho, QtCore.SIGNAL('stateChanged'), self.photon_state_changed)

            self.photon_shut_ho = self.getHardwareObject(new_value)

            if self.photon_shut_ho is not None:
                self.connect(self.photon_shut_ho, QtCore.SIGNAL('stateChanged'), self.photon_state_changed)

        elif property_name == 'frontend':
            if self.fe_ho is not None:
                self.disconnect(self.fe_ho, QtCore.SIGNAL('stateChanged'), self.frontend_state_changed)

            self.fe_ho = self.getHardwareObject(new_value)

            if self.fe_ho is not None:
                self.connect(self.fe_ho, QtCore.SIGNAL('stateChanged'), self.frontend_state_changed)

        elif property_name == 'led_size':
            if new_value != '':
                self.set_led_size(int(new_value))
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#54
0
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name=='mnemonic':
         if self.door_interlock_hwobj is not None:
             self.disconnect(self.door_interlock_hwobj, QtCore.SIGNAL('doorInterlockStateChanged'), self.state_changed)
         self.door_interlock_hwobj = self.getHardwareObject(new_value)
         if self.door_interlock_hwobj is not None:
             self.connect(self.door_interlock_hwobj, QtCore.SIGNAL('doorInterlockStateChanged'), self.state_changed)
             self.state_changed(self.door_interlock_hwobj.getState())
             self.setEnabled(True)
     else:
         BlissWidget.propertyChanged(self,property_name, old_value, new_value)
示例#55
0
 def propertyChanged(self, property_name, old_value, new_value):
     if property_name=='mnemonic':
         if self.door_interlock_hwobj is not None:
             self.disconnect(self.door_interlock_hwobj, QtCore.SIGNAL('doorInterlockStateChanged'), self.state_changed)
         self.door_interlock_hwobj = self.getHardwareObject(new_value)
         if self.door_interlock_hwobj is not None:
             self.connect(self.door_interlock_hwobj, QtCore.SIGNAL('doorInterlockStateChanged'), self.state_changed)
             self.state_changed(self.door_interlock_hwobj.getState())
         self.setDisabled(self.door_interlock_hwobj is None)
     else:
         BlissWidget.propertyChanged(self,property_name, old_value, new_value)
示例#56
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. : Event triggered when user property changed in the property
                 editor. 
     Args.     : property_name (string), old_value, new_value
     Return    : None
     """
     if property_name == "graphicsManager":
         if self.graphics_manager_hwobj:  
             self.disconnect(self.graphics_manager_hwobj, 
                             'centringStarted',
                             self.centring_started)
             self.disconnect(self.graphics_manager_hwobj,
                             'centringFailed',
                             self.centring_failed)
             self.disconnect(self.graphics_manager_hwobj,
                             'centringSuccessful',
                             self.centring_successful)
             #self.disconnect(self.graphics_manager_hwobj,
             #                'diffractometerReady',
             #                self.diffractometer_ready_changed)
             self.disconnect(self.graphics_manager_hwobj, 
                             'diffractometerPhaseChanged',
                             self.diffractometer_phase_changed)
         self.graphics_manager_hwobj = self.getHardwareObject(new_value) 
         if self.graphics_manager_hwobj:
             self.connect(self.graphics_manager_hwobj,
                          'centringStarted',
                          self.centring_started)
             self.connect(self.graphics_manager_hwobj,
                          'centringFailed',
                          self.centring_failed)
             self.connect(self.graphics_manager_hwobj,
                          'centringSuccessful',
                          self.centring_successful)
             #self.connect(self.graphics_manager_hwobj,
             #             'diffractometerReady',
             #             self.diffractometer_ready_changed)
             self.connect(self.graphics_manager_hwobj,
                          'diffractometerPhaseChanged',
                          self.diffractometer_phase_changed)
     elif property_name == "enableAutoFocus":
         self.auto_focus_button.setVisible(new_value) 
     elif property_name == "enableRefreshCamera":
         self.refresh_camera_button.setVisible(new_value)
     elif property_name == "enableVisualAlign":
         self.visual_align_button.setVisible(new_value)
     elif property_name == "enableAutoCenter":
         self.auto_center_button.setVisible(new_value)
     elif property_name == "enableRealignBeam":
         self.realign_button.setVisible(new_value)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#57
0
 def propertyChanged(self, property_name, old_value, new_value):
     """
     Descript. :
     """
     if property_name == "mnemonic":
         if self.beam_info_hwobj is not None:
             self.disconnect(self.beam_info_hwobj, "beamInfoChanged", self.beam_info_changed)
         self.beam_info_hwobj = self.getHardwareObject(new_value)
         if self.beam_info_hwobj is not None:
             self.connect(self.beam_info_hwobj, "beamInfoChanged", self.beam_info_changed)
     else:
         BlissWidget.propertyChanged(self, property_name, old_value, new_value)
示例#58
0
    def propertyChanged(self, property_name, old_value, new_value):
        if property_name == 'level':
            self.filter_level = logging.NOTSET

            if new_value == 'INFO':
                self.filter_level = logging.INFO
            elif new_value == 'WARNING':
                self.filter_level = logging.WARNING
            elif new_value == 'ERROR':
                self.filter_level = logging.ERROR

        elif property_name == 'showDebug':
            if self['appearance'] == "tabs":
                if not new_value:
                    self.tab_widget.removeTab(self.tab_widget.indexOf(self.debug_log))
        
        elif property_name == 'emailAddresses':
            self.feedback_log.email_addresses = new_value
        elif property_name == 'fromEmailAddress':
            self.feedback_log.from_email_address = new_value

        elif property_name == 'enableFeedback':
            if self['appearance'] == "tabs":
                if not new_value:
                    self.tab_widget.removeTab(self.tab_widget.indexOf(self.feedback_log))

        elif property_name == 'appearance':
            if new_value == "list":
                self.tab_levels = {logging.NOTSET: self.info_log, 
                                   logging.DEBUG: self.info_log, 
                                   logging.INFO: self.info_log, 
                                   logging.WARNING: self.info_log,
                                   logging.ERROR: self.info_log,
                                   logging.CRITICAL: self.info_log}

                self.tab_widget.removeTab(self.tab_widget.indexOf(self.details_log))
                self.tab_widget.removeTab(self.tab_widget.indexOf(self.debug_log))

            elif new_value == "tabs":
                self.tab_levels = {logging.NOTSET: self.details_log, 
                                   logging.DEBUG: self.debug_log,
                                   logging.INFO: self.info_log,
                                   logging.WARNING: self.details_log,
                                   logging.ERROR: self.details_log,
                                   logging.CRITICAL: self.details_log}
                
        elif property_name == 'maxLogLines':
            self.details_log.set_max_log_lines(new_value)
            self.info_log.set_max_log_lines(new_value)
            self.debug_log.set_max_log_lines(new_value)
        else:
            BlissWidget.propertyChanged(self, property_name, old_value, new_value)