Beispiel #1
0
    def __init__(self, **kwargs):
        gtk.VBox.__init__(self, **kwargs)

        self._frontpanels = qt.frontpanels
        self._sliders = qt.sliders

        self._ins = None
        self._ins_combo = dropdowns.InstrumentDropdown()
        self._ins_combo.connect('changed', self._instrument_changed_cb)

        self._param_combo = dropdowns.InstrumentParameterDropdown()
        self._param_combo.connect('changed', self._parameter_changed_cb)

        self._get_but = gtk.Button('Get')
        self._get_but.connect('clicked', self._get_param_clicked_cb)
        self._param_edit = gtk.Entry()
        self._param_edit.set_alignment(0.93)
        self._set_but = gtk.Button('Set')
        self._set_but.connect('clicked', self._set_param_clicked_cb)
        param_getset = gui.pack_hbox([self._get_but, \
                self._set_but])

        self._function_frame = FunctionFrame()

        self._make_fp = gtk.Button('Frontpanel')
        self._make_fp.connect('clicked', self._fp_clicked_cb)

        self._make_sl = gtk.Button('Slider')
        self._make_sl.connect('clicked', self._slider_clicked_cb)

        h1 = gui.pack_hbox([gtk.Label(_L('Instrument')), self._ins_combo])
        h2 = gui.pack_hbox([gtk.Label(_L('Parameter')), self._param_combo])

        self._table = gtk.Table(4, 2, True)
        self._table.set_homogeneous(False)

        self._table.attach(h1, 0, 1, 0, 1)
        self._table.attach(h2, 0, 1, 1, 2)
        self._table.attach(self._param_edit, 0, 1, 2, 3)
        self._table.attach(self._function_frame, 0, 2, 3, 4)

        self._table.attach(self._make_fp, 1, 2, 0, 1)
        self._table.attach(self._make_sl, 1, 2, 1, 2)
        self._table.attach(param_getset, 1, 2, 2, 3)

        self._table.set_border_width(4)
        self.add(self._table)

        self._parameter_changed_cb(None)
        self.show_all()
    def __init__(self, **kwargs):
        gtk.VBox.__init__(self, **kwargs)

        self._frontpanels = qt.frontpanels
        self._sliders = qt.sliders

        self._ins = None
        self._ins_combo = dropdowns.InstrumentDropdown()
        self._ins_combo.connect('changed', self._instrument_changed_cb)

        self._param_combo = dropdowns.InstrumentParameterDropdown()
        self._param_combo.connect('changed', self._parameter_changed_cb)

        self._get_but = gtk.Button('Get')
        self._get_but.connect('clicked', self._get_param_clicked_cb)
        self._param_edit = gtk.Entry()
        self._param_edit.set_alignment(0.93)
        self._set_but = gtk.Button('Set')
        self._set_but.connect('clicked', self._set_param_clicked_cb)
        param_getset = gui.pack_hbox([self._get_but, \
                self._set_but])

        self._function_frame = FunctionFrame()

        self._make_fp = gtk.Button('Frontpanel')
        self._make_fp.connect('clicked', self._fp_clicked_cb)

        self._make_sl = gtk.Button('Slider')
        self._make_sl.connect('clicked', self._slider_clicked_cb)

        h1 = gui.pack_hbox([
            gtk.Label(_L('Instrument')),
            self._ins_combo])
        h2 = gui.pack_hbox([
            gtk.Label(_L('Parameter')),
            self._param_combo])

        self._table = gtk.Table(4, 2, True)
        self._table.set_homogeneous(False)

        self._table.attach(h1, 0, 1, 0, 1)
        self._table.attach(h2, 0, 1, 1, 2)
        self._table.attach(self._param_edit, 0, 1, 2, 3)
        self._table.attach(self._function_frame, 0, 2, 3, 4)

        self._table.attach(self._make_fp, 1, 2, 0, 1)
        self._table.attach(self._make_sl, 1, 2, 1, 2)
        self._table.attach(param_getset, 1, 2, 2, 3)

        self._table.set_border_width(4)
        self.add(self._table)

        self._parameter_changed_cb(None)
        self.show_all()
