Changeset 2230
- Timestamp:
- 02/29/08 07:01:00 (3 months ago)
- Files:
-
- gaphor/trunk/gaphor/UML/diagram.py (modified) (2 diffs)
- gaphor/trunk/gaphor/UML/event.py (modified) (1 diff)
- gaphor/trunk/gaphor/services/undomanager.py (modified) (2 diffs)
- gaphor/trunk/gaphor/ui/diagramtoolbox.py (modified) (1 diff)
- gaphor/trunk/gaphor/ui/diagramtools.py (modified) (1 diff)
- gaphor/trunk/gaphor/ui/namespace.py (modified) (2 diffs)
- gaphor/trunk/gaphor/ui/propertyeditor.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/UML/diagram.py
r1682 r2230 9 9 __date__ = '$date$' 10 10 11 from zope import component 11 12 import gobject 12 13 import gaphas 13 14 from gaphor.misc import uniqueid 14 15 from uml2 import Namespace, PackageableElement 16 from event import DiagramItemCreateEvent 15 17 16 18 class DiagramCanvas(gaphas.Canvas): … … 85 87 obj.subject = subject 86 88 self.canvas.add(obj, parent) 89 print 'send event', obj 90 component.handle(DiagramItemCreateEvent(obj)) 87 91 return obj 88 92 gaphor/trunk/gaphor/UML/event.py
r1992 r2230 109 109 110 110 111 class DiagramItemCreateEvent(object): 112 interface.implements(IElementCreateEvent) 113 114 def __init__(self, element): 115 self.element = element 116 117 111 118 class ElementCreateEvent(object): 112 119 interface.implements(IElementCreateEvent, IElementFactoryEvent) gaphor/trunk/gaphor/services/undomanager.py
r2217 r2230 24 24 25 25 from gaphor.UML.event import ElementCreateEvent, ElementDeleteEvent, \ 26 FlushFactoryEvent, ModelFactoryEvent, \ 27 AttributeChangeEvent, AssociationSetEvent, \ 26 ModelFactoryEvent, AssociationSetEvent, \ 28 27 AssociationAddEvent, AssociationDeleteEvent 29 from gaphor.UML.interfaces import IElement CreateEvent, IElementDeleteEvent, \30 IAttributeChangeEvent, IModelFactoryEvent , \31 IAssociationChangeEvent28 from gaphor.UML.interfaces import IElementDeleteEvent, \ 29 IAttributeChangeEvent, IModelFactoryEvent 30 32 31 33 32 from gaphor.action import action, build_action_group … … 317 316 318 317 319 @component.adapter( IElementCreateEvent)318 @component.adapter(ElementCreateEvent) 320 319 def undo_create_event(self, event): 321 320 factory = event.service gaphor/trunk/gaphor/ui/diagramtoolbox.py
r2181 r2230 129 129 return factory_method 130 130 131 def _after_handler(self ):131 def _after_handler(self, new_item): 132 132 if self.properties('reset-tool-after-create', False): 133 133 self.action_group.get_action('toolbox-pointer').activate() 134 134 # TODO: if the item is a NamedItem, start the EditTool. 135 if isinstance(new_item, items.DiagramItem) and \ 136 isinstance(new_item.subject, UML.NamedElement): 137 print 'start edit tool from after tool handler' 135 138 136 139 gaphor/trunk/gaphor/ui/diagramtools.py
r2106 r2230 320 320 try: 321 321 if self.after_handler: 322 self.after_handler( )322 self.after_handler(self.new_item) 323 323 return _PlacementTool.on_button_release(self, context, event) 324 324 finally: gaphor/trunk/gaphor/ui/namespace.py
r2218 r2230 14 14 from gaphor.application import Application 15 15 from gaphor import UML 16 from gaphor.UML.event import ModelFactoryEvent, FlushFactoryEvent17 from gaphor.UML.interfaces import IAttributeChangeEvent, IElement CreateEvent, IElementDeleteEvent16 from gaphor.UML.event import ElementCreateEvent, ModelFactoryEvent, FlushFactoryEvent 17 from gaphor.UML.interfaces import IAttributeChangeEvent, IElementDeleteEvent 18 18 from gaphor.UML.event import DerivedUnionSetEvent 19 19 from gaphor.transaction import Transaction … … 210 210 211 211 212 @component.adapter( IElementCreateEvent)212 @component.adapter(ElementCreateEvent) 213 213 @catchall 214 214 def _on_element_create(self, event): gaphor/trunk/gaphor/ui/propertyeditor.py
r2203 r2230 8 8 from gaphor.core import _ 9 9 from gaphor.application import Application 10 from gaphor.UML.interfaces import I AssociationChangeEvent10 from gaphor.UML.interfaces import IElementCreateEvent, IAssociationChangeEvent 11 11 from gaphor.UML import Presentation 12 12 from interfaces import IPropertyPage, IDiagramSelectionChange … … 21 21 super(PropertyEditor, self).__init__() 22 22 self._current_item = None 23 self._last_tab = _('Properties') 23 self._default_tab = _('Properties') 24 self._last_tab = self._default_tab 25 self._new_item = False 24 26 25 27 def construct(self): … … 33 35 Application.register_handler(self._selection_change) 34 36 Application.register_handler(self._element_changed) 37 Application.register_handler(self._new_item_on_diagram) 35 38 36 39 return self.notebook … … 48 51 self.notebook.show_all() 49 52 50 self._last_tab = last_tab53 self._last_tab = self._new_item and self._default_tab or last_tab 51 54 52 55 # Show the last selected tab again. … … 57 60 self.notebook.set_current_page(page_num) 58 61 break 59 62 63 if self._new_item: 64 #self.notebook.grab_focus() 65 self._new_item = False 60 66 61 67 … … 100 106 self.create_tabs_for_item(self._current_item) 101 107 108 @component.adapter(Presentation, IElementCreateEvent) 109 def _new_item_on_diagram(self, item, event): 110 self._new_item = True 111 self.notebook.set_current_page(0) 112 102 113 103 114 # vim:sw=4:et:ai
