def build_gui(self, container): cbar = ColorBar.ColorBar(self.logger) cbar.set_cmap(self.fv.cm) cbar.set_imap(self.fv.im) cbar_w = cbar.get_widget() self.colorbar = cbar self.fv.add_callback('channel-change', self.change_cbar, cbar) cbar.add_callback('motion', self.cbar_value_cb) container.add_widget(cbar_w, stretch=0)
def __init__(self, session, parent=None): self.logger = log.get_logger( name='ginga', level=20, null=True, # uncomment for debugging # log_stderr=True ) self.viewer = ImageViewCanvas(self.logger, render='widget') self.canvas = self.viewer # prevent widget from grabbing focus try: self.canvas.set_enter_focus(False) except AttributeError: self.canvas.set_follow_focus(False) # enable interactive features bindings = self.canvas.get_bindings() bindings.enable_all(True) self.canvas.add_callback('none-move', self.motion_readout) self.canvas.add_callback('draw-event', self._apply_roi_cb) self.canvas.add_callback('draw-down', self._clear_roi_cb) self.canvas.enable_draw(False) self.canvas.enable_autozoom('off') self.canvas.set_zoom_algorithm('rate') self.canvas.set_zoomrate(1.4) bm = self.canvas.get_bindmap() bm.add_callback('mode-set', self.mode_set_cb) self.mode_w = None self.mode_actns = {} # Create settings and set defaults settings = self.canvas.get_settings() self.settings = settings settings.getSetting('cuts').add_callback('set', self.cut_levels_cb) settings.set(autozoom='off', autocuts='override', autocenter='override') # make color bar, with color maps shared from ginga canvas rgbmap = self.viewer.get_rgbmap() self.colorbar = ColorBar.ColorBar(self.logger) rgbmap.add_callback('changed', self.rgbmap_cb, self.viewer) self.colorbar.set_rgbmap(rgbmap) # make coordinates/value readout self.readout = Readout.Readout(-1, 20) self.roi_tag = None super(GingaWidget, self).__init__(session, parent)
def build_gui(self, container): cbar = ColorBar.ColorBar(self.logger, settings=self.settings) cbar.set_cmap(self.fv.cm) cbar.set_imap(self.fv.im) cbar_w = cbar.get_widget() cbar_ht = self.settings.get('cbar_height', 36) cbar_w.resize(-1, cbar_ht) self.colorbar = cbar self.fv.add_callback('channel-change', self.change_cbar, cbar) cbar.add_callback('motion', self.cbar_value_cb) container.add_widget(cbar_w, stretch=0)
def build_gui(self, container): cbar = ColorBar.ColorBar(self.logger) cbar.set_cmap(self.fv.cm) cbar.set_imap(self.fv.im) cbar_w = Widgets.wrap(cbar) self.colorbar = cbar self.fv.add_callback('channel-change', self.change_cbar, cbar) cbar.add_callback('motion', self.cbar_value_cb) fr = Widgets.Frame() fr.set_border_width(0) fr.set_widget(cbar_w) container.add_widget(fr, stretch=0)
def build_gui(self, container): cbar = ColorBar.ColorBar(self.logger, settings=self.settings) cbar.set_cmap(self.fv.cm) cbar.set_imap(self.fv.im) cbar_w = cbar.get_widget() cbar_ht = self.settings.get('cbar_height', 36) cbar_w.resize(-1, cbar_ht) self.colorbar = cbar cbar.add_callback('motion', self.cbar_value_cb) # see cbar_val_cb() if self.fv.gpmon.has_plugin('Cursor'): self.cursor_obj = self.fv.gpmon.get_plugin('Cursor') container.add_widget(cbar_w, stretch=0) self.gui_up = True
def build_gui(self, container): cbar = ColorBar.ColorBar(self.logger) cbar.set_cmap(self.fv.cm) cbar.set_imap(self.fv.im) if hasattr(cbar, 'get_widget'): # generic version based on a ginga widget cbar_w = cbar.get_widget() # TEMP #cbar_w.resize(600, 16) fr = cbar_w else: # dedicated widget version cbar_w = Widgets.wrap(cbar) fr = Widgets.Frame() fr.set_border_width(0) fr.set_widget(cbar_w) self.colorbar = cbar self.fv.add_callback('channel-change', self.change_cbar, cbar) cbar.add_callback('motion', self.cbar_value_cb) container.add_widget(fr, stretch=0)
def _build_gui(self, container): self.mframe = container vbox = Widgets.VBox() # create the table table = Widgets.TreeView(selection='single', sortable=True, use_alt_row_color=False) self.table = table table.add_callback('selected', self.select_star_cb) vbox.add_widget(table, stretch=1) self.cbar = ColorBar.ColorBar(self.logger) self.cbar.set_cmap(self.cmap) self.cbar.set_imap(self.imap) rgbmap = self.cbar.get_rgbmap() rgbmap.add_callback('changed', lambda *args: self.replot_stars()) cbar_w = self.cbar.get_widget() vbox.add_widget(cbar_w, stretch=0) btns = Widgets.HBox() btns.set_spacing(5) combobox = Widgets.ComboBox() options = [] index = 0 for name in self.cmap_names: options.append(name) combobox.append_text(name) index += 1 cmap_name = self.magcmap try: index = self.cmap_names.index(cmap_name) except Exception: index = self.cmap_names.index('gray') combobox.set_index(index) combobox.add_callback('activated', lambda w, idx: self.set_cmap_cb(idx)) self.btn['cmap'] = combobox btns.add_widget(combobox, stretch=0) combobox = Widgets.ComboBox() options = [] index = 0 for name in self.imap_names: options.append(name) combobox.append_text(name) index += 1 imap_name = self.magimap try: index = self.imap_names.index(imap_name) except Exception: index = self.imap_names.index('ramp') combobox.set_index(index) combobox.add_callback('activated', lambda w, idx: self.set_imap_cb(idx)) self.btn['imap'] = combobox btns.add_widget(combobox, stretch=0) combobox = Widgets.ComboBox() options = [] index = 0 for name, fn in self.operation_table: options.append(name) combobox.append_text(name) index += 1 combobox.set_index(0) combobox.add_callback('activated', lambda w, idx: self.do_operation_cb(idx)) self.btn['oprn'] = combobox btns.add_widget(combobox, stretch=0) btn = Widgets.Button("Do it") btns.add_widget(btn, stretch=0) vbox.add_widget(btns, stretch=0) btns = Widgets.HBox() btns.set_spacing(5) for name in ( 'Plot', 'Clear', #'Close' ): btn = Widgets.Button(name) btns.add_widget(btn, stretch=0) self.btn[name.lower()] = btn self.btn.plot.add_callback('activated', lambda w: self.replot_stars()) self.btn.clear.add_callback('activated', lambda w: self.clear()) #self.btn.close.add_callback('activated', # lambda w: self.close()) combobox = Widgets.ComboBox() options = [] index = 0 for name in ['Mag']: options.append(name) combobox.append_text(name) index += 1 combobox.set_index(0) combobox.add_callback('activated', lambda w, idx: self.set_field_cb(idx)) self.btn['field'] = combobox btns.add_widget(combobox, stretch=0) vbox.add_widget(btns, stretch=0) # create the table info = Bunch.Bunch(columns=self.columns, color='Mag') self.build_table(info) self.mframe.add_widget(vbox, stretch=1)
def __init__(self, session, parent=None): self.logger = log.get_logger(name='ginga', level=20, # switch commenting for debugging null=True, log_stderr=False, #null=False, log_stderr=True ) # load binding preferences if available cfgfile = os.path.join(ginga_home, "bindings.cfg") bindprefs = SettingGroup(name='bindings', logger=self.logger, preffile=cfgfile) bindprefs.load(onError='silent') bd = ImageViewBindings(self.logger, settings=bindprefs) # make Ginga viewer self.viewer = ImageViewCanvas(self.logger, render='widget', bindings=bd) self.canvas = self.viewer # prevent widget from grabbing focus self.viewer.set_enter_focus(False) self.viewer.set_desired_size(300, 300) # enable interactive features bindings = self.viewer.get_bindings() bindings.enable_all(True) self.canvas.add_callback('none-move', self.motion_readout) self.canvas.register_for_cursor_drawing(self.viewer) self.canvas.add_callback('draw-event', self._apply_roi_cb) self.canvas.add_callback('edit-event', self._update_roi_cb) self.canvas.add_callback('draw-down', self._clear_roi_cb) self.canvas.enable_draw(False) self.canvas.enable_edit(False) self.viewer.enable_autozoom('off') self.viewer.set_zoom_algorithm('rate') self.viewer.set_zoomrate(1.4) self.viewer.set_fg(*colors.lookup_color("#D0F0E0")) bm = self.viewer.get_bindmap() bm.add_callback('mode-set', self.mode_set_cb) self.mode_w = None self.mode_actns = {} # Create settings and set defaults settings = self.viewer.get_settings() self.settings = settings settings.getSetting('cuts').add_callback('set', self.cut_levels_cb) settings.set(autozoom='off', autocuts='override', autocenter='override') # make color bar, with color maps shared from ginga canvas rgbmap = self.viewer.get_rgbmap() self.colorbar = ColorBar.ColorBar(self.logger) rgbmap.add_callback('changed', self.rgbmap_cb, self.viewer) self.colorbar.set_rgbmap(rgbmap) # make coordinates/value readout self.readout = Readout.Readout(-1, 20) self.roi_tag = None self.opn_obj = None super(GingaWidget, self).__init__(session, parent)