class QTSetInstrumentFrame(gtk.VBox):

    def __init__(self, **kwargs):
        gtk.VBox.__init__(self, **kwargs)

        self._frontpanels = qt.frontpanels
        self._sliders = qt.sliders

        self._ins = None
        self._ins_combo = dropdowns.InstrumentDropdown()
        self._ins_combo.connect('changed', self._instrument_changed_cb)

        self._param_combo = dropdowns.InstrumentParameterDropdown()
        self._param_combo.connect('changed', self._parameter_changed_cb)

        self._get_but = gtk.Button('Get')
        self._get_but.connect('clicked', self._get_param_clicked_cb)
        self._param_edit = gtk.Entry()
        self._param_edit.set_alignment(0.93)
        self._set_but = gtk.Button('Set')
        self._set_but.connect('clicked', self._set_param_clicked_cb)
        param_getset = gui.pack_hbox([self._get_but, \
                self._set_but])

        self._function_frame = FunctionFrame()

        self._make_fp = gtk.Button('Frontpanel')
        self._make_fp.connect('clicked', self._fp_clicked_cb)

        self._make_sl = gtk.Button('Slider')
        self._make_sl.connect('clicked', self._slider_clicked_cb)

        h1 = gui.pack_hbox([
            gtk.Label(_L('Instrument')),
            self._ins_combo])
        h2 = gui.pack_hbox([
            gtk.Label(_L('Parameter')),
            self._param_combo])

        self._table = gtk.Table(4, 2, True)
        self._table.set_homogeneous(False)

        self._table.attach(h1, 0, 1, 0, 1)
        self._table.attach(h2, 0, 1, 1, 2)
        self._table.attach(self._param_edit, 0, 1, 2, 3)
        self._table.attach(self._function_frame, 0, 2, 3, 4)

        self._table.attach(self._make_fp, 1, 2, 0, 1)
        self._table.attach(self._make_sl, 1, 2, 1, 2)
        self._table.attach(param_getset, 1, 2, 2, 3)

        self._table.set_border_width(4)
        self.add(self._table)

        self._parameter_changed_cb(None)
        self.show_all()

    def _instrument_changed_cb(self, widget):
        self._ins = self._ins_combo.get_instrument()
        self._param_combo.set_instrument(self._ins)
        self._function_frame.set_instrument(self._ins)

    def _parameter_changed_cb(self, widget):
        param = self._param_combo.get_parameter()
        sget, sset = False, False
        if self._ins is not None:
            opts = self._ins.get_shared_parameter_options(param)
            if opts is not None:
                sget = opts['flags'] & \
                    (qt.constants.FLAG_GET | qt.constants.FLAG_SOFTGET)
                sset = opts['flags'] & qt.constants.FLAG_SET
        self._get_but.set_sensitive(sget)
        self._set_but.set_sensitive(sset)
        self._make_sl.set_sensitive(sset)

    def _param_get_cb(self, val):
        self._param_edit.set_text('%s' % val)
        self._get_but.set_sensitive(True)

    def _param_set_cb(self, boolsucces):
        self._set_but.set_sensitive(True)

    def _get_param_clicked_cb(self, widget):
        param = self._param_combo.get_parameter()
        self._get_but.set_sensitive(False)
        self._ins.get(param, callback=self._param_get_cb)

    def _set_param_clicked_cb(self, widget):
        param = self._param_combo.get_parameter()
        val = self._param_edit.get_text()
        self._set_but.set_sensitive(False)
        self._ins.set(param, val, callback=self._param_set_cb)

    def _fp_clicked_cb(self, sender):
        ins = self._ins_combo.get_instrument()
        if ins is not None:
            name = ins.get_name()
            if name not in self._frontpanels:
                self._frontpanels[name] = frontpanel.FrontPanel(ins)
            self._frontpanels[name].show()
            self._frontpanels[name].present()

    def _slider_clicked_cb(self, sender):
        ins = self._ins_combo.get_instrument()
        param = self._param_combo.get_parameter()
        if ins is not None and param is not None:
            name = '%s.%s' % (ins.get_name(), param)
            if name not in self._sliders:
                self._sliders[name] = slider.SliderWindow(ins, param)
            self._sliders[name].show()
            self._sliders[name].present()
