Ejemplo n.º 1
0
    def setModel(self, model):
        # @todo: change this (it assumes tango naming!)
        TaurusLabel.setModel(self, '%s/value' % model)

        try:
            ior_dev = taurus.Device(model)
        except:
            return
        labels = ior_dev.getAttribute('Labels').read().value
        labels_list = labels.split(' ')

        # Update the mapping
        self.readEventValueMap = EventValueMap()
        for label_and_value in labels_list:
            label, value = label_and_value.split(':')
            self.readEventValueMap[int(value)] = label
Ejemplo n.º 2
0
class PoolIORegisterReadWidget(TaurusLabel):
    ''' This class is intended to be used as a read widget of a TaurusValue with IORegister devices.
    After setting the model, it gets the Labels and creates a filter to show them instead of the values.
    '''
    def __init__(self, parent=None, designMode=False):
        TaurusLabel.__init__(self, parent, designMode)

    def setModel(self, model):
        TaurusLabel.setModel(
            self,
            '%s/value' % model)  #@todo: change this (it assumes tango naming!)

        try:
            ior_dev = taurus.Device(model)
        except:
            return
        labels = ior_dev.getAttribute('Labels').read().value
        labels_list = labels.split(' ')

        # Update the mapping
        self.readEventValueMap = EventValueMap()
        for label_and_value in labels_list:
            label, value = label_and_value.split(':')
            self.readEventValueMap[int(value)] = label
        # @TODO: Some day filters will work again...
        # until then, it is better to NOT have the filter
        # so at least we see a value and not '------'
        #self.setEventFilters([self.readEventValueMap])

    ##########################################################
    # FILTERS ARE NOT WORKING AS OF SVN:17541
    # SO I RE-IMPLEMENT getFormatedToolTip for this purpose
    ##########################################################
    def getFormatedToolTip(self, cache=True):
        taurus_label_tooltip = TaurusLabel.getFormatedToolTip(self, cache)
        try:
            display_value = int(self.getDisplayValue())
            extended_tooltip = ''
            value_keys = self.readEventValueMap.keys()
            value_keys.sort()
            for value in value_keys:
                label = self.readEventValueMap[value]
                value_label_info = '%d: %s' % (value, label)
                if value == display_value:
                    value_label_info = '<B>* ' + value_label_info + ' *</B>'
                extended_tooltip += value_label_info + '<BR>'
            return taurus_label_tooltip + '<HR>' + extended_tooltip
        except:
            pass
        return taurus_label_tooltip

    ##########################################################

    @classmethod
    def getQtDesignerPluginInfo(cls):
        return None
Ejemplo n.º 3
0
class PoolIORegisterReadWidget(TaurusLabel):
    ''' This class is intended to be used as a read widget of a TaurusValue with IORegister devices.
    After setting the model, it gets the Labels and creates a filter to show them instead of the values.
    '''

    def __init__(self, parent=None, designMode=False):
        TaurusLabel.__init__(self, parent, designMode)

    def setModel(self, model):
        # @todo: change this (it assumes tango naming!)
        TaurusLabel.setModel(self, '%s/value' % model)

        try:
            ior_dev = taurus.Device(model)
        except:
            return
        labels = ior_dev.getAttribute('Labels').read().value
        labels_list = labels.split(' ')

        # Update the mapping
        self.readEventValueMap = EventValueMap()
        for label_and_value in labels_list:
            label, value = label_and_value.split(':')
            self.readEventValueMap[int(value)] = label
        # @TODO: Some day filters will work again...
        # until then, it is better to NOT have the filter
        # so at least we see a value and not '------'
        # self.setEventFilters([self.readEventValueMap])

    ##########################################################
    # FILTERS ARE NOT WORKING AS OF SVN:17541
    # SO I RE-IMPLEMENT getFormatedToolTip for this purpose
    ##########################################################
    def getFormatedToolTip(self, cache=True):
        taurus_label_tooltip = TaurusLabel.getFormatedToolTip(self, cache)
        try:
            display_value = int(self.getDisplayValue())
            extended_tooltip = ''
            value_keys = sorted(self.readEventValueMap.keys())
            for value in value_keys:
                label = self.readEventValueMap[value]
                value_label_info = '%d: %s' % (value, label)
                if value == display_value:
                    value_label_info = '<B>* ' + value_label_info + ' *</B>'
                extended_tooltip += value_label_info + '<BR>'
            return taurus_label_tooltip + '<HR>' + extended_tooltip
        except:
            pass
        return taurus_label_tooltip
    ##########################################################

    @classmethod
    def getQtDesignerPluginInfo(cls):
        return None
Ejemplo n.º 4
0
    def setModel(self, model):
        TaurusLabel.setModel(self, '%s/value' % model)  #@todo: change this (it assumes tango naming!)

        try: ior_dev = taurus.Device(model)
        except: return
        labels = ior_dev.getAttribute('Labels').read().value
        labels_list = labels.split(' ')

        # Update the mapping
        self.readEventValueMap = EventValueMap()
        for label_and_value in labels_list:
            label, value = label_and_value.split(':')
            self.readEventValueMap[int(value)] = label