fixed selection update from changed class selection,
authorClaus Gittinger <cg@exept.de>
Fri, 08 Feb 2013 14:28:53 +0100
changeset 12395 0d23b9fc0fa5
parent 12394 a4f9d45bb707
child 12396 8eb1ec12cb21
fixed selection update from changed class selection, while invisible (i.e. before switching organizer to project) also update from installing autoloaded classes with new project.
Tools_OrganizerCanvas.st
--- a/Tools_OrganizerCanvas.st	Fri Feb 08 13:28:32 2013 +0100
+++ b/Tools_OrganizerCanvas.st	Fri Feb 08 14:28:53 2013 +0100
@@ -4689,6 +4689,9 @@
         ].
         (orgMode == OrganizerCanvas organizerModeProject) ifTrue:[
             projectListSlaveMode value:false.
+            self selectedProjects value isEmptyOrNil ifTrue:[
+                self updateProjectSelectionFromClasses.
+            ].
         ].
         (orgMode == OrganizerCanvas organizerModePackageDiagram) ifTrue:[
             "/
@@ -4703,7 +4706,7 @@
     changedObject == selectedClasses ifTrue:[
         selectedClasses value size ~~ 0 ifTrue:[
             (orgMode ~~ OrganizerCanvas organizerModeClassHierarchy
-            and:[ orgMode ~~ OrganizerCanvas organizerModeProject
+            and:[ true "orgMode ~~ OrganizerCanvas organizerModeProject"
             and:[ orgMode ~~ OrganizerCanvas organizerModePackageDiagram ]]) ifTrue:[
                 self updateOrganizationFromChangedClass.
             ].
@@ -4832,9 +4835,6 @@
     |orgMode selectedClassesHolder selectedClasses classHierarchyTopClassHolder commonSuperClass|
 
     orgMode := organizerMode value.
-    selectedClassesHolder := self selectedClasses.
-    selectedClasses := selectedClassesHolder value.
-    classHierarchyTopClassHolder := self classHierarchyTopClass.
 
     orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
         self updateCategorySelectionFromClasses.
@@ -4852,6 +4852,15 @@
         classHierarchyTopClassHolder value:nil.
         ^ self.
     ].
+    orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
+        self updatePackageDiagramView.
+        ^ self.
+    ].
+
+    selectedClassesHolder := self selectedClasses.
+    selectedClasses := selectedClassesHolder value.
+    classHierarchyTopClassHolder := self classHierarchyTopClass.
+
     (orgMode == OrganizerCanvas organizerModeClassHierarchy) ifTrue:[
 "/        (selectedClasses size == 1) ifTrue:[
 "/            self classHierarchyTopClass value:selectedClasses first
@@ -4871,9 +4880,6 @@
             ((selectedClasses size == 1) ifTrue:[selectedClasses first] ifFalse:nil).
         ^ self.
     ].
-    orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
-        self updatePackageDiagramView.
-    ].
 !
 
 updatePackageDiagramView
@@ -4913,7 +4919,7 @@
     allEntry := self class nameListEntryForALL.
 
     selectedProjects := self selectedProjects value.
-    oldSelectedProjects := (selectedProjects ? #()) asSet.
+    oldSelectedProjects := ((selectedProjects ? #()) collect:[:pkg | pkg string]) asSet.
 
     variableFilter value:nil.
     packageFilter value:nil.
@@ -5035,9 +5041,10 @@
 !OrganizerCanvas class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.50 2012-11-03 11:43:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.51 2013-02-08 13:28:53 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.50 2012-11-03 11:43:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.51 2013-02-08 13:28:53 cg Exp $'
 ! !
+