def __init__(self, dtype=int): super(SpinBox, self).__init__() self.widget = GtkHelp.SpinButton() # if not gtksel.have_gtk3: # self.widget.set_update_policy(gtk.UPDATE_DISCONTINUOUS) self.widget.sconnect('value-changed', self._cb_redirect) self.enable_callback('value-changed')
def _make_spin(self, lower, upper): #adj = gtk.Adjustment(lower=lower, upper=upper) adj = gtk.Adjustment() adj.configure(lower, lower, upper, 1, 1, 1) adj.set_value(lower) scale = GtkHelp.SpinButton(adj) scale.set_digits(0) scale.set_wrap(True) scale.set_snap_to_ticks(True) #scale.set_update_policy(gtk.UPDATE_DISCONTINUOUS) return scale
def build_gui(self, container): self.msgFont = pango.FontDescription("Fixed 10") tw = gtk.TextView() tw.set_wrap_mode(gtk.WRAP_NONE) tw.set_left_margin(4) tw.set_right_margin(4) tw.set_editable(False) tw.set_left_margin(4) tw.set_right_margin(4) tw.modify_font(self.msgFont) self.tw = tw self.buf = self.tw.get_buffer() sw = gtk.ScrolledWindow() sw.set_border_width(2) sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) sw.add(self.tw) container.pack_start(sw, fill=True, expand=True) hbox = gtk.HBox() lbl = gtk.Label('Level:') hbox.pack_start(lbl, fill=False, expand=False) combobox = GtkHelp.combo_box_new_text() for (name, level) in self.levels: combobox.append_text(name) combobox.set_active(1) combobox.sconnect('changed', self.set_loglevel_cb) hbox.pack_start(combobox, fill=False, expand=False, padding=4) lbl = gtk.Label('History:') hbox.pack_start(lbl, fill=False, expand=False) spinbox = GtkHelp.SpinButton() adj = spinbox.get_adjustment() adj.configure(self.histlimit, 100, self.histmax, 10, 100, 0) spinbox.sconnect('value-changed', self.set_history_cb) hbox.pack_start(spinbox, fill=False, expand=False, padding=4) btn = gtk.Button("Clear") btn.connect('clicked', lambda w: self.clear()) hbox.pack_end(btn, fill=False, expand=False) container.pack_end(hbox, fill=False, expand=False)
def __init__(self, logger): self.logger = logger self.drawcolors = colors.get_colors() self.dc = get_canvas_types() root = gtk.Window(gtk.WINDOW_TOPLEVEL) root.set_title("Gtk2 CanvasView Example") root.set_border_width(2) root.connect("delete_event", lambda w, e: quit(w)) self.root = root self.select = GtkHelp.FileSelection(root) vbox = gtk.VBox(spacing=2) fi = CanvasView(logger) fi.enable_autocuts('on') fi.set_autocut_params('zscale') fi.enable_autozoom('on') fi.set_zoom_algorithm('rate') fi.set_zoomrate(1.4) fi.show_pan_mark(True) fi.set_callback('drag-drop', self.drop_file) fi.set_callback('none-move', self.motion) fi.set_bg(0.2, 0.2, 0.2) fi.ui_setActive(True) self.fitsimage = fi bd = fi.get_bindings() bd.enable_all(True) # canvas that we will draw on canvas = self.dc.DrawingCanvas() canvas.enable_draw(True) canvas.set_drawtype('rectangle', color='lightblue') canvas.setSurface(fi) self.canvas = canvas # add canvas to view private_canvas = fi.get_canvas() private_canvas.register_for_cursor_drawing(fi) private_canvas.add(canvas) canvas.ui_setActive(True) self.drawtypes = canvas.get_drawtypes() self.drawtypes.sort() # add a color bar #fi.show_color_bar(True) # add little mode indicator that shows keyboard modal states fi.show_mode_indicator(True, corner='ur') w = fi.get_widget() w.set_size_request(512, 512) vbox.pack_start(w, fill=True, expand=True) self.readout = gtk.Label("") vbox.pack_start(self.readout, fill=True, expand=False) hbox = gtk.HBox(spacing=5) wdrawtype = GtkHelp.combo_box_new_text() index = 0 for name in self.drawtypes: wdrawtype.insert_text(index, name) index += 1 index = self.drawtypes.index('rectangle') wdrawtype.set_active(index) wdrawtype.connect('changed', self.set_drawparams) self.wdrawtype = wdrawtype wdrawcolor = GtkHelp.combo_box_new_text() index = 0 for name in self.drawcolors: wdrawcolor.insert_text(index, name) index += 1 index = self.drawcolors.index('lightblue') wdrawcolor.set_active(index) wdrawcolor.connect('changed', self.set_drawparams) self.wdrawcolor = wdrawcolor wfill = GtkHelp.CheckButton("Fill") wfill.sconnect('toggled', self.set_drawparams) self.wfill = wfill walpha = GtkHelp.SpinButton() adj = walpha.get_adjustment() adj.configure(0.0, 0.0, 1.0, 0.1, 0.1, 0) walpha.set_value(1.0) walpha.set_digits(1) walpha.sconnect('value-changed', self.set_drawparams) self.walpha = walpha wclear = gtk.Button("Clear Canvas") wclear.connect('clicked', self.clear_canvas) wopen = gtk.Button("Open File") wopen.connect('clicked', self.open_file) wquit = gtk.Button("Quit") wquit.connect('clicked', quit) for w in (wquit, wclear, walpha, gtk.Label("Alpha:"), wfill, wdrawcolor, wdrawtype, wopen): hbox.pack_end(w, fill=False, expand=False) vbox.pack_start(hbox, fill=False, expand=False) root.add(vbox)
def build_gui(self, container, future=None): vbox1 = gtk.VBox() self.msgFont = self.fv.getFont('sansFont', 12) tw = gtk.TextView() tw.set_wrap_mode(gtk.WRAP_WORD) tw.set_left_margin(4) tw.set_right_margin(4) tw.set_editable(False) tw.set_left_margin(4) tw.set_right_margin(4) tw.modify_font(self.msgFont) self.tw = tw fr = gtk.Frame(label=" Instructions ") fr.set_shadow_type(gtk.SHADOW_ETCHED_OUT) fr.set_label_align(0.1, 0.5) fr.add(tw) vbox1.pack_start(fr, padding=4, fill=True, expand=False) nb = gtk.Notebook() #nb.set_group_id(group) #nb.connect("create-window", self.detach_page, group) nb.set_tab_pos(gtk.POS_BOTTOM) nb.set_scrollable(True) nb.set_show_tabs(True) nb.set_show_border(False) vbox1.pack_start(nb, padding=4, fill=True, expand=True) vbox0 = gtk.VBox() hbox = gtk.HBox(spacing=4) vbox = gtk.VBox() fr = gtk.Frame(label=" Image Server ") fr.set_shadow_type(gtk.SHADOW_ETCHED_IN) fr.set_label_align(0.5, 0.5) fr.add(vbox) captions = (('Server', 'xlabel'), ('@Server', 'combobox'), ('Use DSS channel', 'checkbutton'), ('Get Image', 'button')) w, self.w = GtkHelp.build_info(captions) self.w.nb = nb self.w.get_image.connect('clicked', lambda w: self.getimage_cb()) self.w.use_dss_channel.set_active(self.use_dss_channel) self.w.use_dss_channel.connect('toggled', self.use_dss_channel_cb) vbox.pack_start(w, padding=4, fill=True, expand=False) self.w.img_params = gtk.VBox() vbox.pack_start(self.w.img_params, padding=4, fill=True, expand=False) combobox = self.w.server index = 0 self.image_server_options = self.fv.imgsrv.getServerNames(kind='image') for name in self.image_server_options: combobox.insert_text(index, name) index += 1 index = 0 combobox.set_active(index) combobox.sconnect('changed', self.setup_params_image) if len(self.image_server_options) > 0: self.setup_params_image(combobox, redo=False) hbox.pack_start(fr, fill=True, expand=True) vbox = gtk.VBox() fr = gtk.Frame(label=" Catalog Server ") fr.set_shadow_type(gtk.SHADOW_ETCHED_IN) fr.set_label_align(0.5, 0.5) fr.add(vbox) captions = (('Server', 'xlabel'), ('@Server', 'combobox'), ('Limit stars to area', 'checkbutton'), ('Search', 'button')) w, self.w2 = GtkHelp.build_info(captions) self.w2.search.connect('clicked', lambda w: self.getcatalog_cb()) self.w2.limit_stars_to_area.set_active(self.limit_stars_to_area) self.w2.limit_stars_to_area.connect('toggled', self.limit_area_cb) vbox.pack_start(w, padding=4, fill=True, expand=False) self.w2.cat_params = gtk.VBox() vbox.pack_start(self.w2.cat_params, padding=4, fill=True, expand=False) combobox = self.w2.server index = 0 self.catalog_server_options = self.fv.imgsrv.getServerNames( kind='catalog') for name in self.catalog_server_options: combobox.insert_text(index, name) index += 1 index = 0 combobox.set_active(index) combobox.sconnect('changed', self.setup_params_catalog) if len(self.catalog_server_options) > 0: self.setup_params_catalog(combobox, redo=False) hbox.pack_start(fr, fill=True, expand=True) vbox0.pack_start(hbox, fill=True, expand=True) btns = gtk.HButtonBox() btns.set_layout(gtk.BUTTONBOX_START) btns.set_spacing(4) btn = gtk.RadioButton(None, "Rectangle") if self.drawtype == 'rectangle': btn.set_active(True) btn.connect('toggled', self.set_drawtype_cb, 'rectangle') btns.add(btn) btn = gtk.RadioButton(btn, "Circle") if self.drawtype == 'circle': btn.set_active(True) btn.connect('toggled', self.set_drawtype_cb, 'circle') btns.add(btn) btn = gtk.Button("Entire image") btn.connect('clicked', lambda w: self.setfromimage()) btns.add(btn) vbox0.pack_start(btns, padding=4, fill=True, expand=False) sw = gtk.ScrolledWindow() sw.set_border_width(2) sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) sw.add_with_viewport(vbox0) lbl = gtk.Label("Params") self.w.params = sw nb.append_page(sw, lbl) vbox = gtk.VBox() self.table = CatalogListing(self.logger, vbox) hbox = gtk.HBox() scale = gtk.HScrollbar() adj = scale.get_adjustment() #adj.configure(0, 0, 0, 1, 10, self.plot_limit) adj.configure(0, 0, 0, 1, 10, 0) #scale.set_size_request(200, -1) scale.set_tooltip_text("Choose subset of stars plotted") if not gtksel.have_gtk3: #scale.set_update_policy(gtk.UPDATE_DELAYED) scale.set_update_policy(gtk.UPDATE_CONTINUOUS) self.w.plotgrp = scale scale.connect('value-changed', self.plot_pct_cb) hbox.pack_start(scale, padding=2, fill=True, expand=True) sb = GtkHelp.SpinButton() adj = sb.get_adjustment() adj.configure(self.plot_limit, 10, self.plot_max, 10, 100, 0) self.w.plotnum = sb sb.set_tooltip_text("Adjust size of subset of stars plotted") sb.connect('value-changed', self.plot_limit_cb) hbox.pack_start(sb, padding=2, fill=False, expand=False) vbox.pack_start(hbox, padding=0, fill=False, expand=False) #vbox1.pack_start(vbox, padding=4, fill=True, expand=True) lbl = gtk.Label("Listing") self.w.listing = vbox nb.append_page(vbox, lbl) btns = gtk.HButtonBox() btns.set_layout(gtk.BUTTONBOX_START) btns.set_spacing(3) #btns.set_child_size(15, -1) self.w.buttons = btns btn = gtk.Button("Close") btn.connect('clicked', lambda w: self.close()) btns.add(btn) if future: btn = gtk.Button('Ok') btn.connect('clicked', lambda w: self.ok()) btns.add(btn) btn = gtk.Button('Cancel') btn.connect('clicked', lambda w: self.cancel()) btns.add(btn) vbox1.pack_start(btns, padding=4, fill=True, expand=False) vbox1.show_all() cw = container.get_widget() cw.pack_start(vbox1, padding=0, fill=True, expand=True)