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