Esempio n. 1
0
    def on_but_type(self):
        #logger.debug('on_but_type')
        inst, confdb = self.inst_configdb('on_but_type: ')
        list_of_aliases = confdb.get_aliases(hutch=inst)  # ['NOBEAM', 'BEAM']
        if not list_of_aliases:
            list_of_aliases = self.list_of_aliases  # ['NOBEAM', 'BEAM']
            logger.warning('List of configdb-s IS EMPTY... Use default: %s' %
                           str(list_of_aliases))

        selected = popup_select_item_from_list(self.but_type,
                                               list_of_aliases,
                                               dx=-46,
                                               dy=-33)  #, use_cursor_pos=True)

        msg = 'selected %s of the list %s' % (selected, str(list_of_aliases))
        logger.debug(msg)

        if selected in (None, self.type_old): return

        rv = daq_control().setConfig(selected)
        if rv is None:
            self.set_config_type(selected)
        else:
            logger.error('setConfig("%s"): %s' % (selected, rv))
            self.set_config_type('error')
Esempio n. 2
0
    def on_but_type(self):
        #logger.debug('on_but_type')
        inst, confdb = self.inst_configdb('on_but_type: ')
        list_of_aliases = confdb.get_aliases(
            hutch=inst)  # ['NOBEAM', 'BEAM', ??? 'PROD']

        if not list_of_aliases:
            list_of_aliases = ['NOBEAM', 'BEAM']
            logger.warning('List of configdb-s IS EMPTY... Use default: %s' %
                           str(list_of_aliases))

        selected = popup_select_item_from_list(self.but_type,
                                               list_of_aliases,
                                               dx=-46,
                                               dy=-20)
        self.set_but_type_text(selected)
        msg = 'selected %s of the list %s' % (selected, str(list_of_aliases))
        logger.debug(msg)

        if selected != self.type_old:
            self.set_but_dev_text()
            self.type_old = selected

            # save selected configuration type in control json
            #rv = daq_control().setConfig(selected)
            #if rv is not None: logger.error('setState("%s"): %s' % (selected,rv))

        self.set_buts_enabled()
Esempio n. 3
0
    def on_double_click(self, index):
        item = self.model.itemFromIndex(index)
        #msg = 'on_double_click item in row:%02d text: %s acc-text: %s' % (index.row(), item.text(), item.accessibleText())
        #logger.debug(msg)

        item_parent = item.parent()
        if item_parent is not None :
            path = path_to_item(item.parent())
            #print('XXX path_to_item: %s' % path)

        txt = item.accessibleText()
        descr = item.accessibleDescription()

        is_enum, dic_enum, dic_inv = self.enum_dicts(descr)
        if is_enum :
            #print('XXX TBD enum editor for txt: %s and dict: %s' % (txt, str(dic_enum)))
            selected = popup_select_item_from_list(self, dic_enum.keys(), dx=-20, dy=-10, use_cursor_pos=True, do_sort=False)
            if selected is None : return
            self.set_item_for_list(item, selected)
            return

        #print('descr: "%s"' % descr[:7])
        if descr[:7] != 'trimmed' : return

        #logger.info('select_ifname %s' % self.ifname)
        w = QWPopupEditText(parent=self, text=txt)
        #w.move(self.pos() + QPoint(self.width()+5, 0))
        resp=w.exec_()
        logger.debug('resp: %s' % {QDialog.Rejected:'Rejected', QDialog.Accepted:'Accepted'}[resp])
        if resp == QDialog.Rejected : return

        txt_new = w.get_content()
        self.set_item_for_list(item, txt_new)
Esempio n. 4
0
    def on_but_dev(self):
        #logger.debug('on_but_dev')
        inst, confdb = self.inst_configdb('on_but_dev: ')
        cfgtype = str(self.but_type.text()).split(' ')[0] # 'NOBEAM' or 'BEAM'
        list_of_device_names = confdb.get_devices(cfgtype, hutch=inst)

        if not list_of_device_names :
            logger.warning('list_of_device_names IS EMPTY... Check configuration DB')
            return

        selected = popup_select_item_from_list(self.but_dev, list_of_device_names, dx=-190, dy=-20)
        self.set_but_dev_text(selected)
        msg = 'selected %s of the list %s' % (selected, str(list_of_device_names))
        logger.debug(msg)

        self.set_buts_enabled()
Esempio n. 5
0
    def set_readout_group_number(self, item):
        if not self.is_column_for_title(item.column(), 'grp'): return
        if not item.isEditable(): return

        selected = popup_select_item_from_list(self,
                                               self.LIST_OF_VALUES,
                                               dx=10,
                                               dy=-33,
                                               use_cursor_pos=True)
        msg = 'selected %s' % selected
        logger.debug(msg)

        if selected is None: return
        item.setText(selected)

        # set group readout number for all detector segments
        item_id = self._si_model.item(item.row(), self.column_id())
        if item_id._is_collapser:
            self.disconnect_item_changed_from(self.on_item_changed)
            self.set_readout_group_number_for_detector_segments(item, selected)
            self.connect_item_changed_to(self.on_item_changed)