Changeset 2218
- Timestamp:
- 02/15/08 05:56:45 (3 months ago)
- Files:
-
- gaphor/trunk/gaphor/UML/interfaces.py (modified) (1 diff)
- gaphor/trunk/gaphor/adapters/connectors.py (modified) (1 diff)
- gaphor/trunk/gaphor/diagram/diagramitem.py (modified) (2 diffs)
- gaphor/trunk/gaphor/storage/storage.py (modified) (6 diffs)
- gaphor/trunk/gaphor/ui/namespace.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/UML/interfaces.py
r2193 r2218 23 23 24 24 class IElementChangeEvent(IElementEvent): 25 """Generic event fired when element state changes. 25 """ 26 Generic event fired when element state changes. 26 27 """ 27 28 property = interface.Attribute("The property that changed") gaphor/trunk/gaphor/adapters/connectors.py
r2165 r2218 296 296 if isinstance(opposite.connected_to.subject, UML.Comment): 297 297 del opposite.connected_to.subject.annotatedElement[handle.connected_to.subject] 298 el se:298 elif opposite.connected_to.subject: 299 299 del handle.connected_to.subject.annotatedElement[opposite.connected_to.subject] 300 300 super(CommentLineElementConnect, self).disconnect(handle) gaphor/trunk/gaphor/diagram/diagramitem.py
r2217 r2218 259 259 260 260 def register_handlers(self): 261 Application.register_handler(self.on_model_factory_event) 261 262 Application.register_handler(self.on_element_change) 262 263 Application.register_handler(self.on_presentation_subject) … … 267 268 268 269 def unregister_handlers(self): 270 Application.unregister_handler(self.on_model_factory_event) 269 271 Application.unregister_handler(self.on_presentation_subject) 270 272 Application.unregister_handler(self.on_element_change) 273 274 275 @component.adapter(UML.interfaces.IModelFactoryEvent) 276 def on_model_factory_event(self, event): 277 self.on_presentation_subject(None) 271 278 272 279 gaphor/trunk/gaphor/storage/storage.py
r2151 r2218 22 22 23 23 from gaphor import UML 24 from gaphor.UML.elementfactory import ElementChangedEventBlocker 24 25 from gaphor import diagram 25 26 from gaphor.storage import parser … … 180 181 def update_status_queue(_n=[0]): 181 182 n = _n[0] = _n[0] + 1 182 if n % 10 == 0:183 if n % 30 == 0: 183 184 return (n * 100) / size 184 185 … … 195 196 # The elements are stored as attribute 'element' on the parser objects: 196 197 for id, elem in elements.items(): 197 yield update_status_queue() 198 st = update_status_queue() 199 if st: yield st 198 200 if isinstance(elem, parser.element): 199 201 cls = getattr(UML, elem.type) … … 215 217 # load attributes and create references: 216 218 for id, elem in elements.items(): 217 yield update_status_queue() 219 st = update_status_queue() 220 if st: yield st 218 221 # Ensure that all elements have their element instance ready... 219 222 assert hasattr(elem, 'element') … … 286 289 # do a postload: 287 290 for id, elem in elements.items(): 288 yield update_status_queue() 291 st = update_status_queue() 292 if st: yield st 289 293 elem.element.postload() 290 294 … … 336 340 gc.collect() 337 341 log.info("Read %d elements from file" % len(elements)) 338 for percentage in load_elements_generator(elements, factory, gaphor_version): 339 pass 340 if percentage: 341 yield percentage / 2 + 50 342 else: 343 yield percentage 342 Application.register_subscription_adapter(ElementChangedEventBlocker) 343 try: 344 for percentage in load_elements_generator(elements, factory, gaphor_version): 345 if percentage: 346 yield percentage / 2 + 50 347 else: 348 yield percentage 349 except Exception, e: 350 Application.unregister_subscription_adapter(ElementChangedEventBlocker) 351 raise 352 Application.unregister_subscription_adapter(ElementChangedEventBlocker) 344 353 gc.collect() 345 354 yield 100 gaphor/trunk/gaphor/ui/namespace.py
r2142 r2218 362 362 index = parent.index(node) 363 363 return parent[index + 1] 364 except IndexError, e:364 except (IndexError, ValueError), e: 365 365 return None 366 366
