Changeset 1268

Show
Ignore:
Timestamp:
05/11/07 02:56:45 (2 years ago)
Author:
arj..@yirdis.nl
Message:

fixed menus in file and undo manager (use action= in menus, not name=)

Files:

Legend:

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

    r1264 r1268  
    9494    """ 
    9595    import gtk 
    96     group = gtk.ActionGroup(name
     96    group = gtk.ActionGroup(name or obj
    9797 
    9898    for attrname in dir(obj): 
  • gaphor/trunk/gaphor/application.py

    r1264 r1268  
    6565            log.info('initializing service service.%s' % name) 
    6666            # TODO: do init() before provideUtility! 
     67            srv.init(self) 
    6768            component.provideUtility(srv, IService, name) 
    68             srv.init(self) 
    6969            component.handle(ServiceInitializedEvent(name, srv)) 
    7070            return srv 
  • gaphor/trunk/gaphor/services/actionmanager.py

    r1267 r1268  
    2121    def init(self, app): 
    2222        self.ui_manager = gtk.UIManager() 
     23        log.info('Loading not yet registered action provider services') 
     24        for name, service in component.getUtilitiesFor(IService): 
     25            if IActionProvider.providedBy(service): 
     26                log.debug('Loading already registered service %s' % str(service)) 
     27                self.register_action_provider(service) 
     28 
    2329        component.provideHandler(self._service_initialized_handler) 
    2430 
     
    4349 
    4450    def register_action_provider(self, action_provider): 
    45         log.debug('Registering actions for %s' % str(action_provider)) 
    4651        action_provider = IActionProvider(action_provider) 
    4752        try: 
     
    4954            action_provider.__ui_merge_id 
    5055        except AttributeError: 
     56            log.debug('Registering actions for %s' % str(action_provider)) 
    5157             
    5258            assert action_provider.action_group 
    53             self.ui_manager.insert_action_group(action_provider.action_group, -1) 
    5459            if action_provider.menu_xml: 
    5560                action_provider.__ui_merge_id = \ 
    5661                        self.ui_manager.add_ui_from_string(action_provider.menu_xml) 
     62                log.debug('Added menu xml %d' % action_provider.__ui_merge_id) 
     63            self.ui_manager.insert_action_group(action_provider.action_group, -1) 
     64            self.update_actions() 
    5765 
    5866    @component.adapter(ServiceInitializedEvent) 
    5967    def _service_initialized_handler(self, event): 
    6068        if IActionProvider.providedBy(event.service): 
     69            log.debug('Loading registered service %s' % str(event.service)) 
    6170            self.register_action_provider(event.service) 
    6271        # Only start registring already registered services once the GUI 
    6372        # is in order (e.i. menu structure is correctly set up) 
    64         if event.name == 'gui_manager': 
    65             log.info('Loading not yet registered action provider services') 
    66             for name, service in component.getUtilitiesFor(IService): 
    67                 if IActionProvider.providedBy(service): 
    68                     self.register_action_provider(service) 
     73#        if event.name == 'gui_manager': 
     74#            log.info('Loading not yet registered action provider services') 
     75#            for name, service in component.getUtilitiesFor(IService): 
     76#                if IActionProvider.providedBy(service): 
     77#                    log.debug('Loading already registered service %s' % str(service)) 
     78#                    self.register_action_provider(service) 
    6979 
    7080# vim:sw=4:et:ai 
  • gaphor/trunk/gaphor/services/filemanager.py

    r1267 r1268  
    2323      <ui> 
    2424        <menubar name="mainwindow"> 
    25           <menu name="file"> 
    26            <placeholder name="primary"> 
     25          <menu action="file"> 
     26            <placeholder name="primary"> 
    2727              <menuitem action="file-new" /> 
    2828              <menuitem action="file-open" /> 
    29               <menu name="recent" action="file-recent-files"> 
    30               </menu> 
    3129              <separator /> 
    3230              <menuitem action="file-save" /> 
    3331              <menuitem action="file-save-as" /> 
    3432              <separator /> 
    35            </placeholder> 
     33            </placeholder> 
    3634          </menu> 
    3735        </menubar> 
    3836      </ui> 
    3937    """ 
     38#              <menu name="recent" action="file-recent-files"> 
     39#              </menu> 
    4040 
    4141    def __init__(self): 
     
    4747    def shutdown(self): 
    4848        pass 
    49          
     49 
    5050    @action(name='file-new', stock_id='gtk-new') 
    5151    def new(self): 
    5252        element_factory = self.element_factory 
    53        main_window = self.gui_manager.main_window 
     53        main_window = self.gui_manager.main_window 
    5454        if element_factory.size(): 
    5555            dialog = gtk.MessageDialog(main_window.window, 
     
    8989    @action(name='file-recent-files', label=_('Recent files'), stock_id='gtk-recent') 
    9090    def recent_files(self): 
    91        pass 
     91        pass 
    9292 
    9393 
  • gaphor/trunk/gaphor/services/undomanager.py

    r1264 r1268  
    8686      <ui> 
    8787        <menubar name="mainwindow"> 
    88           <menu name="edit"> 
    89             <menuitem action="edit-undo" /> 
    90             <menuitem action="edit-redo" /> 
    91             <separator /> 
     88          <menu action="edit"> 
     89            <placeholder name="primary"> 
     90              <menuitem action="edit-undo" /> 
     91              <menuitem action="edit-redo" /> 
     92              <separator /> 
     93            </placeholder> 
    9294          </menu> 
    9395        </menubar> 
  • gaphor/trunk/gaphor/ui/consolewindow.py

    r1267 r1268  
    2020        <ui> 
    2121          <menubar name="mainwindow"> 
    22             <menu name="window" action="window"> 
     22            <menu action="window"> 
    2323              <menuitem action="ConsoleWindow:open" /> 
    2424            </menu> 
    2525          </menubar> 
    2626          <menubar name="consolewindow"> 
    27             <menu name="file" action="file"> 
     27            <menu action="file"> 
    2828              <menuitem action="ConsoleWindow:close" /> 
    2929            </menu> 
  • gaphor/trunk/gaphor/ui/mainwindow.py

    r1267 r1268  
    174174      <ui> 
    175175        <menubar name="mainwindow"> 
    176           <menu name="file" action="file"
     176          <menu name="file" action="file"
    177177            <placeholder name="primary" /> 
    178178            <placeholder name="secondary" /> 
     
    206206        <toolbar action="tools"> 
    207207        </toolbar> 
    208         <popup action="NamespacePopup"> 
    209           <menuitem action="RenameModelElement" /> 
    210           <menuitem action="OpenModelElement" /> 
    211           <separator /> 
    212           <menuitem action="CreateDiagram" /> 
    213           <menuitem action="DeleteDiagram" /> 
    214           <separator /> 
    215           <menuitem action="RefreshNamespaceModel" /> 
    216           <placeholder action="namespacePopupSlot" /> 
    217         </popup> 
    218208      </ui> 
    219209    """ 
     
    252242#          <toolitem action="ViewZoom100" /> 
    253243 
     244#        <popup action="NamespacePopup"> 
     245#          <menuitem action="RenameModelElement" /> 
     246#          <menuitem action="OpenModelElement" /> 
     247#          <separator /> 
     248#          <menuitem action="CreateDiagram" /> 
     249#          <menuitem action="DeleteDiagram" /> 
     250#          <separator /> 
     251#          <menuitem action="RefreshNamespaceModel" /> 
     252#          <placeholder action="namespacePopupSlot" /> 
     253#        </popup> 
    254254 
    255255    def __init__(self):