equal
deleted
inserted
replaced
|
1 "{ Encoding: utf8 }" |
|
2 |
1 " |
3 " |
2 COPYRIGHT (c) 2007 by eXept Software AG |
4 COPYRIGHT (c) 2007 by eXept Software AG |
3 All Rights Reserved |
5 All Rights Reserved |
4 |
6 |
5 This software is furnished under a license and may be used |
7 This software is furnished under a license and may be used |
2898 ! ! |
2900 ! ! |
2899 |
2901 |
2900 !ViewTreeInspectorApplication::ViewTreeItem methodsFor:'operations update'! |
2902 !ViewTreeInspectorApplication::ViewTreeItem methodsFor:'operations update'! |
2901 |
2903 |
2902 updateChildren |
2904 updateChildren |
2903 |list| |
2905 |queue| |
2904 |
2906 |
2905 self do:[:el| |
2907 queue := OrderedCollection new. |
2906 el exists ifTrue:[ |
2908 queue add:self. |
2907 el updateChildren. |
2909 |
2908 ] ifFalse:[ |
2910 self criticalDo:[ |
2909 list isNil ifTrue:[list := OrderedCollection new]. |
2911 [queue notEmpty] whileTrue:[ |
2910 list add:el. |
2912 |toRemove elProcessed| |
2911 ] |
2913 |
2912 ]. |
2914 elProcessed := queue removeFirst. |
2913 list notNil ifTrue:[ |
2915 toRemove := nil. |
2914 list do:[:el| self remove:el ]. |
2916 elProcessed nonCriticalDo:[:el| |
|
2917 el exists ifTrue:[ |
|
2918 queue add:el. |
|
2919 ] ifFalse:[ |
|
2920 toRemove isNil ifTrue:[toRemove := OrderedCollection new]. |
|
2921 toRemove add:el. |
|
2922 ] |
|
2923 ]. |
|
2924 toRemove notNil ifTrue:[ |
|
2925 toRemove do:[:el| self remove:el ]. |
|
2926 ]. |
|
2927 ]. |
2915 ]. |
2928 ]. |
2916 ! |
2929 ! |
2917 |
2930 |
2918 updateFromChildren:mergedList |
2931 updateFromChildren:mergedList |
2919 "update my children against the list of items derived from |
2932 "update my children against the list of items derived from |