def __init__(self, fv, fitsimage): # superclass defines some variables for us, like logger super(ScreenShot, self).__init__(fv, fitsimage) self.tosave_type = 'png' self.saved_type = None self.savetypes = ('png', 'jpeg') self.tmpname = os.path.join(tempfile.tempdir, "__snap") self.save_path = '' self.save_name = '' self._wd = 200 self._ht = 200 self._split_sizes = [500, 400] # Build our screenshot generator sg = CanvasView(logger=self.logger) sg.configure_surface(self._wd, self._ht) sg.enable_autozoom('off') sg.enable_autocuts('off') sg.enable_autocenter('off') sg.enable_auto_orient(False) sg.defer_redraw = False t_ = self.fitsimage.get_settings() sg.t_.set(interpolation=t_.get('interpolation')) sg.set_bg(0.7, 0.7, 0.7) self.shot_generator = sg self.fitsimage.add_callback('configure', self._configure_cb) self._screen_size = True self._lock_aspect = False self._sg_aspect = None self._sg_wd = None self._sg_ht = None self.transfer_attrs = [ 'transforms', 'rotation', 'cutlevels', 'pan', 'rgbmap' ] self.gui_up = False
def __init__(self, fv, fitsimage): # superclass defines some variables for us, like logger super(ScreenShot, self).__init__(fv, fitsimage) self.tosave_type = 'png' self.saved_type = None self.savetypes = ('png', 'jpeg') self.tmpname = os.path.join(tempfile.tempdir, "__snap") self.save_path = '' self.save_name = '' self._wd = 200 self._ht = 200 self._split_sizes = [500, 400] # Build our screenshot generator sg = CanvasView(logger=self.logger) sg.configure_surface(self._wd, self._ht) sg.enable_autozoom('off') sg.enable_autocuts('off') sg.enable_autocenter('off') sg.enable_auto_orient(False) sg.defer_redraw = False t_ = self.fitsimage.get_settings() sg.t_.set(interpolation=t_.get('interpolation')) sg.set_bg(0.7, 0.7, 0.7) self.shot_generator = sg self.fitsimage.add_callback('configure', self._configure_cb) self._screen_size = True self._lock_aspect = False self._sg_aspect = None self._sg_wd = None self._sg_ht = None self.transfer_attrs = ['transforms', 'rotation', 'cutlevels', 'pan', 'rgbmap'] self.gui_up = False
def __init__(self, fv): # superclass defines some variables for us, like logger super(Thumbs, self).__init__(fv) # For thumbnail pane self.thumb_dict = {} self.thumb_list = [] self.thumb_num_cols = 1 self.thumb_row_count = 0 self.thumb_col_count = 0 self._wd = 300 self._ht = 400 self._cmxoff = 0 self._cmyoff = 0 self._displayed_thumb_dict = {} tt_keywords = ['OBJECT', 'FRAMEID', 'UT', 'DATE-OBS'] prefs = self.fv.get_preferences() self.settings = prefs.create_category('plugin_Thumbs') self.settings.add_defaults(cache_thumbs=False, cache_location='local', auto_scroll=False, rebuild_wait=0.5, tt_keywords=tt_keywords, mouseover_name_key='NAME', thumb_length=180, thumb_hsep=15, thumb_vsep=15, sort_order=None, label_length=25, label_cutoff='right', highlight_tracks_keyboard_focus=True, label_font_color='white', label_font_size=10, label_bg_color='lightgreen', autoload_visible_thumbs=True, autoload_interval=1.0, transfer_attrs=['transforms', 'cutlevels', 'rgbmap']) self.settings.load(onError='silent') # max length of thumb on the long side self.thumb_width = self.settings.get('thumb_length', 180) # distance in pixels between thumbs self.thumb_hsep = self.settings.get('thumb_hsep', 15) self.thumb_vsep = self.settings.get('thumb_vsep', 15) self.transfer_attrs = self.settings.get('transfer_attrs', []) # Build our thumb generator tg = CanvasView(logger=self.logger) tg.configure_surface(self.thumb_width, self.thumb_width) tg.enable_autozoom('on') tg.set_autocut_params('histogram') tg.enable_autocuts('on') tg.enable_auto_orient(True) tg.defer_redraw = False tg.set_bg(0.7, 0.7, 0.7) self.thumb_generator = tg self.thmbtask = fv.get_timer() self.thmbtask.set_callback('expired', self.redo_delay_timer) self.lagtime = self.settings.get('rebuild_wait', 0.5) self.thmblock = threading.RLock() self.timer_autoload = fv.get_timer() self.timer_autoload.set_callback('expired', self.timer_autoload_cb) self.autoload_interval = self.settings.get('autoload_interval', 1.0) self.autoload_visible = self.settings.get('autoload_visible_thumbs', False) self._to_build = set([]) # this will hold the thumbnails pane viewer self.c_view = None # TODO: these maybe should be configurable by channel # different instruments have different keywords of interest self.keywords = self.settings.get('tt_keywords', tt_keywords) self.keywords.insert(0, self.settings.get('mouseover_name_key', 'NAME')) self.highlight_tracks_keyboard_focus = self.settings.get( 'highlight_tracks_keyboard_focus', True) self._tkf_highlight = set([]) fv.set_callback('add-image', self.add_image_cb) fv.set_callback('add-image-info', self.add_image_info_cb) fv.set_callback('remove-image-info', self.remove_image_info_cb) fv.set_callback('add-channel', self.add_channel_cb) fv.set_callback('delete-channel', self.delete_channel_cb) fv.add_callback('channel-change', self.focus_cb) self.gui_up = False
def __init__(self, fv): # superclass defines some variables for us, like logger super(Thumbs, self).__init__(fv) # For thumbnail pane self.thumb_dict = {} self.thumb_list = [] self.thumb_num_cols = 1 self.thumb_row_count = 0 self.thumb_col_count = 0 self._wd = 300 self._ht = 400 self._cmxoff = 0 self._cmyoff = 0 self._displayed_thumb_dict = {} tt_keywords = ['OBJECT', 'FRAMEID', 'UT', 'DATE-OBS'] spec = self.fv.get_plugin_spec(str(self)) prefs = self.fv.get_preferences() self.settings = prefs.create_category('plugin_Thumbs') self.settings.add_defaults(cache_thumbs=False, cache_location='local', auto_scroll=False, rebuild_wait=0.5, tt_keywords=tt_keywords, mouseover_name_key='NAME', thumb_length=180, thumb_hsep=15, thumb_vsep=15, sort_order=None, label_length=25, label_cutoff='right', highlight_tracks_keyboard_focus=True, label_font_color='white', label_font_size=10, label_bg_color='lightgreen', autoload_visible_thumbs=True, autoload_interval=1.0, closeable=not spec.get('hidden', False), transfer_attrs=['transforms', 'cutlevels', 'rgbmap']) self.settings.load(onError='silent') # max length of thumb on the long side self.thumb_width = self.settings.get('thumb_length', 180) # distance in pixels between thumbs self.thumb_hsep = self.settings.get('thumb_hsep', 15) self.thumb_vsep = self.settings.get('thumb_vsep', 15) self.transfer_attrs = self.settings.get('transfer_attrs', []) # Build our thumb generator tg = CanvasView(logger=self.logger) tg.configure_surface(self.thumb_width, self.thumb_width) tg.enable_autozoom('on') tg.set_autocut_params('histogram') tg.enable_autocuts('on') tg.enable_auto_orient(True) tg.defer_redraw = False tg.set_bg(0.7, 0.7, 0.7) self.thumb_generator = tg self.thmbtask = fv.get_timer() self.thmbtask.set_callback('expired', self.redo_delay_timer) self.lagtime = self.settings.get('rebuild_wait', 0.5) self.thmblock = threading.RLock() self.timer_autoload = fv.get_timer() self.timer_autoload.set_callback('expired', self.timer_autoload_cb) self.autoload_interval = self.settings.get('autoload_interval', 1.0) self.autoload_visible = self.settings.get('autoload_visible_thumbs', False) self._to_build = set([]) # this will hold the thumbnails pane viewer self.c_view = None # TODO: these maybe should be configurable by channel # different instruments have different keywords of interest self.keywords = self.settings.get('tt_keywords', tt_keywords) self.keywords.insert(0, self.settings.get('mouseover_name_key', 'NAME')) self.highlight_tracks_keyboard_focus = self.settings.get( 'highlight_tracks_keyboard_focus', True) self._tkf_highlight = set([]) fv.set_callback('add-image', self.add_image_cb) fv.set_callback('add-image-info', self.add_image_info_cb) fv.set_callback('remove-image-info', self.remove_image_info_cb) fv.set_callback('add-channel', self.add_channel_cb) fv.set_callback('delete-channel', self.delete_channel_cb) fv.add_callback('channel-change', self.focus_cb) self.gui_up = False