Changeset 2199

Show
Ignore:
Timestamp:
02/04/08 22:45:03 (7 months ago)
Author:
arj..@yirdis.nl
Message:

move diagram open code to main window.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphor/trunk/gaphor/services/filemanager.py

    r2198 r2199  
    147147        element_factory.notify_model() 
    148148 
    149         main_window.select_element(diagram) 
    150         main_window.show_diagram(diagram) 
     149        #main_window.select_element(diagram) 
     150        #main_window.show_diagram(diagram) 
    151151 
    152152        self._app.handle(FileManagerStateChanged(self)) 
     
    171171                error_handler(message='Error while loading model from file %s' % filename, exc_info=worker.exc_info) 
    172172 
    173             # Let this be handled by the main window itself: 
    174             #self._window.set_message('Model loaded successfully') 
    175             view = main_window.tree_view 
    176  
    177173            self.filename = filename 
    178174 
    179             # Expand all root elements: 
    180             view.expand_root_nodes() 
    181  
    182             # Open all diagrams under root node. 
    183             # TODO: move this! This is generic code. 
    184             # TODO: Make handlers for ModelFactoryEvent from within the GUI obj 
    185             model = main_window.tree_model 
    186             try: 
    187                 iter = model.get_iter((0,)) 
    188             except ValueError: 
    189                 # no data 
    190                 pass 
    191             else: 
    192                 if model.iter_has_child(iter): 
    193                     iter = model.iter_children(iter) 
    194                     while iter: 
    195                         e = model.get_value(iter, 0) 
    196                         if isinstance(e, UML.Diagram): 
    197                             main_window.show_diagram(e) 
    198                         iter = model.iter_next(iter) 
    199175        finally: 
    200176            try: 
  • gaphor/trunk/gaphor/ui/mainwindow.py

    r2192 r2199  
    2121from interfaces import IDiagramSelectionChange 
    2222from gaphor.interfaces import IServiceEvent, IActionExecutedEvent 
     23from gaphor.UML.event import ModelFactoryEvent 
    2324from event import DiagramSelectionChange 
    2425from gaphor.application import Application 
     
    268269 
    269270        Application.register_handler(self._action_executed) 
     271        Application.register_handler(self._new_model_content) 
    270272 
    271273    def _update_toolbox(self, action_group): 
     
    356358    # Signal callbacks: 
    357359 
     360    @component.adapter(ModelFactoryEvent) 
     361    def _new_model_content(self, event): 
     362        """ 
     363        Open the toplevel element and load toplevel diagrams. 
     364        """ 
     365        # Expand all root elements: 
     366        self.tree_view.expand_root_nodes() 
     367 
     368        # Open all diagrams under root node. 
     369        # TODO: move this! This is generic code. 
     370        # TODO: Make handlers for ModelFactoryEvent from within the GUI obj 
     371        model = self.tree_model 
     372        try: 
     373            iter = model.get_iter((0,)) 
     374        except ValueError: 
     375            # no data 
     376            pass 
     377        else: 
     378            if model.iter_has_child(iter): 
     379                iter = model.iter_children(iter) 
     380                while iter: 
     381                    e = model.get_value(iter, 0) 
     382                    if isinstance(e, UML.Diagram): 
     383                        self.show_diagram(e) 
     384                    iter = model.iter_next(iter) 
     385     
    358386    @component.adapter(FileManagerStateChanged) 
    359387    def _action_executed(self, event): 
     
    379407            gtk.main_quit() 
    380408        Application.unregister_handler(self._action_executed) 
     409        Application.unregister_handler(self._new_model_content) 
    381410 
    382411    def _on_tab_destroy(self, widget): 
     
    472501        self._tree_view.get_model().close() 
    473502        Application.unregister_handler(self._action_executed) 
     503        Application.unregister_handler(self._new_model_content) 
    474504 
    475505    @action(name='tree-view-open', label='_Open')