Tools_OrganizerCanvas.st
changeset 8433 b64400068024
parent 8419 a6766a069947
child 8435 8745520b23a0
--- a/Tools_OrganizerCanvas.st	Mon Nov 17 18:31:39 2008 +0100
+++ b/Tools_OrganizerCanvas.st	Mon Nov 17 18:33:30 2008 +0100
@@ -4563,6 +4563,12 @@
         (orgMode == OrganizerCanvas organizerModeProject) ifTrue:[
             projectListSlaveMode value:false.
         ].
+        (orgMode == OrganizerCanvas organizerModePackageDiagram) ifTrue:[
+            "/
+            self selectedProjects value isEmptyOrNil ifTrue:[
+                self updateProjectSelectionFromClasses.
+            ].
+        ].
 
         ^ self
     ].
@@ -4731,17 +4737,25 @@
 !
 
 updatePackageDiagramView
-    |diagramApp packages|
+    |diagramApp packages selectedClasses|
 
     self packageDiagramShown computeValue ifTrue:[
         diagramApp := self diagramApplicationModelHolder value.
+        selectedClasses := self selectedClasses value.
 
         packages := self selectedProjects value ? #().
+        packages isEmpty ifTrue:[
+            selectedClasses notEmptyOrNil ifTrue:[
+                packages := (selectedClasses collect:[:cls | cls package]) asSet asOrderedCollection.
+            ].
+        ].
+
         self selectedDiagramProject value:(packages firstIfEmpty:nil) withoutNotifying:self.
         self withWaitCursorDo:[
             diagramApp
                 packages:packages;
-                generateDiagram
+                generateDiagram;
+                selectClasses:selectedClasses.
         ]
     ].
 !
@@ -4873,5 +4887,5 @@
 !OrganizerCanvas class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.31 2008-11-13 01:49:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.32 2008-11-17 17:33:30 cg Exp $'
 ! !