Changeset 1291
- Timestamp:
- 05/21/07 20:52:12 (1 year ago)
- Files:
-
- gaphor/trunk/TODO (modified) (1 diff)
- gaphor/trunk/gaphor/actions/diagramactions.py (deleted)
- gaphor/trunk/gaphor/actions/placementactions.py (deleted)
- gaphor/trunk/gaphor/actions/tests/test_placementactions.py (deleted)
- gaphor/trunk/gaphor/services/filemanager.py (modified) (1 diff)
- gaphor/trunk/gaphor/ui/diagramtools.py (modified) (4 diffs)
- gaphor/trunk/gaphor/ui/mainwindow.py (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/TODO
r1262 r1291 7 7 Use a more recent version 8 8 9 - Placement actions should be instantiated on a per-view basis. the view's 10 action_group should be added/removed when visible/hidden. 11 12 - Toolbox should proxy gtk.Action in stead of using the Menu Factory. 13 14 - fix settings for new actions (PlacementEvent?) by using subscribtions or handlers. 15 16 - filename should not be part of the main window 17 Is it a transient property? 9 - Popups for diagram items should be aranged through 10 <popup action='<class>-item-popup'>..</>. 11 - popups is a UI thing. Create adapters? 12 - Separate service for stereotype handling 13 - popups should be aware of the cursor position (e.g. near the end of a 14 line). (+1 for adapters) 15 - ... 18 16 19 17 - Load / save regression testing gaphor/trunk/gaphor/services/filemanager.py
r1280 r1291 160 160 # Let this be handled by the main window itself: 161 161 #self._window.set_message('Model loaded successfully') 162 model = main_window. get_model()163 view = main_window. get_tree_view()162 model = main_window.tree_model 163 view = main_window.tree_view 164 164 165 165 self.filename = filename gaphor/trunk/gaphor/ui/diagramtools.py
r1283 r1291 89 89 return True 90 90 elif handle and handle.connected_to: 91 #adapter = component.queryMultiAdapter((handle.connected_to, item), IConnect)92 #adapter.disconnect(handle)93 91 handle.disconnect() 94 92 return False … … 196 194 197 195 def _on_key_press_event(self, widget, event, buffer, editor): 198 #self.199 196 if event.keyval == gtk.keysyms.Return: 200 197 pass … … 221 218 handle_index=handle_index) 222 219 self.after_handler = after_handler 223 self.is_released = False224 220 self._tx = None 225 221 226 222 def on_button_press(self, context, event): 227 223 self._tx = Transaction() 228 self.is_released = False229 224 view = context.view 230 225 view.unselect_all() … … 243 238 244 239 def on_button_release(self, context, event): 245 self.is_released = True246 240 try: 247 241 if self.after_handler: gaphor/trunk/gaphor/ui/mainwindow.py
r1290 r1291 67 67 </menu> 68 68 <menu action="diagram"> 69 <menuitem action="tree-view-create-diagram" /> 70 <menuitem action="tree-view-delete-diagram" /> 71 <separator /> 69 72 <placeholder name="primary" /> 70 73 <placeholder name="secondary" /> … … 123 126 self._tab_ui_settings = None 124 127 125 def get_model(self):126 """127 Return the gtk.TreeModel associated with the main window128 (shown on the left side in a TreeView).129 """130 return self._tree_view.get_model()131 132 128 tree_model = property(lambda s: s.tree_view.get_model()) 133 134 def get_tree_view(self):135 """136 Get the gtk.TreeView widget that visualized the TreeModel.137 See also get_model().138 """139 return self._tree_view140 129 141 130 tree_view = property(lambda s: s._tree_view) … … 231 220 view.connect_after('event-after', self._on_view_event) 232 221 view.connect('row-activated', self._on_view_row_activated) 233 #view.connect_after('cursor-changed', self._on_view_cursor_changed)222 view.connect_after('cursor-changed', self._on_view_cursor_changed) 234 223 235 224 vbox = gtk.VBox() … … 247 236 248 237 notebook.connect_after('switch-page', self._on_notebook_switch_page) 238 notebook.connect_after('page-removed', self._on_notebook_page_removed) 249 239 250 240 self.objectInspector = ObjectInspector() … … 370 360 a Diagram). 371 361 """ 372 path = self.get_model().path_from_element(element) 373 #log.debug("PATH = %s" % path) 362 path = self.tree_model.path_from_element(element) 374 363 # Expand the first row: 375 self.get_tree_view().expand_row(path[:-1], False) 376 # Select the diagram, so it can be opened by the OpenModelElement action 377 selection = self.get_tree_view().get_selection() 364 self._tree_view.expand_row(path[:-1], False) 365 selection = self._tree_view.get_selection() 378 366 selection.select_path(path) 379 #self.action_manager.execute('SelectRow') 380 367 self._on_view_cursor_changed(self._tree_view) 381 368 382 369 # Signal callbacks: … … 414 401 self.action_manager.execute('tree-view-open') 415 402 416 #def _on_view_cursor_changed(self, view): 417 # """ 418 # Another row is selected, execute a dummy action. 419 # """ 420 # #self.action_manager.execute('SelectRow') 421 # pass 403 def _on_view_cursor_changed(self, view): 404 """ 405 Another row is selected, execute a dummy action. 406 """ 407 element = view.get_selected_element() 408 self.action_group.get_action('tree-view-create-diagram').props.sensitive = isinstance(element, UML.Package) 409 self.action_group.get_action('tree-view-open').props.sensitive = isinstance(element, UML.Diagram) 422 410 423 411 def _insensivate_toolbox(self): … … 425 413 button.set_property('sensitive', False) 426 414 427 def _on_notebook_switch_page(self, notebook, tab, page_num): 428 """ 429 Another page (tab) is put on the front of the diagram notebook. 430 A dummy action is executed. 431 """ 432 log.debug('Switching page to %d' % page_num) 415 def _on_notebook_page_removed(self, notebook, tab, page_num): 433 416 if self._tab_ui_settings: 434 417 action_group, ui_id = self._tab_ui_settings … … 436 419 self.ui_manager.remove_ui(ui_id) 437 420 self._insensivate_toolbox() 421 self._tab_ui_settings = None 422 423 def _on_notebook_switch_page(self, notebook, tab, page_num): 424 """ 425 Another page (tab) is put on the front of the diagram notebook. 426 A dummy action is executed. 427 """ 428 if self._tab_ui_settings: 429 action_group, ui_id = self._tab_ui_settings 430 self.ui_manager.remove_action_group(action_group) 431 self.ui_manager.remove_ui(ui_id) 432 self._tab_ui_settings = None 438 433 439 434 content = self.notebook.get_nth_page(page_num) … … 473 468 @action(name='tree-view-rename', label=_('Rename')) 474 469 def tree_view_rename_selected(self): 475 view = self. get_tree_view()470 view = self._tree_view 476 471 element = view.get_selected_element() 477 path = view. get_model().path_from_element(element)472 path = view.tree_model.path_from_element(element) 478 473 column = view.get_column(0) 479 474 cell = column.get_cell_renderers()[1] … … 512 507 @action(name='tree-view-refresh', label=_('_Refresh')) 513 508 def tree_view_refresh(self): 514 self._tree_ view.get_model().refresh()509 self._tree_model.refresh() 515 510 516 511
