Changeset 1229
- Timestamp:
- 04/16/07 22:58:45 (2 years ago)
- Files:
-
- gaphor/trunk/gaphor/UML/elementfactory.py (modified) (1 diff)
- gaphor/trunk/gaphor/actions/mainactions.py (modified) (2 diffs)
- gaphor/trunk/gaphor/application.py (modified) (1 diff)
- gaphor/trunk/gaphor/misc/resource.py (modified) (4 diffs)
- gaphor/trunk/gaphor/services/properties.py (modified) (3 diffs)
- gaphor/trunk/gaphor/ui/mainwindow.py (modified) (6 diffs)
- gaphor/trunk/gaphor/ui/toolbox.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/UML/elementfactory.py
r1219 r1229 32 32 self._elements = odict.odict() 33 33 self._observers = list() 34 35 def init(self, app): 36 pass 37 38 def shutdown(self): 39 pass 34 40 35 41 def create(self, type): gaphor/trunk/gaphor/actions/mainactions.py
r1227 r1229 678 678 679 679 gui_manager = inject('gui_manager') 680 properties = inject('properties') 680 681 681 682 def __init__(self, slot_id): … … 683 684 684 685 def get_menu(self): 685 recent_files = resource('recent-files', [])686 recent_files = self.properties('recent-files', []) 686 687 window = self.gui_manager.main_window 687 688 file_list = [] gaphor/trunk/gaphor/application.py
r1227 r1229 72 72 73 73 def shutdown(self): 74 pass # for each IService: shutdown 74 for u in component.getAllUtilitiesRegisteredFor(IService): 75 u.shutdown() 76 75 77 76 78 # Make sure there is only one! gaphor/trunk/gaphor/misc/resource.py
r1205 r1229 1 1 #!/usr/bin/env python 2 # vim:sw=4:et3 2 """ 4 3 """ … … 19 18 self._resources.update(initial_resources) 20 19 self._persistent = [] 21 self._backend = backend or FileBackend()22 self._backend.load(self)20 #self._backend = backend or FileBackend() 21 #self._backend.load(self) 23 22 24 23 def __call__(self, r, default=_no_default): … … 26 25 27 26 def save(self): 28 self._backend.save(self, self._persistent) 27 #self._backend.save(self, self._persistent) 28 pass 29 29 30 30 def _items(self): … … 93 93 if r not in self._persistent: 94 94 self._persistent.append(r) 95 self._backend.update(r, value)95 #self._backend.update(r, value) 96 96 97 97 98 class FileBackend(object): 99 """Resource backend that stores data to a resource file 100 ($HOME/.gaphor/resource). 101 """ 102 RESOURCE_FILE='resources' 103 104 def __init__(self): 105 pass 106 107 def get_filename(self, datadir, create=False): 108 if create and not os.path.exists(datadir): 109 os.mkdir(datadir) 110 return os.path.join(datadir, self.RESOURCE_FILE) 111 112 def load(self, resource): 113 filename = self.get_filename(resource('UserDataDir')) 114 if os.path.exists(filename) and os.path.isfile(filename): 115 f = open(filename) 116 d = f.read() 117 f.close() 118 for k, v in eval(d).iteritems(): 119 resource.set(k, v, persistent=True) 120 121 def save(self, resource, persistent): 122 """Save persist resources from the resources dictionary. 123 @resource is the Resource instance 124 @persistent is a list of persistent resource names. 125 """ 126 filename = self.get_filename(resource('UserDataDir'), create=True) 127 f = open(filename, 'w') 128 persist = dict([(k, v) for k, v in resource._items() if k in persistent]) 129 pprint.pprint(persist, f) 130 131 def update(self, r, value): 132 pass 133 134 135 try: 136 import gconf 137 except ImportError, e: 138 pass 139 else: 140 class GConfBackend(object): 141 DOMAIN = '/apps/gaphor/' 142 143 def __init__(self): 144 self._gconf_client = gconf.client_get_default () 145 146 def load(self, resources): 147 pass 148 149 def save(self, resources, persistent): 150 pass 151 152 def update(self, r, value): 153 pass 154 155 98 # vim:sw=4:et gaphor/trunk/gaphor/services/properties.py
r1222 r1229 30 30 def __init__(self, backend=None): 31 31 self._resources = {} 32 self._persistent = []33 32 self._backend = backend or FileBackend() 34 33 … … 89 88 Save the property to a persistent storage. 90 89 """ 91 if r not in self._persistent:92 self._persistent.append(r)93 90 self._backend.update(r, value) 94 91 … … 126 123 filename = self.get_filename(user_data_dir, create=True) 127 124 f = open(filename, 'w') 128 pprint.pprint(resource._ items(), f)125 pprint.pprint(resource._resources, f) 129 126 130 127 def update(self, r, value): gaphor/trunk/gaphor/ui/mainwindow.py
r1219 r1229 6 6 from gaphor import resource 7 7 from gaphor import UML 8 from gaphor.core import inject 8 9 from gaphor.i18n import _ 9 10 from gaphor.ui import namespace … … 24 25 It contains a Namespace-based tree view and a menu and a statusbar. 25 26 """ 27 properties = inject('properties') 26 28 27 29 toolbox = ( … … 177 179 # Add to recent files list 178 180 if filename: 179 recent_files = resource('recent-files', [])181 recent_files = self.properties.get('recent-files', []) 180 182 if filename not in recent_files: 181 183 recent_files = [filename] + recent_files[:8] 182 resource.set('recent-files', recent_files, persistent=True)184 self.properties.set('recent-files', recent_files) 183 185 self.get_action_pool().get_slot('RecentFiles').rebuild() 184 186 … … 279 281 secondPaned = gtk.VPaned() 280 282 secondPaned.set_property('position', 281 int( resource('ui.object-inspector-position', 600)))283 int(self.properties.get('ui.object-inspector-position', 600))) 282 284 secondPaned.pack1(notebook) 283 285 secondPaned.pack2(self.objectInspector) … … 293 295 self.view = view 294 296 295 window_size = resource('ui.window-size', (760, 580))297 window_size = self.properties.get('ui.window-size', (760, 580)) 296 298 self._construct_window(name='main', 297 299 title='Gaphor', … … 443 445 444 446 def on_window_size_allocate(self, window, allocation): 445 resource.set('ui.window-size', (allocation.width, allocation.height), persistent=True)447 self.properties.set('ui.window-size', (allocation.width, allocation.height)) 446 448 447 449 def on_object_inspector_notify_position(self, paned, arg): 448 resource.set('ui.object-inspector-position',449 paned.get_position() , persistent=True)450 self.properties.set('ui.object-inspector-position', 451 paned.get_position()) 450 452 451 453 # def on_toolbox_toggled(self, toolbox, box_name, visible): 452 454 # print 'Box', box_name, 'is visible:', visible 453 # #resource.set('ui.toolbox.%s' % box_name, visible , persistent=True)455 # #resource.set('ui.toolbox.%s' % box_name, visible) 454 456 455 457 # def on_transient_window_closed(self, window): gaphor/trunk/gaphor/ui/toolbox.py
r1131 r1229 6 6 import gtk 7 7 8 from gaphor import resource8 from gaphor.core import inject 9 9 10 10 class Toolbox(gtk.VBox): … … 24 24 gobject.TYPE_NONE, (gobject.TYPE_STRING, gobject.TYPE_INT)) 25 25 } 26 27 properties = inject('properties') 26 28 27 29 def __init__(self, menu_factory, toolboxdef): … … 52 54 self.emit('toggled', button.toggle_id, False) 53 55 # Save the property: 54 resource.set('ui.toolbox.%s' % button.toggle_id,55 content.get_property('visible'), persistent=True)56 self.properties.set('ui.toolbox.%s' % button.toggle_id, 57 content.get_property('visible')) 56 58 57 59 def make_wrapbox_decorator(self, title, content): … … 90 92 vbox.content = content 91 93 92 expanded = resource('ui.toolbox.%s' % button.toggle_id, False)94 expanded = self.properties.get('ui.toolbox.%s' % button.toggle_id, False) 93 95 content.set_property('visible', not expanded) 94 96 self.on_wrapbox_decorator_toggled(button, content) … … 114 116 expander.add(content) 115 117 116 expanded = resource('ui.toolbox.%s' % title.replace(' ', '-').lower(), False)118 expanded = self.properties.get('ui.toolbox.%s' % title.replace(' ', '-').lower(), False) 117 119 expander.set_expanded(expanded) 118 120
