def build_viewpane(self, settings, rgbmap=None, size=(1, 1)): # instantiate bindings loaded with users preferences bclass = Viewers.ImageViewCanvas.bindingsClass bindprefs = self.prefs.createCategory('bindings') bd = bclass(self.logger, settings=bindprefs) fi = Viewers.ImageViewCanvas(logger=self.logger, rgbmap=rgbmap, settings=settings, bindings=bd) fi.set_desired_size(size[0], size[1]) canvas = DrawingCanvas() canvas.enable_draw(False) fi.set_canvas(canvas) fi.set_enter_focus(settings.get('enter_focus', False)) fi.enable_auto_orient(True) fi.add_callback('motion', self.motion_cb) fi.add_callback('cursor-down', self.force_focus_cb) fi.add_callback('key-press', self.keypress) fi.add_callback('drag-drop', self.dragdrop) fi.ui_setActive(True) bd = fi.get_bindings() bd.enable_all(True) fi.set_bg(0.2, 0.2, 0.2) return fi
def add_pstamp(self): self.logger.debug('Called.') # Setup for thumbnail display di = Viewers.ImageViewCanvas(logger=self.logger) # di.configure_window(100, 100) di.set_desired_size(100, 100) di.enable_autozoom('on') di.add_callback('configure', self.window_resized_cb) di.enable_autocuts('off') di.set_bg(0.4, 0.4, 0.4) # for debugging di.set_name('pstamp') iw = Widgets.wrap(di.get_widget()) self.pstamps.add_widget(iw) return di
def build_gui(self, container): # width, height = 300, 300 # cm, im = self.fv.cm, self.fv.im thumb_len = self.settings.get('thumb_length', 192) tg = Viewers.ImageViewCanvas(logger=self.logger) tg.configure_window(thumb_len, thumb_len) tg.enable_autozoom('on') tg.set_autocut_params('zscale') tg.enable_autocuts('override') tg.enable_auto_orient(True) tg.defer_redraw = False tg.set_bg(0.7, 0.7, 0.7) self.thumb_generator = tg sw = Widgets.ScrollArea() sw.add_callback('configure', self.thumbpane_resized_cb) # Create thumbnails pane vbox = Widgets.GridBox() vbox.set_margins(4, 4, 4, 4) vbox.set_column_spacing(14) self.w.thumbs = vbox sw.set_widget(vbox) self.w.thumbs_scroll = sw container.add_widget(sw, stretch=1) captions = (('Auto scroll', 'checkbutton', 'Clear', 'button'), ) w, b = Widgets.build_info(captions) self.w.update(b) b.auto_scroll.set_tooltip( "Scroll the thumbs window when new images arrive") b.clear.set_tooltip("Remove all current thumbnails") b.clear.add_callback('activated', lambda w: self.clear()) auto_scroll = self.settings.get('auto_scroll', True) b.auto_scroll.set_state(auto_scroll) container.add_widget(w, stretch=0) self.gui_up = True