Author: ericwa
Date: Mon Mar 24 01:18:30 2014
New Revision: 10621

URL: http://svn.gna.org/viewcvs/etoile?rev=10621&view=rev
Log:
ProjectDemo: outliner: ugly hack to auto-expand items when sharing

Modified:
    
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/EWDocumentWindowController.m
    trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/OutlineController.m

Modified: 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/EWDocumentWindowController.m
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/EWDocumentWindowController.m?rev=10621&r1=10620&r2=10621&view=diff
==============================================================================
--- 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/EWDocumentWindowController.m
 (original)
+++ 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/EWDocumentWindowController.m
 Mon Mar 24 01:18:30 2014
@@ -28,6 +28,11 @@
                                                                                
                 name: COPersistentRootDidChangeNotification
                                                                                
           object: _persistentRoot];
        
+       [[NSNotificationCenter defaultCenter] addObserver: self
+                                                                               
         selector: @selector(objectGraphContextDidChange:)
+                                                                               
                 name: COObjectGraphContextObjectsDidChangeNotification
+                                                                               
           object: self.objectGraphContext];
+       
        return self;
 }
 
@@ -50,6 +55,11 @@
                                                                                
                 name: COPersistentRootDidChangeNotification
                                                                                
           object: _persistentRoot];
        
+       [[NSNotificationCenter defaultCenter] addObserver: self
+                                                                               
         selector: @selector(objectGraphContextDidChange:)
+                                                                               
                 name: COObjectGraphContextObjectsDidChangeNotification
+                                                                               
           object: self.objectGraphContext];
+       
        return self;
 }
 
@@ -97,7 +107,14 @@
        }
        if (pinnedBranch != _pinnedBranch)
        {
+               [[NSNotificationCenter defaultCenter] removeObserver: self 
name: COObjectGraphContextObjectsDidChangeNotification object: _pinnedBranch];
+               
                _pinnedBranch = pinnedBranch;
+               
+               [[NSNotificationCenter defaultCenter] addObserver: self
+                                                                               
                 selector: @selector(objectGraphContextDidChange:)
+                                                                               
                         name: COObjectGraphContextObjectsDidChangeNotification
+                                                                               
                   object: self.objectGraphContext];
                
                [self resetBranchesMenu];
                [self resetBranchesCheckbox];
@@ -134,6 +151,13 @@
        [self resetTitle];
        
        [self objectGraphDidChange];
+}
+
+- (void) objectGraphContextDidChange: (NSNotification *)notif
+{
+       NSLog(@"object graph context did change: %@", [notif userInfo]);
+       
+       
 }
 
 - (void)dealloc

Modified: 
trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/OutlineController.m
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/OutlineController.m?rev=10621&r1=10620&r2=10621&view=diff
==============================================================================
--- trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/OutlineController.m  
(original)
+++ trunk/Etoile/Frameworks/CoreObject/Samples/ProjectDemo/OutlineController.m  
Mon Mar 24 01:18:30 2014
@@ -26,8 +26,25 @@
 
 - (void) objectGraphDidChange
 {
+       // FIXME: Merge this and the next method!
+       
     //NSLog(@"Reloading outline for %@", doc);
     [outlineView reloadData];
+}
+
+- (void) objectGraphContextDidChange: (NSNotification *)notif
+{
+       // FIXME: Merge this and the previous method!
+       
+       NSLog(@"object graph context did change: %@", [notif userInfo]);
+       
+       [outlineView reloadData];
+       
+       for (ETUUID *updated in notif.userInfo[COUpdatedObjectsKey])
+       {
+               COObject *updatedObject = [self.objectGraphContext 
loadedObjectForUUID: updated];
+               [outlineView expandItem: updatedObject];
+       }
 }
 
 - (Document *)projectDocument


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

Reply via email to