def laser_custom_config(): """ Get the GUI config to configure the laser The GUI is the same for each laser axis and for the laser lightsource """ global WIDGET if WIDGET is None: widget = BaseWidget("Laser Config") widget.power_supply = ControlCombo(label="Power Supply") widget.power_supply += ('None', None) for power in DEVICES['Power Supply']: widget.power_supply += power widget.power_supply.current_index_changed_event = update_laser widget.power_channel = ControlNumber(label="Power Supply Channel", default=1, minimum=1, maximum=4) widget.signal_generator = ControlCombo(label="Signal Generator") widget.signal_generator += ('None', None) for signal in DEVICES['Signal Generator']: widget.signal_generator += signal widget.signal_generator.current_index_changed_event = update_laser widget.formset = [ "h5:Laser Using", 'power_supply', 'power_channel', 'signal_generator', "(All laser axis use the same laser)" ] WIDGET = widget return WIDGET