--- a/Tools_OrganizerCanvas.st Tue Nov 11 21:46:26 2008 +0100
+++ b/Tools_OrganizerCanvas.st Thu Nov 13 02:49:57 2008 +0100
@@ -2156,7 +2156,7 @@
(ComboListSpec
name: 'ComboList1'
layout: (LayoutFrame 0 0 0 0 0 1 25 0)
- model: diagramPackageSelection
+ model: selectedDiagramProject
comboList: packageList
useIndex: false
)
@@ -3239,15 +3239,20 @@
"Created: / 18.2.2000 / 00:23:43 / cg"
!
+selectedDiagramProject
+ |holder|
+
+ (holder := builder bindingAt:#selectedDiagramProject) isNil ifTrue:[
+ holder := nil asValue.
+ builder aspectAt:#selectedDiagramProject put:holder.
+ holder addDependent:self.
+ ].
+ ^ holder.
+!
+
selectedNamespaces
- "automatically generated by UIPainter ..."
-
- "*** the code below creates a default model when invoked."
- "*** (which may not be the one you wanted)"
- "*** Please change as required and accept it in the browser."
-
selectedNamespaces isNil ifTrue:[
- selectedNamespaces := (OrderedCollection with:self class nameListEntryForALL) asValue.
+ selectedNamespaces := (OrderedCollection with:self class nameListEntryForALL) asValue.
].
^ selectedNamespaces.
@@ -3255,15 +3260,9 @@
!
selectedProjects
- "automatically generated by UIPainter ..."
-
- "*** the code below creates a default model when invoked."
- "*** (which may not be the one you wanted)"
- "*** Please change as required and accept it in the browser."
-
selectedProjects isNil ifTrue:[
- selectedProjects := ValueHolder new.
-"/ selectedProjects addDependent:self.
+ selectedProjects := ValueHolder new.
+ selectedProjects addDependent:self.
].
^ selectedProjects.
@@ -3271,14 +3270,9 @@
!
selectionChangeCondition
- "automatically generated by UIPainter ..."
-
- "*** the code below creates a default model when invoked."
- "*** (which may not be the one you wanted)"
- "*** Please change as required and accept it in the browser."
selectionChangeCondition isNil ifTrue:[
- selectionChangeCondition := ValueHolder new.
+ selectionChangeCondition := ValueHolder new.
"/ selectionChangeCondition addDependent:self.
].
^ selectionChangeCondition.
@@ -4094,25 +4088,6 @@
"Modified: / 18.2.2000 / 02:56:21 / cg"
!
-diagramApplicationModelHolder
- |holder graphApp|
-
- (holder := builder bindingAt:#diagramApplicationModelHolder) isNil ifTrue:[
- OOM::MetricVisualizer notNil ifTrue:[
- graphApp := OOM::MetricVisualizer new.
- graphApp masterApplication:self.
- graphApp selectedClassesHolder onChangeSend:#diagramClassSelectionChanged to:self.
-
- holder := ValueHolder new.
- holder value:graphApp.
- builder aspectAt:#diagramApplicationModelHolder put: holder.
-
- self packageFilter onChangeSend:#packageFilterChanged to:self.
- ].
- ].
- ^ holder
-!
-
nameSpaceListSlaveMode
namespaceListSlaveMode isNil ifTrue:[
namespaceListSlaveMode := true asValue.
@@ -4509,6 +4484,13 @@
].
!
+packageFilterChanged
+!
+
+selectedProjectsChanged
+ self updatePackageDiagramView
+!
+
update:something with:aParameter from:changedObject
|orgMode trigger classes selectedClassesHolder selectionValue|
@@ -4587,10 +4569,10 @@
changedObject == selectedClasses ifTrue:[
selectedClasses value size ~~ 0 ifTrue:[
- (orgMode ~~ OrganizerCanvas organizerModeClassHierarchy) ifTrue:[
- (orgMode ~~ OrganizerCanvas organizerModeProject) ifTrue:[
- self updateOrganizationFromChangedClass.
- ]
+ (orgMode ~~ OrganizerCanvas organizerModeClassHierarchy
+ and:[ orgMode ~~ OrganizerCanvas organizerModeProject
+ and:[ orgMode ~~ OrganizerCanvas organizerModePackageDiagram ]]) ifTrue:[
+ self updateOrganizationFromChangedClass.
].
]
].
@@ -4610,6 +4592,15 @@
].
self nameSpaceFilter value: selectionValue.
].
+ changedObject == self selectedProjects ifTrue:[
+self halt.
+ self selectedProjectsChanged.
+ ].
+ changedObject == self selectedDiagramProject ifTrue:[
+self halt.
+ self selectedProjects value:(Array with:self selectedDiagramProject value).
+ ^ self
+ ].
super update:something with:aParameter from:changedObject
@@ -4734,6 +4725,25 @@
((selectedClasses size == 1) ifTrue:[selectedClasses first] ifFalse:nil).
^ self.
].
+ orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
+ self updatePackageDiagramView.
+ ].
+!
+
+updatePackageDiagramView
+ |diagramApp packages|
+
+ self packageDiagramShown computeValue ifTrue:[
+ diagramApp := self diagramApplicationModelHolder value.
+
+ packages := self selectedProjects value ? #().
+ self selectedDiagramProject value:(packages firstIfEmpty:nil) withoutNotifying:self.
+ self withWaitCursorDo:[
+ diagramApp
+ packages:packages;
+ generateDiagram
+ ]
+ ].
!
updateProjectSelectionFromClasses
@@ -4838,8 +4848,30 @@
selectedClasses removeDependent:self.
! !
+!OrganizerCanvas methodsFor:'subapplications'!
+
+diagramApplicationModelHolder
+ |holder graphApp|
+
+ (holder := builder bindingAt:#diagramApplicationModelHolder) isNil ifTrue:[
+ OOM::MetricVisualizer notNil ifTrue:[
+ graphApp := OOM::MetricVisualizer new.
+ graphApp masterApplication:self.
+ graphApp selectedClassesHolder onChangeSend:#diagramClassSelectionChanged to:self.
+ graphApp showShortClassInfo:true.
+
+ holder := ValueHolder new.
+ holder value:graphApp.
+ builder aspectAt:#diagramApplicationModelHolder put: holder.
+
+ self packageFilter onChangeSend:#packageFilterChanged to:self.
+ ].
+ ].
+ ^ holder
+! !
+
!OrganizerCanvas class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.30 2008-11-11 14:17:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.31 2008-11-13 01:49:57 cg Exp $'
! !