diff options
author | Nostalghia <b.vehikel@googlemail.com> | 2010-06-27 16:57:23 (GMT) |
---|---|---|
committer | Nostalghia <b.vehikel@googlemail.com> | 2010-06-27 16:57:23 (GMT) |
commit | 5dce05c339d2fc636b845d7c01d2103c565447f6 (patch) | |
tree | b467ca648fe2feb876705e47ecb86c31b3b2c59b /ep_page_zoom.py | |
parent | 22d182db24861239a33806c4869b2d6cc7228d8b (diff) |
refactoring th code for page handling
Diffstat (limited to 'ep_page_zoom.py')
-rw-r--r-- | ep_page_zoom.py | 68 |
1 files changed, 32 insertions, 36 deletions
diff --git a/ep_page_zoom.py b/ep_page_zoom.py index 1ce3ba4..d9eb004 100644 --- a/ep_page_zoom.py +++ b/ep_page_zoom.py @@ -15,63 +15,69 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +from gettext import gettext as _ + import cairo +import gtk + import ka_debug import ka_task import ka_controller -_ZOOM_PAGE_NUMBER = 1 - class ZoomController(object): """ - inv: self._widget_tree is not None - inv: self._drawing_page is not None - inv: self._drawing_area is not None + inv: self._widget_list is not None """ - def __init__(self, controller, init_widget_tree): + def __init__(self, controller, widget_list, activity_root): """ - pre: init_widget_tree is not None + pre: controller is not None + pre: widget_list is not None """ - self._widget_tree = init_widget_tree - self._my_page = False + self._controller = controller + self._widget_list = widget_list self._surface = None self._protozoon = None - self._drawing_page = self._widget_tree.get_widget('kandidNotebook'). \ - get_nth_page(_ZOOM_PAGE_NUMBER) - self._drawing_area = self._widget_tree.get_widget('zoomarea') + self.position = 100 def close(self): """Clean up""" pass + def create_gui(self): + """ """ + page = gtk.HBox() + self._widget_list.remember('zoomPage', page) + aspectframe = gtk.AspectFrame() + drawingarea = gtk.DrawingArea() + self._widget_list.remember('zoomarea', drawingarea) + aspectframe.add(drawingarea) + page.pack_start(aspectframe, expand=True, fill=True) + return page, gtk.Label(_('Zoom')) + def autoconnect_events(self): """Auto connect zoom view.""" - self._drawing_area.connect('expose-event', self.on_zoomarea_expose) - self._drawing_area.connect('size-allocate', self.on_zoomarea_size_allocate) -#!NO events = { -# 'on_notebook_switch_page' : self.on_notebook_switch_page, -# 'on_zoomarea_expose' : self.on_zoomarea_expose, -# 'on_zoomarea_size_allocate' : self.on_zoomarea_size_allocate, -# } -#!NO self._widget_tree.signal_autoconnect(events) + drawing_area = self._widget_list.get_widget('zoomarea') + drawing_area.connect('expose-event', self.on_zoomarea_expose) + drawing_area.connect('size-allocate', self.on_zoomarea_size_allocate) def localize(self): """A dummy""" pass - def show(self): + def activate_gui(self): """Hide zoom view initially.""" - self._drawing_page.hide() + drawing_page = self._widget_list.get_widget('zoomPage') + drawing_page.hide() def on_zoomarea_expose(self, widget, event): """ Repaint image of a single protozoon inside zoom view. pre: widget is not None """ - # draw precalculated protozoon stored in the surface cache. # ka_debug.info('on_zoomarea_expose: ' + widget.name + ' ' # + str(widget.allocation.width) # + 'x' + str(widget.allocation.height)) + # draw precalculated protozoon stored in the surface cache. self._draw_from_cache(widget) def on_zoomarea_size_allocate(self, widget, event): @@ -86,18 +92,8 @@ class ZoomController(object): def on_zoom_completed(self, *args): """Rendering protozoon is completed.""" # ka_debug.info('on_zoom_completed: ' + str(args[0])) - self._drawing_page.show() - self._widget_tree.get_widget('kandidNotebook'). \ - set_current_page(_ZOOM_PAGE_NUMBER) - self._drawing_area = self._widget_tree.get_widget('zoomarea') - self._draw_from_cache(self._drawing_area) - - def on_notebook_switch_page(self, *args): - """Test if zoom page will be displayed. - pre: len(args) >= 3 - """ -# ka_debug.info('on_notebook_switch_page %s' % (args[2])) - self._my_page = args[2] == _ZOOM_PAGE_NUMBER + self._controller.switch_page('ZoomController') + self._draw_from_cache(self._widget_list.get_widget('zoomarea')) def task_render(self, task, *args, **kwargs): """Render zoom view of protozoon. @@ -115,7 +111,7 @@ class ZoomController(object): """Start rendering of protozoon.""" self._protozoon = zoom_protozoon if self._protozoon is not None: - widget = self._widget_tree.get_widget('zoomarea') + widget = self._widget_list.get_widget('zoomarea') task = ka_task.GeneratorTask(self.task_render, self.on_zoom_completed, 'zoomarea') |