Author: ericwa
Date: Sat Mar 22 23:14:01 2014
New Revision: 10612

URL: http://svn.gna.org/viewcvs/etoile?rev=10612&view=rev
Log:
ProjectDemo: Drawing: listen for object relinquished notifications

Modified:
    trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/DrawingController.m
    
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.h
    
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.m

Modified: 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/DrawingController.m
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/DrawingController.m?rev=10612&r1=10611&r2=10612&view=diff
==============================================================================
--- trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/DrawingController.m  
(original)
+++ trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/DrawingController.m  
Sat Mar 22 23:14:01 2014
@@ -79,4 +79,10 @@
        [graphicView setNeedsDisplay: YES];
 }
 
+- (void) objectGraphContextDidSwitch
+{
+       [graphicView objectGraphContextDidSwitch];
+       [graphicView setNeedsDisplay: YES];
+}
+
 @end

Modified: 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.h
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.h?rev=10612&r1=10611&r2=10612&view=diff
==============================================================================
--- 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.h  
    (original)
+++ 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.h  
    Sat Mar 22 23:14:01 2014
@@ -45,6 +45,8 @@
 
 - (DrawingController*)drawingController;
 - (void)setDrawingController: (DrawingController*)c;
+
+- (void) objectGraphContextDidSwitch;
 
 // Display invalidation
 - (void)invalidateGraphic:(SKTGraphic *)graphic;

Modified: 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.m
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.m?rev=10612&r1=10611&r2=10612&view=diff
==============================================================================
--- 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.m  
    (original)
+++ 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/Sketch/SKTGraphicView.m  
    Sat Mar 22 23:14:01 2014
@@ -49,6 +49,7 @@
 }
 
 - (void)dealloc {
+       [[NSNotificationCenter defaultCenter] removeObserver: self];
     [self endEditing];
 }
 
@@ -59,6 +60,32 @@
 - (void)setDrawingController: (DrawingController*)c
 {
        _drawingController = c;
+       
+       [self objectGraphContextDidSwitch];
+}
+
+- (void) objectGraphContextDidSwitch
+{
+       [[NSNotificationCenter defaultCenter] removeObserver: self];
+       
+       [[NSNotificationCenter defaultCenter] addObserver: self
+                                                                               
         selector: @selector(objectGraphContextDidRelinquishObjects:)
+                                                                               
                 name: COObjectGraphContextWillRelinquishObjectsNotification
+                                                                               
           object: _drawingController.objectGraphContext];
+       
+       [self clearCachedObjects];
+}
+
+- (void) objectGraphContextDidRelinquishObjects: (NSNotification *)notif
+{
+       [self clearCachedObjects];
+}
+
+- (void) clearCachedObjects
+{
+       _editingGraphic = nil;
+       _creatingGraphic = nil;
+       [_selectedGraphics removeAllObjects];
 }
 
 - (SKTDrawDocument *)drawDocument {


_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs

Reply via email to