Beispiel #4
0
class QTSetInstrumentFrame(gtk.VBox):
    def __init__(self, **kwargs):
        gtk.VBox.__init__(self, **kwargs)

        self._frontpanels = qt.frontpanels
        self._sliders = qt.sliders

        self._ins = None
        self._ins_combo = dropdowns.InstrumentDropdown()
        self._ins_combo.connect('changed', self._instrument_changed_cb)

        self._param_combo = dropdowns.InstrumentParameterDropdown()
        self._param_combo.connect('changed', self._parameter_changed_cb)

        self._get_but = gtk.Button('Get')
        self._get_but.connect('clicked', self._get_param_clicked_cb)
        self._param_edit = gtk.Entry()
        self._param_edit.set_alignment(0.93)
        self._set_but = gtk.Button('Set')
        self._set_but.connect('clicked', self._set_param_clicked_cb)
        param_getset = gui.pack_hbox([self._get_but, \
                self._set_but])

        self._function_frame = FunctionFrame()

        self._make_fp = gtk.Button('Frontpanel')
        self._make_fp.connect('clicked', self._fp_clicked_cb)

        self._make_sl = gtk.Button('Slider')
        self._make_sl.connect('clicked', self._slider_clicked_cb)

        h1 = gui.pack_hbox([gtk.Label(_L('Instrument')), self._ins_combo])
        h2 = gui.pack_hbox([gtk.Label(_L('Parameter')), self._param_combo])

        self._table = gtk.Table(4, 2, True)
        self._table.set_homogeneous(False)

        self._table.attach(h1, 0, 1, 0, 1)
        self._table.attach(h2, 0, 1, 1, 2)
        self._table.attach(self._param_edit, 0, 1, 2, 3)
        self._table.attach(self._function_frame, 0, 2, 3, 4)

        self._table.attach(self._make_fp, 1, 2, 0, 1)
        self._table.attach(self._make_sl, 1, 2, 1, 2)
        self._table.attach(param_getset, 1, 2, 2, 3)

        self._table.set_border_width(4)
        self.add(self._table)

        self._parameter_changed_cb(None)
        self.show_all()

    def _instrument_changed_cb(self, widget):
        self._ins = self._ins_combo.get_instrument()
        self._param_combo.set_instrument(self._ins)
        self._function_frame.set_instrument(self._ins)

    def _parameter_changed_cb(self, widget):
        param = self._param_combo.get_parameter()
        sget, sset = False, False
        if self._ins is not None:
            opts = self._ins.get_shared_parameter_options(param)
            if opts is not None:
                sget = opts['flags'] & \
                    (qt.constants.FLAG_GET | qt.constants.FLAG_SOFTGET)
                sset = opts['flags'] & qt.constants.FLAG_SET
        self._get_but.set_sensitive(sget)
        self._set_but.set_sensitive(sset)
        self._make_sl.set_sensitive(sset)

    def _param_get_cb(self, val):
        self._param_edit.set_text('%s' % val)
        self._get_but.set_sensitive(True)

    def _param_set_cb(self, boolsucces):
        self._set_but.set_sensitive(True)

    def _get_param_clicked_cb(self, widget):
        param = self._param_combo.get_parameter()
        self._get_but.set_sensitive(False)
        self._ins.get(param, callback=self._param_get_cb)

    def _set_param_clicked_cb(self, widget):
        param = self._param_combo.get_parameter()
        val = self._param_edit.get_text()
        self._set_but.set_sensitive(False)
        self._ins.set(param, val, callback=self._param_set_cb)

    def _fp_clicked_cb(self, sender):
        ins = self._ins_combo.get_instrument()
        if ins is not None:
            name = ins.get_name()
            if name not in self._frontpanels:
                self._frontpanels[name] = frontpanel.FrontPanel(ins)
            self._frontpanels[name].show()
            self._frontpanels[name].present()

    def _slider_clicked_cb(self, sender):
        ins = self._ins_combo.get_instrument()
        param = self._param_combo.get_parameter()
        if ins is not None and param is not None:
            name = '%s.%s' % (ins.get_name(), param)
            if name not in self._sliders:
                self._sliders[name] = slider.SliderWindow(ins, param)
            self._sliders[name].show()
            self._sliders[name].present()