Changeset 1360
- Timestamp:
- 06/11/07 06:28:01 (1 year ago)
- Files:
-
- gaphor/trunk/gaphor/plugins/liveobjectbrowser/__init__.py (modified) (1 diff)
- gaphor/trunk/gaphor/plugins/liveobjectbrowser/browser.py (modified) (3 diffs)
- gaphor/trunk/setup.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/plugins/liveobjectbrowser/__init__.py
r1243 r1360 1 # vim:sw=4:et 1 """ 2 Plugin based on the Live Object browser 3 (http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/300304). 4 It shows the state of the data model at the time the browser is activated. 5 """ 2 6 3 import gaphor.plugin 4 from gaphor.core import inject 7 __version__ = '0.1' 8 __author__ = 'Arjan Molenaar' 9 10 from zope import interface 11 from gaphor.core import _, inject, action, build_action_group 12 from gaphor.interfaces import IService, IActionProvider 5 13 from browser import Browser 6 import gaphor7 14 8 class LiveObjectBrowserAction(gaphor.plugin.Action): 15 16 class LiveObjectBrowser(object): 17 18 interface.implements(IService, IActionProvider) 9 19 10 20 element_factory = inject('element_factory') 11 21 22 menu_xml = """ 23 <ui> 24 <menubar action="mainwindow"> 25 <menu action="tools"> 26 <menuitem action="tools-life-object-browser" /> 27 </menu> 28 </menubar> 29 </ui>""" 30 31 def __init__(self): 32 self.action_group = build_action_group(self) 33 34 def init(self, app): 35 pass 36 37 def shutdown(self): 38 pass 39 40 @action(name='tools-life-object-browser', label='Life object browser') 12 41 def execute(self): 13 browser = Browser() 14 browser.construct("resource", element_factory.lselect()) 15 self.window.add_transient_window(browser) 42 browser = Browser("resource", self.element_factory.lselect()) 43 44 45 # vim:sw=4:et gaphor/trunk/gaphor/plugins/liveobjectbrowser/browser.py
r1225 r1360 14 14 15 15 import gtk 16 from gaphor.ui.abstractwindow import AbstractWindow17 16 18 class Browser(AbstractWindow): 19 20 menu = ('_File', ('FileClose',)) 21 22 def __init__(self): 23 AbstractWindow.__init__(self) 24 25 def construct(self, name, value): 26 27 # we will store the name, the type name, and the repr 28 columns = [str,str,str] 29 self.treestore = gtk.TreeStore(*columns) 30 31 # the otank tells us what object we put at each node in the tree 32 self.otank = {} # map path -> (name,value) 33 self.make( name, value ) 34 35 self.treeview = gtk.TreeView(self.treestore) 36 self.treeview.connect("row-expanded", self.row_expanded ) 37 38 self.tvcolumns = [ gtk.TreeViewColumn() for _type in columns ] 39 i = 0 40 for tvcolumn in self.tvcolumns: 41 self.treeview.append_column(tvcolumn) 42 cell = gtk.CellRendererText() 43 tvcolumn.pack_start(cell, True) 44 tvcolumn.add_attribute(cell, 'text', i) 45 i = i + 1 46 47 scrolled_window = gtk.ScrolledWindow() 48 scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) 49 scrolled_window.set_shadow_type(gtk.SHADOW_ETCHED_IN) 50 scrolled_window.add(self.treeview) 51 scrolled_window.set_size_request(512, 320) 52 scrolled_window.show_all() 53 54 self._construct_window(name='console', 55 title='Gaphor Console', 56 size=(400, 400), 57 contents=scrolled_window) 17 class Browser(object): 58 18 59 19 def make_row( self, piter, name, value ): … … 109 69 self.window.destroy() 110 70 #gtk.main_quit() 111 return gtk.FALSE71 return False 112 72 113 def original__init__(self, name, value):73 def __init__(self, name, value): 114 74 self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 115 75 self.window.set_title("Browser") … … 137 97 i = i + 1 138 98 139 self.window.add(self.treeview) 99 scrolled_window = gtk.ScrolledWindow() 100 scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) 101 scrolled_window.set_shadow_type(gtk.SHADOW_ETCHED_IN) 102 scrolled_window.add(self.treeview) 103 104 self.window.add(scrolled_window) 140 105 self.window.show_all() 141 106 gaphor/trunk/setup.py
r1357 r1360 132 132 'pynsource = gaphor.plugins.pynsource:PyNSource', 133 133 'check_metamodel = gaphor.plugins.checkmetamodel:CheckModelWindow', 134 'live_object_browser = gaphor.plugins.liveobjectbrowser:LiveObjectBrowser', 134 135 ], 135 136 'gaphor.uicomponents': [
