def __init__(self, viewer=None, width=600, height=600): super(GingaViewerWidget, self).__init__() if viewer is None: viewer = CanvasView() self.logger = viewer.logger self.viewer = viewer self.widget = viewer.get_widget()
def __init__(self, logger): self.logger = logger self.drawcolors = colors.get_colors() self.dc = get_canvas_types() root = Gtk.Window(title="Gtk3 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_cb) fi.set_callback('cursor-changed', self.cursor_cb) fi.set_bg(0.2, 0.2, 0.2) fi.ui_set_active(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.set_surface(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_set_active(True) self.drawtypes = canvas.get_drawtypes() self.drawtypes.sort() # add a color bar fi.show_color_bar(True) fi.show_focus_indicator(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, True, True, 1) self.readout = Gtk.Label("") vbox.pack_start(self.readout, False, False, 0) 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, False, False, 0) vbox.pack_start(hbox, False, False, 0) root.add(vbox)
def __init__(self, logger): self.logger = logger root = Gtk.Window(title="ImageViewZoom Example") root.set_border_width(2) root.connect("delete_event", lambda w, e: self.quit(w)) self.root = root self.select = GtkHelp.FileSelection(root) vbox = Gtk.VBox(spacing=2) # create the ginga viewer and configure it fi = CanvasView(logger) fi.enable_autocuts('on') fi.set_autocut_params('zscale') fi.enable_autozoom('on') fi.set_callback('drag-drop', self.drop_file) fi.set_bg(0.2, 0.2, 0.2) fi.ui_set_active(True) fi.enable_auto_orient(True) self.fitsimage = fi # enable some user interaction bd = fi.get_bindings() bd.enable_all(True) w = fi.get_widget() w.set_size_request(512, 512) # add scrollbar interface around this viewer si = ScrolledView(fi) si.scroll_bars(horizontal='on', vertical='on') vbox.pack_start(si, True, True, 0) hbox = Gtk.HButtonBox() hbox.set_layout(Gtk.ButtonBoxStyle.END) wopen = Gtk.Button(label="Open File") wopen.connect('clicked', self.open_file) wquit = Gtk.Button(label="Quit") wquit.connect('clicked', self.quit) for w in (wopen, wquit): hbox.add(w) vbox.pack_start(hbox, False, False, 0) root.add(vbox)
def __init__(self, logger): self.logger = logger root = Gtk.Window(title="ImageViewZoom Example") root.set_border_width(2) root.connect("delete_event", lambda w, e: self.quit(w)) self.root = root self.select = GtkHelp.FileSelection(root) vbox = Gtk.VBox(spacing=2) # create the ginga viewer and configure it fi = CanvasView(logger) fi.enable_autocuts('on') fi.set_autocut_params('zscale') fi.enable_autozoom('on') fi.set_callback('drag-drop', self.drop_file) fi.set_bg(0.2, 0.2, 0.2) fi.ui_set_active(True) fi.enable_auto_orient(True) self.fitsimage = fi # enable some user interaction bd = fi.get_bindings() bd.enable_all(True) w = fi.get_widget() w.set_size_request(512, 512) # add scrollbar interface around this viewer si = ScrolledView(fi) si.scroll_bars(horizontal='on', vertical='on') vbox.pack_start(si, True, True, 0) hbox = Gtk.HButtonBox() hbox.set_layout(Gtk.ButtonBoxStyle.END) wopen = Gtk.Button("Open File") wopen.connect('clicked', self.open_file) wquit = Gtk.Button("Quit") wquit.connect('clicked', self.quit) for w in (wopen, wquit): hbox.add(w) vbox.pack_start(hbox, False, False, 0) root.add(vbox)
def __init__(self, logger): self.logger = logger self.drawcolors = colors.get_colors() self.dc = get_canvas_types() root = Gtk.Window(title="Gtk3 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, True, True, 1) self.readout = Gtk.Label("") vbox.pack_start(self.readout, False, False, 0) 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, False, False, 0) vbox.pack_start(hbox, False, False, 0) root.add(vbox)