--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools__OrganizerCanvas.st Wed Nov 26 18:44:13 2014 +0100
@@ -0,0 +1,5247 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+NavigatorModel subclass:#OrganizerCanvas
+ instanceVariableNames:'projectListSlaveMode namespaceListSlaveMode categoryListSlaveMode
+ classInheritanceListSlaveMode classListSlaveMode
+ classHierarchyListSlaveMode organizerMode metaToggle
+ notMetaToggle meta classList classCategoryDoubleClickChannel
+ classDoubleClickChannel classGeneratorHolder
+ classGeneratorHolderFromClassCategory
+ classGeneratorHolderFromClassHierarchy
+ classGeneratorHolderFromProject classGeneratorHolderFromNamespace
+ classCategoryListMenuHolder categoryListShown
+ classCategoryListUpdateTrigger classListUpdateTrigger
+ classListMenuHolder classHierarchyListMenuHolder
+ projectListMenuHolder variablesMenuHolder filterClassVars
+ variableFilter packageFilter nameSpaceFilter hidePrivateClasses
+ hideUnloadedClasses showClassPackages immediateUpdate
+ metaToggleLabelHolder selectedCategories selectedClasses
+ selectedNamespaces selectedProjects selectionChangeCondition
+ nameSpaceFilterSelection markApplicationsHolder
+ sortVariablesByName showAllClassesInNameSpaceView
+ showMethodInheritance showMethodComplexity showMethodTypeIcon
+ methodVisibilityHolder showCoverageInformation
+ sortByNameAndInheritance'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Interface-Browsers-New'
+!
+
+!OrganizerCanvas class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+ I implement the top part containing the list views in the new system browser
+"
+! !
+
+!OrganizerCanvas class methodsFor:'constants'!
+
+organizerModeCategory
+ ^ #category
+!
+
+organizerModeClassHierarchy
+ ^ #classHierarchy
+!
+
+organizerModeClassInheritance
+ ^ #classInheritance
+!
+
+organizerModeHierarchy
+ ^ #hierarchy
+!
+
+organizerModeNamespace
+ ^ #namespace
+!
+
+organizerModePackageDiagram
+ ^ #packageDiagram
+!
+
+organizerModeProject
+ ^ #project
+! !
+
+!OrganizerCanvas class methodsFor:'interface specs'!
+
+embeddedNameSpaceListSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::OrganizerCanvas andSelector:#embeddedNameSpaceListSpec
+ Tools::OrganizerCanvas new openInterface:#embeddedNameSpaceListSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: embeddedNameSpaceListSpec
+ window:
+ (WindowSpec
+ label: 'Organizer'
+ name: 'Organizer'
+ min: (Point 0 0)
+ max: (Point 1024 721)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'NamespaceList2'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ level: 1
+ majorKey: NamespaceList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: nameSpaceFilterDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceNamespaceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: nameSpaceListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedNamespaces
+ aspect: nameSpaceFilterSelection
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: popUpNameSpaceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: nameSpaceListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ postBuildCallback: nameSpaceListWidgetWasBuilt:
+ )
+ )
+
+ )
+ )
+!
+
+windowSpec
+ ^ self windowSpecNonHierarchicalWithClassDiagram
+ "/ ^ self windowSpecNonHierarchical
+ "/ ^ self windowSpecHierarchical
+
+ "
+ self openInterface:#windowSpec
+ self openInterface:#windowSpecWithoutMetaToggles
+ self openInterface:#windowSpecNonHierarchicalWithClassDiagram
+ "
+
+ "Modified: / 03-09-2006 / 10:47:15 / cg"
+!
+
+windowSpecHierarchical
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::OrganizerCanvas andSelector:#windowSpecHierarchical
+ Tools::OrganizerCanvas new openInterface:#windowSpecHierarchical
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpecHierarchical
+ window:
+ (WindowSpec
+ label: 'Organizer'
+ name: 'Organizer'
+ min: (Point 0 0)
+ max: (Point 1024 721)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (VariableHorizontalPanelSpec
+ name: 'CategoryNameSpaceAndProjectPanel'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: categoryNameSpaceAndProjectPanelShown
+ barWidth: 2
+ showHandle: false
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'LeftBox'
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'ClassCategoryAndNamespaceFilterBox'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ visibilityChannel: categoryListShown
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassCategoryList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+ majorKey: HierarchicalClassCategoryList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classCategoryDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassCategoryGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classCategoryListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilterSelection
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedCategories
+ aspect: selectedCategories
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: categoryListSlaveMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classCategoryListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (ExtendedComboBoxSpec
+ name: 'NameSpaceFilterComboBox'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ tabable: true
+ model: nameSpaceFilterSelectedNameSpace
+ menuWidgetHolder: nameSpaceListWidgetHolder
+ miniScrollerHorizontal: true
+ menuSelector: nameSpaceFilterPopUpMenu
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'NamespaceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: nameSpaceListShown
+ majorKey: NamespaceList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: nameSpaceDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceNamespaceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: nameSpaceListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedNamespaces
+ aspect: selectedNamespaces
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: nameSpaceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: nameSpaceListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ProjectList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: projectListShown
+ majorKey: ProjectList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: projectDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceProjectGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: projectListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedProjects
+ aspect: selectedProjects
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: projectListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: projectListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'RightBox'
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'ClassAndVariablesPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassList'
+ majorKey: ClassList
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: hidePrivateClasses
+ aspect: hidePrivateClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: sortByNameAndInheritance
+ aspect: sortByNameAndInheritance
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'VariableList'
+ majorKey: VariableList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: classHolder
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: variableDoubleClickChannel
+ )
+
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: variablesMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedVariables
+ aspect: variableFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassVarsInVariableList
+ aspect: showClassVarsInVariableList
+ )
+
+ (SubChannelInfoSpec
+ subAspect: sortVariablesByName
+ aspect: sortVariablesByName
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (UISubSpecification
+ name: 'MetaToggleSpec2'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ minorKey: metaSpec
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (ViewSpec
+ name: 'ClassHierarchyOrInheritanceBox'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: classHierarchyOrInheritanceShown
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'VariableVerticalPanel2'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'HierarchyOrInheritanceBox'
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassHierarchyList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classHierarchyShown
+ majorKey: HierarchicalClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classHierarchyListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ClassInheritanceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classInheritanceShown
+ majorKey: InheritanceClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classInheritanceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'VariableList2'
+ majorKey: VariableList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: classHolder
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: variableDoubleClickChannel
+ )
+
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: variablesMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedVariables
+ aspect: variableFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassVarsInVariableList
+ aspect: showClassVarsInVariableList
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classHierarchyListSlaveMode
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (SubCanvasSpec
+ name: 'MetaToggles1'
+ layout: (LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ minorKey: metaSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ )
+!
+
+windowSpecNonHierarchical
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::OrganizerCanvas andSelector:#windowSpecNonHierarchical
+ Tools::OrganizerCanvas new openInterface:#windowSpecNonHierarchical
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpecNonHierarchical
+ window:
+ (WindowSpec
+ label: 'Organizer'
+ name: 'Organizer'
+ min: (Point 0 0)
+ max: (Point 1024 721)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (VariableHorizontalPanelSpec
+ name: 'CategoryNameSpaceAndProjectPanel'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: categoryNameSpaceAndProjectPanelShown
+ barWidth: 2
+ showHandle: false
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'LeftBox'
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'ClassCategoryAndNamespaceFilterBox'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ visibilityChannel: categoryListShown
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassCategoryList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+ majorKey: ClassCategoryList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classCategoryDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassCategoryGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classCategoryListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilterSelection
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedCategories
+ aspect: selectedCategories
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: categoryListSlaveMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classCategoryListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (ExtendedComboBoxSpec
+ name: 'NameSpaceFilterComboBox'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ tabable: true
+ model: nameSpaceFilterSelectedNameSpace
+ menuWidgetHolder: nameSpaceListWidgetHolder
+ miniScrollerHorizontal: true
+ menuSelector: nameSpaceFilterPopUpMenu
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'NamespaceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: nameSpaceListShown
+ majorKey: NamespaceList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: nameSpaceDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceNamespaceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: nameSpaceListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedNamespaces
+ aspect: selectedNamespaces
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: nameSpaceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: nameSpaceListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ProjectList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: projectListShown
+ majorKey: ProjectList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: projectDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceProjectGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: projectListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedProjects
+ aspect: selectedProjects
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: projectListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: projectListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'RightBox'
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'ClassAndVariablesPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassList'
+ majorKey: ClassList
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: hidePrivateClasses
+ aspect: hidePrivateClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: sortByNameAndInheritance
+ aspect: sortByNameAndInheritance
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'VariableList'
+ majorKey: VariableList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: classHolder
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: variableDoubleClickChannel
+ )
+
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: variablesMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedVariables
+ aspect: variableFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassVarsInVariableList
+ aspect: showClassVarsInVariableList
+ )
+
+ (SubChannelInfoSpec
+ subAspect: sortVariablesByName
+ aspect: sortVariablesByName
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (UISubSpecification
+ name: 'MetaToggleSpec2'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ minorKey: metaSpec
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (ViewSpec
+ name: 'ClassHierarchyOrInheritanceBox'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: classHierarchyOrInheritanceShown
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'VariableVerticalPanel2'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'HierarchyOrInheritanceBox'
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassHierarchyList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classHierarchyShown
+ majorKey: HierarchicalClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classHierarchyListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ClassInheritanceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classInheritanceShown
+ majorKey: InheritanceClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classInheritanceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'VariableList2'
+ majorKey: VariableList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: classHolder
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: variableDoubleClickChannel
+ )
+
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: variablesMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedVariables
+ aspect: variableFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassVarsInVariableList
+ aspect: showClassVarsInVariableList
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classHierarchyListSlaveMode
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (SubCanvasSpec
+ name: 'MetaToggles1'
+ layout: (LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ minorKey: metaSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ )
+!
+
+windowSpecNonHierarchicalWithClassDiagram
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::OrganizerCanvas andSelector:#windowSpecNonHierarchicalWithClassDiagram
+ Tools::OrganizerCanvas new openInterface:#windowSpecNonHierarchicalWithClassDiagram
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpecNonHierarchicalWithClassDiagram
+ window:
+ (WindowSpec
+ label: 'Organizer'
+ name: 'Organizer'
+ min: (Point 0 0)
+ max: (Point 1024 721)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'PackageDiagramClassChooser'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ level: 0
+ initiallyInvisible: true
+ visibilityChannel: packageDiagramShown
+ component:
+ (SpecCollection
+ collection: (
+ (ComboListSpec
+ name: 'ComboList1'
+ layout: (LayoutFrame 0 0 0 0 0 1 25 0)
+ model: selectedDiagramProject
+ comboList: packageList
+ useIndex: false
+ )
+ (SubCanvasSpec
+ name: 'SubCanvas1'
+ layout: (LayoutFrame 0 0 25 0 0 1 -25 1)
+ level: 0
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ minorKey: windowSpecForClassChooser
+ clientHolder: diagramApplicationModelHolder
+ createNewBuilder: false
+ )
+ (SubCanvasSpec
+ name: 'MetaToggles2'
+ layout: (LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ minorKey: metaSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'ClassHierarchyOrInheritanceBox'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: classHierarchyOrInheritanceShown
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'VariableVerticalPanel2'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'HierarchyOrInheritanceBox'
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassHierarchyList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classHierarchyShown
+ majorKey: HierarchicalClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classHierarchyListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ClassInheritanceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classInheritanceShown
+ majorKey: InheritanceClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classInheritanceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'VariableList2'
+ majorKey: VariableList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: classHolder
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: variableDoubleClickChannel
+ )
+
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: variablesMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedVariables
+ aspect: variableFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassVarsInVariableList
+ aspect: showClassVarsInVariableList
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classHierarchyListSlaveMode
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (SubCanvasSpec
+ name: 'MetaToggles1'
+ layout: (LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ minorKey: metaSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ )
+ (VariableHorizontalPanelSpec
+ name: 'CategoryNameSpaceAndProjectPanel'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: categoryNameSpaceAndProjectPanelShown
+ barWidth: 2
+ showHandle: false
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'LeftBox'
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'ClassCategoryAndNamespaceFilterBox'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ visibilityChannel: categoryListShown
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassCategoryList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+ majorKey: ClassCategoryList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classCategoryDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassCategoryGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classCategoryListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilterSelection
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedCategories
+ aspect: selectedCategories
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: categoryListSlaveMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classCategoryListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (ExtendedComboBoxSpec
+ name: 'NameSpaceFilterComboBox'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ tabable: true
+ model: nameSpaceFilterSelectedNameSpace
+ menuWidgetHolder: nameSpaceListWidgetHolder
+ miniScrollerHorizontal: true
+ menuSelector: nameSpaceFilterPopUpMenu
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'NamespaceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: nameSpaceListShown
+ majorKey: NamespaceList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: nameSpaceDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceNamespaceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: nameSpaceListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedNamespaces
+ aspect: selectedNamespaces
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: nameSpaceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: nameSpaceListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ProjectList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ initiallyInvisible: true
+ visibilityChannel: projectListShown
+ majorKey: ProjectList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: projectDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceProjectGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: projectListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedProjects
+ aspect: selectedProjects
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: projectListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: projectListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'RightBox'
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'ClassAndVariablesPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassList'
+ majorKey: ClassList
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: hidePrivateClasses
+ aspect: hidePrivateClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolderForMethods
+ aspect: selectorListGenerator5
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: sortByNameAndInheritance
+ aspect: sortByNameAndInheritance
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'VariableList'
+ majorKey: VariableList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: classHolder
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: variableDoubleClickChannel
+ )
+
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: variablesMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedVariables
+ aspect: variableFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassVarsInVariableList
+ aspect: showClassVarsInVariableList
+ )
+
+ (SubChannelInfoSpec
+ subAspect: sortVariablesByName
+ aspect: sortVariablesByName
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (UISubSpecification
+ name: 'MetaToggleSpec2'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ minorKey: metaSpec
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ )
+
+ )
+ )
+!
+
+windowSpecWithoutMetaToggles
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::OrganizerCanvas andSelector:#windowSpecWithoutMetaToggles
+ Tools::OrganizerCanvas new openInterface:#windowSpecWithoutMetaToggles
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpecWithoutMetaToggles
+ window:
+ (WindowSpec
+ label: 'Organizer'
+ name: 'Organizer'
+ min: (Point 0 0)
+ max: (Point 1024 721)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassHierarchyList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classHierarchyShown
+ majorKey: HierarchicalClassList
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: methodVisibilityHolder
+ aspect: methodVisibilityHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showClassPackages
+ aspect: showClassPackages
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+ (SubChannelInfoSpec
+ subAspect: showMethodComplexity
+ aspect: showMethodComplexity
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showMethodInheritance
+ aspect: showMethodInheritance
+ )
+ (SubChannelInfoSpec
+ subAspect: showMethodTypeIcon
+ aspect: showMethodTypeIcon
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classInheritanceListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ClassInheritanceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classInheritanceShown
+ majorKey: InheritanceClassList
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassInheritanceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classInheritanceListMenuHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+
+ (SubChannelInfoSpec
+ subAspect: nameSpaceFilter
+ aspect: nameSpaceFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classInheritanceListSlaveMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: topClassHolder
+ aspect: classHierarchyTopClass
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classHierarchyUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (VariableHorizontalPanelSpec
+ name: 'VariableHorizontalPanel1'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: classHierarchyNotShown
+ barWidth: 2
+ showHandle: false
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'Box1'
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassCategoryList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: categoryListShown
+ majorKey: ClassCategoryList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classCategoryDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceClassCategoryGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classCategoryListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedCategories
+ aspect: selectedCategories
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classCategoryListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'NamespaceList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: nameSpaceListShown
+ majorKey: NamespaceList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: nameSpaceDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceNamespaceGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: nameSpaceListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedNamespaces
+ aspect: selectedNamespaces
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: nameSpaceListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'ProjectList'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ visibilityChannel: projectListShown
+ majorKey: ProjectList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: projectDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: forceGeneratorTrigger
+ aspect: forceProjectGeneratorTrigger
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: projectListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedProjects
+ aspect: selectedProjects
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: projectListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'ClassList'
+ majorKey: ClassList
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ aspect: classDoubleClickChannel
+ )
+ (SubChannelInfoSpec
+ subAspect: environmentHolder
+ aspect: environmentHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: hidePrivateClasses
+ aspect: hidePrivateClasses
+ )
+ (SubChannelInfoSpec
+ subAspect: hideUnloadedClasses
+ aspect: hideUnloadedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: classGeneratorHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: markApplicationsHolder
+ aspect: markApplicationsHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classListMenuHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+ (SubChannelInfoSpec
+ subAspect: organizerMode
+ aspect: organizerMode
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: outGeneratorHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeCondition
+ )
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+
+ (SubChannelInfoSpec
+ subAspect: slaveMode
+ aspect: classListSlaveMode
+ )
+ (SubChannelInfoSpec
+ subAspect: sortByNameAndInheritance
+ aspect: sortByNameAndInheritance
+ )
+
+ (SubChannelInfoSpec
+ subAspect: updateTrigger
+ aspect: classListUpdateTrigger
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ )
+
+ )
+ )
+! !
+
+!OrganizerCanvas class methodsFor:'plugIn spec'!
+
+aspectSelectors
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this. If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "Return a description of exported aspects;
+ these can be connected to aspects of an embedding application
+ (if this app is embedded in a subCanvas)."
+
+ ^ #(
+ #(classCategoryDoubleClickChannel action)
+ #classCategoryListMenuHolder
+ #(classDoubleClickChannel action)
+ #classHierarchyListMenuHolder
+ #classHierarchyTopClass
+ #classListMenuHolder
+ #environmentHolder
+ #filterClassVars
+ #hidePrivateClasses
+ #hideUnloadedClasses
+ #immediateUpdate
+ #markApplicationsHolder
+ #meta
+ #metaToggleLabelHolder
+ #(nameSpaceDoubleClickChannel action)
+ #nameSpaceFilter
+ #nameSpaceListMenuHolder
+ #organizerMode
+ #outGeneratorHolder
+ #packageFilter
+ #(projectDoubleClickChannel action)
+ #projectListMenuHolder
+ #selectedCategories
+ #selectedClasses
+ #selectedNamespaces
+ #selectedProjects
+ #selectedProtocols
+ #selectionChangeCondition
+ #showClassPackages
+ #showCoverageInformation
+ #sortByNameAndInheritance
+ #sortVariablesBy
+ #(variableDoubleClickChannel action)
+ #variableFilter
+ #variablesMenuHolder
+ ).
+
+! !
+
+!OrganizerCanvas methodsFor:'aspects'!
+
+classCategoryDoubleClickChannel
+ classCategoryDoubleClickChannel isNil ifTrue:[
+ classCategoryDoubleClickChannel := TriggerValue new.
+ ].
+ ^ classCategoryDoubleClickChannel.
+!
+
+classCategoryListMenuHolder
+ classCategoryListMenuHolder isNil ifTrue:[
+ classCategoryListMenuHolder := ValueHolder new.
+ ].
+ ^ classCategoryListMenuHolder.
+
+ "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+classDoubleClickChannel
+ classDoubleClickChannel isNil ifTrue:[
+ classDoubleClickChannel := TriggerValue new.
+ ].
+ ^ classDoubleClickChannel.
+!
+
+classGeneratorHolder
+ classGeneratorHolder isNil ifTrue:[
+ classGeneratorHolder := ValueHolder new.
+ ].
+ ^ classGeneratorHolder.
+
+ "Created: / 18.2.2000 / 00:56:50 / cg"
+!
+
+classGeneratorHolderFromClassCategory
+ classGeneratorHolderFromClassCategory isNil ifTrue:[
+ classGeneratorHolderFromClassCategory := ValueHolder new.
+ ].
+ ^ classGeneratorHolderFromClassCategory.
+
+ "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classGeneratorHolderFromClassHierarchy
+ classGeneratorHolderFromClassHierarchy isNil ifTrue:[
+ classGeneratorHolderFromClassHierarchy := ValueHolder new.
+ ].
+ ^ classGeneratorHolderFromClassHierarchy.
+
+ "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classGeneratorHolderFromNamespace
+ classGeneratorHolderFromNamespace isNil ifTrue:[
+ classGeneratorHolderFromNamespace := ValueHolder new.
+ ].
+ ^ classGeneratorHolderFromNamespace.
+
+ "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classGeneratorHolderFromProject
+ classGeneratorHolderFromProject isNil ifTrue:[
+ classGeneratorHolderFromProject := ValueHolder new.
+ ].
+ ^ classGeneratorHolderFromProject.
+
+ "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classHierarchyListMenuHolder
+ classHierarchyListMenuHolder isNil ifTrue:[
+ classHierarchyListMenuHolder := ValueHolder new.
+ ].
+ ^ classHierarchyListMenuHolder.
+
+ "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+classHierarchyTopClass
+ ^ builder valueAspectFor:#classHierarchyTopClass initialValue:Object
+!
+
+classInheritanceListMenuHolder
+ ^ self classHierarchyListMenuHolder
+!
+
+classList
+ classList isNil ifTrue:[
+ classList := ValueHolder new.
+ ].
+ ^ classList.
+
+ "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+classListMenuHolder
+ "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."
+
+ classListMenuHolder isNil ifTrue:[
+ classListMenuHolder := ValueHolder new.
+"/ classListMenuHolder addDependent:self.
+ ].
+ ^ classListMenuHolder.
+
+ "Created: / 18.2.2000 / 11:57:22 / cg"
+!
+
+defaultOrganizerMode
+ ^ OrganizerCanvas organizerModePackageDiagram.
+ ^ OrganizerCanvas organizerModeCategory
+!
+
+diagramPackageSelection
+ |holder|
+
+ (holder := builder bindingAt:#diagramPackageSelection) isNil ifTrue:[
+ holder := nil asValue.
+ builder aspectAt:#diagramPackageSelection put:holder.
+ holder onChangeSend:#diagramPackageSelectionChanged to:self.
+ ].
+ ^ holder.
+!
+
+filterClassVars
+ filterClassVars isNil ifTrue:[
+ filterClassVars := ValueHolder new.
+"/ filterClassVars addDependent:self.
+ ].
+ ^ filterClassVars.
+
+ "Created: / 24-02-2000 / 23:29:52 / cg"
+!
+
+hidePrivateClasses
+ hidePrivateClasses isNil ifTrue:[
+ hidePrivateClasses := false asValue.
+"/ hidePrivateClasses addDependent:self.
+ ].
+ ^ hidePrivateClasses.
+
+ "Created: / 24-02-2000 / 16:18:45 / cg"
+!
+
+hideUnloadedClasses
+ hideUnloadedClasses isNil ifTrue:[
+ hideUnloadedClasses := false asValue.
+"/ hideUnloadedClasses addDependent:self.
+ ].
+ ^ hideUnloadedClasses.
+
+ "Created: / 18-02-2000 / 17:54:57 / cg"
+!
+
+immediateUpdate
+ immediateUpdate isNil ifTrue:[
+ immediateUpdate := false asValue.
+"/ immediateUpdate addDependent:self.
+ ].
+ ^ immediateUpdate.
+
+ "Created: / 18-02-2000 / 00:23:43 / cg"
+!
+
+initialOrganizerMode
+ ^ nil "/ dummy
+!
+
+markApplicationsHolder
+ markApplicationsHolder isNil ifTrue:[
+ markApplicationsHolder := false asValue.
+ ].
+ ^ markApplicationsHolder.
+!
+
+meta
+ meta isNil ifTrue:[
+ meta := false asValue.
+"/ meta addDependent:self.
+ ].
+ ^ meta.
+
+ "Created: / 18-02-2000 / 00:23:43 / cg"
+ "Modified (comment): / 04-07-2011 / 18:52:49 / cg"
+!
+
+metaToggle
+ metaToggle isNil ifTrue:[
+ metaToggle := PluggableAdaptor on:(self meta).
+ metaToggle
+ getBlock:[:m | m value == true]
+ putBlock:[:m :newValue | m value:(newValue ? false)]
+ updateBlock:[:m :aspect :param | true].
+ ].
+ ^ metaToggle
+!
+
+metaToggleLabelHolder
+ "this is changed from 'Instance/Class' to 'Instance/Static' for Java"
+
+ metaToggleLabelHolder isNil ifTrue:[
+ metaToggleLabelHolder := (resources string:'Class') asValue.
+"/ metaToggleLabelHolder addDependent:self.
+ ].
+ ^ metaToggleLabelHolder.
+
+ "Created: / 18-02-2000 / 11:52:55 / cg"
+!
+
+methodVisibilityHolder
+ masterApplication notNil ifTrue:[
+ ^ masterApplication methodVisibilityHolder
+ ].
+
+ methodVisibilityHolder isNil ifTrue:[
+ methodVisibilityHolder := false asValue.
+ ].
+ ^ methodVisibilityHolder.
+
+ "Created: / 05-11-2007 / 16:57:58 / cg"
+!
+
+nameSpaceDoubleClickChannel
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceDoubleClickChannel) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#nameSpaceDoubleClickChannel put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Modified (comment): / 04-07-2011 / 18:53:36 / cg"
+!
+
+nameSpaceFilter
+ nameSpaceFilter isNil ifTrue:[
+ nameSpaceFilter := ValueHolder new.
+ nameSpaceFilter onChangeEvaluate:[
+ nameSpaceFilter value ~= nameSpaceFilterSelection value ifTrue:[
+ self halt:'should not happen'
+ ].
+"/ self nameSpaceFilter value: nameSpaceFilterSelection value.
+ ]
+ ].
+ ^ nameSpaceFilter.
+
+ "Created: / 24.2.2000 / 23:29:52 / cg"
+!
+
+nameSpaceFilterDoubleClickChannel
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceFilterDoubleClickChannel) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#nameSpaceFilterDoubleClickChannel put:holder.
+ holder onChangeEvaluate:[
+ (builder componentAt:#NameSpaceFilterComboBox) closeMenu.
+"/ self nameSpaceDoubleClickChannel value:true.
+ ]
+ ].
+ ^ holder.
+
+ "Modified (comment): / 04-07-2011 / 18:53:39 / cg"
+!
+
+nameSpaceFilterPopUpMenu
+ ^ self nameSpaceListMenuHolder.
+!
+
+nameSpaceFilterSelectedNameSpace
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceFilterSelectedNameSpace) isNil ifTrue:[
+ holder := self class nameListEntryForALL "'* all *'" asValue.
+ builder aspectAt:#nameSpaceFilterSelectedNameSpace put:holder.
+ holder onChangeEvaluate:[ self updateNameSpaceLabel. ].
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+nameSpaceFilterSelection
+ "automatically generated by UIPainter ..."
+
+ nameSpaceFilterSelection isNil ifTrue:[
+ nameSpaceFilterSelection := (OrderedCollection with:self class nameListEntryForALL) asValue.
+ nameSpaceFilterSelection addDependent:self.
+ ].
+ ^ nameSpaceFilterSelection.
+!
+
+nameSpaceListMenuHolder
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceListMenuHolder) isNil ifTrue:[
+ holder := ValueHolder new.
+ builder aspectAt:#nameSpaceListMenuHolder put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+nameSpaceListWidget
+ |view|
+
+ view := SubCanvas new.
+ view client:self spec:#embeddedNameSpaceListSpec builder:nil. "/ (self builder).
+ (view builder findComponentAt:#List) autoHideHorizontalScrollBar:true.
+ ^ view.
+!
+
+nameSpaceListWidgetHolder
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceListWidgetHolder) isNil ifTrue:[
+ holder := ValueHolder new.
+ builder aspectAt:#nameSpaceListWidgetHolder put:holder.
+ holder value:(self nameSpaceListWidget).
+ ].
+ ^ holder.
+!
+
+notMetaToggle
+ notMetaToggle isNil ifTrue:[
+ notMetaToggle := PluggableAdaptor on:(self meta).
+ notMetaToggle
+ getBlock:[:m | m value == false]
+ putBlock:[:m :newValue | m value:(newValue ? false) not]
+ updateBlock:[:m :aspect :param | true].
+ ].
+ ^ notMetaToggle
+!
+
+organizerMode
+ organizerMode isNil ifTrue:[
+ organizerMode := self defaultOrganizerMode asValue.
+ organizerMode addDependent:self.
+ ].
+ ^ organizerMode
+
+ "Created: / 18.2.2000 / 00:30:44 / cg"
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+outGeneratorHolder
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#outGeneratorHolder) isNil ifTrue:[
+ holder := ValueHolder new.
+ builder aspectAt:#outGeneratorHolder put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+packageFilter
+ "automatically generated by UIPainter ..."
+
+ packageFilter isNil ifTrue:[
+ packageFilter := ValueHolder new.
+ "/ packageFilter addDependent:self.
+ ].
+ ^ packageFilter.
+
+ "Created: / 24.2.2000 / 23:29:52 / cg"
+!
+
+packageList
+ |holder|
+
+ (holder := builder bindingAt:#packageList) isNil ifTrue:[
+ holder := ValueHolder with:(ProjectList new listOfProjects).
+ builder aspectAt:#packageList put:holder.
+ ].
+ ^ holder.
+!
+
+popUpNameSpaceListSlaveMode
+ ^ false
+!
+
+projectDoubleClickChannel
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#projectDoubleClickChannel) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#projectDoubleClickChannel put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+!
+
+projectListMenuHolder
+ "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."
+
+ projectListMenuHolder isNil ifTrue:[
+ projectListMenuHolder := ValueHolder new.
+"/ projectListMenuHolder addDependent:self.
+ ].
+ ^ projectListMenuHolder.
+
+ "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+selectedCategories
+ "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."
+
+ selectedCategories isNil ifTrue:[
+ selectedCategories := ValueHolder new.
+"/ selectedCategories addDependent:self.
+ ].
+ ^ selectedCategories.
+
+ "Created: / 18.2.2000 / 12:27:58 / cg"
+!
+
+selectedClasses
+ "bad name- it's a holder, baby"
+
+ selectedClasses isNil ifTrue:[
+ selectedClasses := ValueHolder new.
+ selectedClasses addDependent:self.
+ ].
+ ^ selectedClasses.
+
+ "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
+ selectedNamespaces isNil ifTrue:[
+ selectedNamespaces := (OrderedCollection with:self class nameListEntryForALL) asValue.
+ ].
+ ^ selectedNamespaces.
+
+ "Created: / 18.2.2000 / 12:27:58 / cg"
+!
+
+selectedProjects
+ selectedProjects isNil ifTrue:[
+ selectedProjects := ValueHolder new.
+ selectedProjects addDependent:self.
+ ].
+ ^ selectedProjects.
+
+ "Created: / 18.2.2000 / 12:16:01 / cg"
+!
+
+selectionChangeCondition
+
+ selectionChangeCondition isNil ifTrue:[
+ selectionChangeCondition := ValueHolder new.
+"/ selectionChangeCondition addDependent:self.
+ ].
+ ^ selectionChangeCondition.
+
+ "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+showAllClassesInNameSpaceOrganisation
+ masterApplication notNil ifTrue:[
+ ^ masterApplication showAllClassesInNameSpaceOrganisation
+ ].
+
+ showAllClassesInNameSpaceView isNil ifTrue:[
+ showAllClassesInNameSpaceView := false asValue.
+ ].
+ ^ showAllClassesInNameSpaceView.
+
+ "Created: / 05-03-2007 / 16:52:02 / cg"
+ "Modified: / 06-03-2007 / 12:30:17 / cg"
+!
+
+showClassPackages
+ "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."
+
+ showClassPackages isNil ifTrue:[
+ showClassPackages := false asValue.
+"/ showClassPackages addDependent:self.
+ ].
+ ^ showClassPackages.
+
+ "Created: / 18.2.2000 / 17:54:57 / cg"
+!
+
+showCoverageInformation
+ masterApplication notNil ifTrue:[
+ ^ masterApplication showCoverageInformation
+ ].
+
+ showCoverageInformation isNil ifTrue:[
+ showCoverageInformation := false asValue.
+ ].
+ ^ showCoverageInformation.
+
+ "Created: / 27-04-2010 / 16:32:56 / cg"
+!
+
+showMethodComplexity
+ masterApplication notNil ifTrue:[
+ ^ masterApplication showMethodComplexity
+ ].
+
+ showMethodComplexity isNil ifTrue:[
+ showMethodComplexity := false asValue.
+ ].
+ ^ showMethodComplexity.
+
+ "Created: / 05-11-2007 / 16:56:36 / cg"
+!
+
+showMethodInheritance
+ masterApplication notNil ifTrue:[
+ ^ masterApplication showMethodInheritance
+ ].
+
+ showMethodInheritance isNil ifTrue:[
+ showMethodInheritance := false asValue.
+ ].
+ ^ showMethodInheritance.
+
+ "Created: / 05-11-2007 / 16:55:35 / cg"
+!
+
+showMethodTypeIcon
+ masterApplication notNil ifTrue:[
+ ^ masterApplication showMethodTypeIcon
+ ].
+
+ showMethodTypeIcon isNil ifTrue:[
+ showMethodTypeIcon := false asValue.
+ ].
+ ^ showMethodTypeIcon.
+
+ "Created: / 05-11-2007 / 16:57:12 / cg"
+!
+
+sortByNameAndInheritance
+ sortByNameAndInheritance isNil ifTrue:[
+ sortByNameAndInheritance := false asValue.
+"/ sortByNameAndInheritance addDependent:self.
+ ].
+ ^ sortByNameAndInheritance.
+
+ "Created: / 04-07-2011 / 18:41:22 / cg"
+!
+
+sortVariablesByName
+ sortVariablesByName isNil ifTrue:[
+ sortVariablesByName := false asValue.
+ ].
+ ^ sortVariablesByName.
+!
+
+updateNameSpaceLabel
+ |box|
+
+ box := self componentAt:#NameSpaceFilterComboBox.
+ box notNil ifTrue:[
+ "/ new code: ExtComboBox uses always an EditField
+ box editor contents:nameSpaceFilterSelection value first.
+
+ "/ old code: readOnly ExtComboBox used a Label
+ "/ box menuField label:nameSpaceFilterSelection value first
+ ]
+!
+
+variableDoubleClickChannel
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#variableDoubleClickChannel) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#variableDoubleClickChannel put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+!
+
+variableFilter
+ variableFilter isNil ifTrue:[
+ variableFilter := ValueHolder new.
+ ].
+ ^ variableFilter.
+
+ "Created: / 24.2.2000 / 23:29:52 / cg"
+!
+
+variablesMenuHolder
+ "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."
+
+ variablesMenuHolder isNil ifTrue:[
+ variablesMenuHolder := ValueHolder new.
+"/ variablesMenuHolder addDependent:self.
+ ].
+ ^ variablesMenuHolder.
+
+ "Created: / 24.2.2000 / 23:29:52 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects-exported'!
+
+classCategoryDoubleClickChannel:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classCategoryDoubleClickChannel removeDependent:self.
+
+ classCategoryDoubleClickChannel := something.
+
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.8.2000 / 20:04:48 / cg"
+!
+
+classCategoryListMenuHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classCategoryListMenuHolder removeDependent:self.
+
+ classCategoryListMenuHolder := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+classCategoryListUpdateTrigger:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classCategoryListUpdateTrigger removeDependent:self.
+
+ classCategoryListUpdateTrigger := something.
+
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+classDoubleClickChannel:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classDoubleClickChannel removeDependent:self.
+
+ classDoubleClickChannel := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+!
+
+classHierarchyListMenuHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classHierarchyListMenuHolder removeDependent:self.
+
+ classHierarchyListMenuHolder := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+classHierarchyShown:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#classHierarchyShown) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#classHierarchyShown put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 00:24:28 / cg"
+!
+
+classHierarchyTopClass:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#classHierarchyTopClass) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#classHierarchyTopClass put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+!
+
+classHierarchyUpdateTrigger:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#classHierarchyUpdateTrigger) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#classHierarchyUpdateTrigger put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+classList:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classList notNil ifTrue:[
+ "/ classList removeDependent:self.
+ "/ ].
+ classList := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 00:24:28 / cg"
+!
+
+classListMenuHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classListMenuHolder removeDependent:self.
+
+ classListMenuHolder := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 11:57:22 / cg"
+!
+
+classListUpdateTrigger:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ classListUpdateTrigger removeDependent:self.
+
+ classListUpdateTrigger := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+filterClassVars:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ filterClassVars removeDependent:self.
+
+ filterClassVars := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 24.2.2000 / 23:46:16 / cg"
+!
+
+hidePrivateClasses:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ hidePrivateClasses removeDependent:self.
+
+ hidePrivateClasses := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 24.2.2000 / 16:18:32 / cg"
+!
+
+hideUnloadedClasses:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ hideUnloadedClasses removeDependent:self.
+
+ hideUnloadedClasses := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 17:54:57 / cg"
+!
+
+immediateUpdate:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ immediateUpdate removeDependent:self.
+
+ immediateUpdate := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+markApplicationsHolder:something
+ markApplicationsHolder := something.
+!
+
+meta:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ meta notNil ifTrue:[
+ "/ meta removeDependent:self.
+ "/ ].
+"/ (something == true or:[something == false]) ifTrue:[self halt].
+ meta := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ metaToggle notNil ifTrue:[
+ metaToggle model:something
+ ].
+ notMetaToggle notNil ifTrue:[
+ notMetaToggle model:something
+ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+metaToggleLabelHolder:something
+ |v|
+
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ metaToggleLabelHolder removeDependent:self.
+
+ metaToggleLabelHolder := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ (v := builder componentAt:#ClassToggle) notNil ifTrue:[
+ v labelChannel:metaToggleLabelHolder.
+ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+methodVisibilityHolder:aValueHolder
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ methodVisibilityHolder := aValueHolder.
+
+ "Created: / 05-11-2007 / 16:57:34 / cg"
+!
+
+nameSpaceFilter:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ packageFilter notNil ifTrue:[
+ "/ packageFilter removeDependent:self.
+ "/ ].
+ nameSpaceFilter := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ self nameSpaceFilterSelection value:something value.
+ ^ self.
+
+ "Created: / 24.2.2000 / 23:46:16 / cg"
+!
+
+nameSpaceListMenuHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#namespaceListMenuHolder) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#nameSpaceListMenuHolder put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+nameSpaceListUpdateTrigger:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#namespaceListUpdateTrigger) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#nameSpaceListUpdateTrigger put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+organizerMode:aValueHolder
+ organizerMode notNil ifTrue:[
+ organizerMode removeDependent:self.
+ ].
+ organizerMode := aValueHolder.
+ organizerMode notNil ifTrue:[
+ organizerMode addDependent:self.
+ ].
+
+ "Created: / 18.2.2000 / 10:21:41 / cg"
+!
+
+outGeneratorHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#outGeneratorHolder) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#outGeneratorHolder put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+packageFilter:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ packageFilter notNil ifTrue:[
+ "/ packageFilter removeDependent:self.
+ "/ ].
+ packageFilter := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 24.2.2000 / 23:46:16 / cg"
+!
+
+projectDoubleClickChannel:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#projectDoubleClickChannel) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#projectDoubleClickChannel put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+!
+
+projectListMenuHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ projectListMenuHolder := something.
+
+ "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+projectListUpdateTrigger:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#projectListUpdateTrigger) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#projectListUpdateTrigger put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+selectedCategories:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ selectedCategories := something.
+ ^ self.
+
+ "Created: / 18.2.2000 / 14:04:36 / cg"
+!
+
+selectedClasses:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ selectedClasses removeDependent:self.
+
+ selectedClasses := something.
+ something notNil ifTrue:[
+ something addDependent:self.
+ ].
+ ^ self.
+
+ "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+selectedNamespaces:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ selectedNamespaces := something.
+ selectedNamespaces onChangeEvaluate:[
+ nameSpaceFilterSelection notNil ifTrue:[
+ nameSpaceFilterSelection value:selectedNamespaces value.
+ ]
+ ].
+
+ "Modified: / 05-11-2007 / 17:16:56 / cg"
+!
+
+selectedProjects:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ selectedProjects := something.
+!
+
+selectionChangeCondition:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ selectionChangeCondition := something.
+!
+
+showClassPackages:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ showClassPackages := something.
+!
+
+showCoverageInformation:something
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ showCoverageInformation := something.
+
+ "Created: / 06-07-2011 / 19:48:20 / cg"
+!
+
+showMethodComplexity:aValueHolder
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ showMethodComplexity := aValueHolder.
+
+ "Created: / 05-11-2007 / 16:56:18 / cg"
+!
+
+showMethodInheritance:aValueHolder
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ showMethodInheritance := aValueHolder.
+
+ "Created: / 05-11-2007 / 16:55:12 / cg"
+!
+
+showMethodTypeIcon:aValueHolder
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ showMethodTypeIcon := aValueHolder.
+
+ "Created: / 05-11-2007 / 16:57:02 / cg"
+!
+
+sortByNameAndInheritance:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ sortByNameAndInheritance removeDependent:self.
+
+ sortByNameAndInheritance := something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+
+ "Created: / 04-07-2011 / 18:42:01 / cg"
+!
+
+sortVariablesByName:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ sortVariablesByName := something.
+!
+
+variableDoubleClickChannel:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ "/ |holder|
+
+ "/ (holder := builder bindingAt:#variableDoubleClickChannel) notNil ifTrue:[
+ "/ holder removeDependent:self.
+ "/ ].
+ builder aspectAt:#variableDoubleClickChannel put:something.
+ "/ something notNil ifTrue:[
+ "/ something addDependent:self.
+ "/ ].
+ ^ self.
+!
+
+variableFilter:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ variableFilter := something.
+!
+
+variablesMenuHolder:something
+ "automatically generated by UIPainter ..."
+
+ "This method is used when I am embedded as subApplication,"
+ "and the mainApp wants to connect its aspects to mine."
+
+ variablesMenuHolder := something.
+! !
+
+!OrganizerCanvas methodsFor:'aspects-private'!
+
+categoryListSlaveMode
+ categoryListSlaveMode isNil ifTrue:[
+ categoryListSlaveMode := false asValue.
+ ].
+ ^ categoryListSlaveMode
+
+ "Created: / 18.2.2000 / 00:30:44 / cg"
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+classHierarchyListSlaveMode
+ classHierarchyListSlaveMode isNil ifTrue:[
+ classHierarchyListSlaveMode := true asValue.
+ ].
+ ^ classHierarchyListSlaveMode
+
+ "Created: / 18.2.2000 / 00:30:44 / cg"
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+classInheritanceListSlaveMode
+ classInheritanceListSlaveMode isNil ifTrue:[
+ classInheritanceListSlaveMode := true asValue.
+ ].
+ ^ classInheritanceListSlaveMode
+
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+ "Created: / 26.2.2000 / 00:09:18 / cg"
+!
+
+classListSlaveMode
+ classListSlaveMode isNil ifTrue:[
+ classListSlaveMode := false asValue.
+ ].
+ ^ classListSlaveMode
+
+ "Created: / 18.2.2000 / 00:30:44 / cg"
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+nameSpaceListSlaveMode
+ namespaceListSlaveMode isNil ifTrue:[
+ namespaceListSlaveMode := true asValue.
+ ].
+ ^ namespaceListSlaveMode
+
+ "Created: / 18.2.2000 / 00:30:44 / cg"
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+projectListSlaveMode
+ projectListSlaveMode isNil ifTrue:[
+ projectListSlaveMode := true asValue.
+ ].
+ ^ projectListSlaveMode
+
+ "Created: / 18.2.2000 / 00:30:44 / cg"
+ "Modified: / 18.2.2000 / 02:56:21 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects-trigger'!
+
+classCategoryListUpdateTrigger
+ "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."
+
+ classCategoryListUpdateTrigger isNil ifTrue:[
+ classCategoryListUpdateTrigger := TriggerValue new.
+"/ classCategoryListUpdateTrigger addDependent:self.
+ ].
+ ^ classCategoryListUpdateTrigger.
+
+ "Created: / 18.2.2000 / 02:05:14 / cg"
+ "Modified: / 18.2.2000 / 02:14:04 / cg"
+!
+
+classHierarchyUpdateTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#classHierarchyUpdateTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#classHierarchyUpdateTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:05:14 / cg"
+ "Modified: / 18.2.2000 / 02:13:57 / cg"
+!
+
+classListUpdateTrigger
+ "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."
+
+ classListUpdateTrigger isNil ifTrue:[
+ classListUpdateTrigger := TriggerValue new.
+"/ classListUpdateTrigger addDependent:self.
+ ].
+ ^ classListUpdateTrigger.
+
+ "Created: / 18.2.2000 / 02:05:14 / cg"
+ "Modified: / 18.2.2000 / 02:14:08 / cg"
+!
+
+forceClassCategoryGeneratorTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#forceClassCategoryGeneratorTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#forceClassCategoryGeneratorTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:49:43 / cg"
+ "Modified: / 18.2.2000 / 02:52:30 / cg"
+!
+
+forceClassHierarchyGeneratorTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#forceClassHierarchyGeneratorTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#forceClassHierarchyGeneratorTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:49:43 / cg"
+ "Modified: / 18.2.2000 / 02:52:32 / cg"
+!
+
+forceNamespaceGeneratorTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#forceNamespaceGeneratorTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#forceNamespaceGeneratorTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:49:43 / cg"
+ "Modified: / 18.2.2000 / 02:52:35 / cg"
+!
+
+forceProjectGeneratorTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#forceProjectGeneratorTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#forceProjectGeneratorTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:49:43 / cg"
+ "Modified: / 18.2.2000 / 02:52:38 / cg"
+!
+
+nameSpaceListUpdateTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceListUpdateTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#nameSpaceListUpdateTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:05:14 / cg"
+ "Modified: / 18.2.2000 / 02:14:12 / cg"
+!
+
+projectListUpdateTrigger
+ "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."
+
+ |holder|
+
+ (holder := builder bindingAt:#projectListUpdateTrigger) isNil ifTrue:[
+ holder := TriggerValue new.
+ builder aspectAt:#projectListUpdateTrigger put:holder.
+"/ holder addDependent:self.
+ ].
+ ^ holder.
+
+ "Created: / 18.2.2000 / 02:05:14 / cg"
+ "Modified: / 18.2.2000 / 02:14:15 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects-visibility'!
+
+categoryListShown
+ categoryListShown isNil ifTrue:[
+ categoryListShown := BlockValue
+ with:[:v | v == OrganizerCanvas organizerModeCategory]
+ argument:(self organizerMode).
+ ].
+ ^ categoryListShown
+
+ "Modified: / 08-03-2007 / 23:01:48 / cg"
+!
+
+categoryNameSpaceAndProjectPanelShown
+ |holder|
+
+ (holder := builder bindingAt:#categoryNameSpaceAndProjectPanelShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v1 :v2 :v3 | (v1 or:[v2 or:[v3]]) not]
+ argument:(self classHierarchyShown)
+ argument:(self classInheritanceShown)
+ argument:(self packageDiagramShown).
+ builder aspectAt:#categoryNameSpaceAndProjectPanelShown put: holder
+ ].
+ ^ holder
+
+ "Modified: / 08-03-2007 / 23:01:57 / cg"
+!
+
+classHierarchyNotShown
+ |holder|
+
+ (holder := builder bindingAt:#classHierarchyNotShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | |org|
+ org := v.
+ org ~~ OrganizerCanvas organizerModeHierarchy
+ and:[org ~~ OrganizerCanvas organizerModeClassHierarchy
+ and:[org ~~ OrganizerCanvas organizerModeClassInheritance]]]
+ argument:(self organizerMode).
+ builder aspectAt:#classHierarchyNotShown put: holder
+ ].
+ ^ holder
+
+ "Created: / 18-02-2000 / 00:36:38 / cg"
+ "Modified: / 08-03-2007 / 23:01:51 / cg"
+!
+
+classHierarchyOrInheritanceNotShown
+ <resource: #obsolete>
+
+ |holder|
+
+ (holder := builder bindingAt:#classHierarchyOrInheritanceNotShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v1 :v2 | (v1 or:[v2]) not]
+ argument:(self classHierarchyShown)
+ argument:(self classInheritanceShown).
+ builder aspectAt:#classHierarchyOrInheritanceNotShown put: holder
+ ].
+ ^ holder
+
+ "Modified: / 08-03-2007 / 23:01:57 / cg"
+!
+
+classHierarchyOrInheritanceShown
+ |holder|
+
+ (holder := builder bindingAt:#classHierarchyOrInheritanceShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v1 :v2 | v1 or:[v2] ]
+ argument:(self classHierarchyShown)
+ argument:(self classInheritanceShown).
+ builder aspectAt:#classHierarchyOrInheritanceShown put: holder
+ ].
+ ^ holder
+
+ "Modified: / 08-03-2007 / 23:02:03 / cg"
+!
+
+classHierarchyShown
+ |holder|
+
+ (holder := builder bindingAt:#classHierarchyShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | |org|
+ org := v.
+ org == OrganizerCanvas organizerModeHierarchy
+ or:[org == OrganizerCanvas organizerModeClassHierarchy]]
+ argument:(self organizerMode).
+ builder aspectAt:#classHierarchyShown put: holder
+ ].
+ ^ holder
+
+ "Modified: / 08-03-2007 / 23:02:07 / cg"
+!
+
+classInheritanceShown
+ |holder|
+
+ (holder := builder bindingAt:#classInheritanceShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | v == OrganizerCanvas organizerModeClassInheritance]
+ argument:(self organizerMode).
+ builder aspectAt:#classInheritanceShown put: holder
+ ].
+ ^ holder
+
+ "Created: / 24-02-2000 / 13:23:01 / cg"
+ "Modified: / 08-03-2007 / 23:02:09 / cg"
+!
+
+classListShown
+ |holder|
+
+ (holder := builder bindingAt:#classListShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | v ~~ OrganizerCanvas organizerModeHierarchy]
+ argument:(self organizerMode).
+ builder aspectAt:#classListShown put: holder
+ ].
+ ^ holder
+
+ "Modified: / 08-03-2007 / 23:02:12 / cg"
+!
+
+nameSpaceListShown
+ |holder|
+
+ (holder := builder bindingAt:#nameSpaceListShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | v == OrganizerCanvas organizerModeNamespace]
+ argument:(self organizerMode).
+ builder aspectAt:#nameSpaceListShown put: holder
+ ].
+ ^ holder
+
+ "Created: / 18-02-2000 / 00:32:09 / cg"
+ "Modified: / 08-03-2007 / 23:02:15 / cg"
+!
+
+packageDiagramShown
+ |holder|
+
+ (holder := builder bindingAt:#packageDiagramShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | |org|
+ org := v.
+ org == OrganizerCanvas organizerModePackageDiagram]
+ argument:(self organizerMode).
+ builder aspectAt:#packageDiagramShown put: holder
+ ].
+ ^ holder
+
+ "Modified: / 08-03-2007 / 23:02:07 / cg"
+!
+
+projectListShown
+ |holder|
+
+ (holder := builder bindingAt:#projectListShown) isNil ifTrue:[
+ holder := BlockValue
+ with:[:v | v == OrganizerCanvas organizerModeProject]
+ argument:(self organizerMode).
+ builder aspectAt:#projectListShown put: holder
+ ].
+ ^ holder
+
+ "Created: / 18-02-2000 / 00:32:09 / cg"
+ "Modified: / 08-03-2007 / 23:02:18 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'change & update'!
+
+diagramClassSelectionChanged
+ |graphApp classes|
+
+ graphApp := self diagramApplicationModelHolder value.
+
+ classes := graphApp selectedClassesHolder value.
+ self classGeneratorHolder value:classes.
+ self classList value:classes.
+ self selectedClasses value:classes.
+
+"/ self outGeneratorHolder value:classes.
+!
+
+diagramPackageSelectionChanged
+ |package|
+
+ self packageDiagramShown value ifTrue:[
+ package := self diagramPackageSelection value.
+ self withWaitCursorDo:[
+ self diagramApplicationModelHolder value
+ packages:(Array with:package);
+ generateDiagram
+ ]
+ ].
+!
+
+packageFilterChanged
+!
+
+selectedProjectsChanged
+ self updatePackageDiagramView
+!
+
+update:something with:aParameter from:changedObject
+ |orgMode trigger classes selectedClassesHolder selectionValue|
+
+ orgMode := organizerMode value.
+ selectedClassesHolder := self selectedClasses.
+ classes := selectedClassesHolder value copy ? #().
+
+ changedObject == packageFilter ifTrue:[
+ self breakPoint:#cg
+ ].
+
+ changedObject == organizerMode ifTrue:[
+ self classHierarchyListSlaveMode value:true.
+ self classInheritanceListSlaveMode value:true.
+ self classListSlaveMode value:true.
+ self categoryListSlaveMode value:true.
+ self nameSpaceListSlaveMode value:true.
+ self projectListSlaveMode value:true.
+
+ self variableFilter value:nil.
+ self packageFilter value:nil.
+ self nameSpaceFilter value:nil.
+
+ "/ must update the packageFilter
+ orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+ self selectedProjects value:(classes collect:[:each | each package] as:Set).
+ packageFilter setValue:(self selectedProjects value)
+ ] ifFalse:[
+ packageFilter value:nil
+ ].
+
+ self updateOrganizationFromChangedClass.
+
+ orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
+ trigger := self forceClassCategoryGeneratorTrigger.
+ ] ifFalse:[ orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
+ trigger := self forceClassHierarchyGeneratorTrigger.
+ ] ifFalse:[ orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+ trigger := self forceNamespaceGeneratorTrigger
+ ] ifFalse:[ orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+ trigger := self forceProjectGeneratorTrigger.
+ ] ifFalse:[ ((orgMode == OrganizerCanvas organizerModeClassHierarchy)
+ or:[orgMode == OrganizerCanvas organizerModeClassInheritance]) ifTrue:[
+"/ trigger := self forceClassHierarchyGeneratorTrigger.
+ ]]]]].
+
+ trigger notNil ifTrue:[
+ trigger value:true
+ ].
+ "/ selectedClassesHolder value:classes.
+
+ (orgMode == OrganizerCanvas organizerModeClassHierarchy or:[orgMode == OrganizerCanvas organizerModeHierarchy]) ifTrue:[
+ classHierarchyListSlaveMode value:false.
+ ].
+ (orgMode == OrganizerCanvas organizerModeClassInheritance) ifTrue:[
+ classInheritanceListSlaveMode value:false.
+ ].
+ (orgMode == OrganizerCanvas organizerModeClassInheritance
+ or:[orgMode == OrganizerCanvas organizerModeClassHierarchy
+ or:[orgMode == OrganizerCanvas organizerModeHierarchy]])
+ ifFalse:[
+ classListSlaveMode value:false.
+ ].
+ (orgMode == OrganizerCanvas organizerModeCategory) ifTrue:[
+ categoryListSlaveMode value:false.
+ ].
+ (orgMode == OrganizerCanvas organizerModeNamespace) ifTrue:[
+ namespaceListSlaveMode value:false.
+ ].
+ (orgMode == OrganizerCanvas organizerModeProject) ifTrue:[
+ projectListSlaveMode value:false.
+ self selectedProjects value isEmptyOrNil ifTrue:[
+ self updateProjectSelectionFromClasses.
+ ].
+ ].
+ (orgMode == OrganizerCanvas organizerModePackageDiagram) ifTrue:[
+ "/
+ self selectedProjects value isEmptyOrNil ifTrue:[
+ self updateProjectSelectionFromClasses.
+ ].
+ ].
+
+ ^ self
+ ].
+
+ changedObject == selectedClasses ifTrue:[
+ selectedClasses value size ~~ 0 ifTrue:[
+ (orgMode ~~ OrganizerCanvas organizerModeClassHierarchy
+ and:[ orgMode ~~ OrganizerCanvas organizerModePackageDiagram ]) ifTrue:[
+ "/ if the organizerMode is project, avoid clobbering the project selection
+ (orgMode ~~ OrganizerCanvas organizerModeProject
+ or:[ (self selectedProjects value includesAll:( selectedClasses value collect:[:each | each package] )) not ]) ifTrue:[
+ self updateOrganizationFromChangedClass.
+ ].
+ ].
+ ]
+ ].
+"/ changedObject == selectedNamespaces ifTrue:[
+"/ self halt.
+"/ ].
+ changedObject == nameSpaceFilterSelection ifTrue:[
+ selectionValue := nameSpaceFilterSelection value.
+ selectionValue size > 1 ifTrue:[
+ nameSpaceFilterSelection value:(OrderedCollection with:selectionValue first).
+ selectionValue := nameSpaceFilterSelection value.
+ ].
+ self selectedNamespaces value:selectionValue.
+ selectionValue size > 0 ifTrue:[
+ self nameSpaceFilterSelectedNameSpace setValue:selectionValue first.
+ self updateNameSpaceLabel.
+ ].
+ self nameSpaceFilter value: selectionValue.
+ ].
+ changedObject == self selectedProjects ifTrue:[
+ self breakPoint:#cg.
+ self selectedProjectsChanged.
+ ].
+ changedObject == self selectedDiagramProject ifTrue:[
+ self breakPoint:#cg.
+ self selectedProjects value:(Array with:self selectedDiagramProject value).
+ self selectedProjectsChanged.
+ ^ self
+ ].
+
+ super update:something with:aParameter from:changedObject
+
+ "Modified: / 27-04-2010 / 16:58:31 / cg"
+!
+
+updateCategorySelectionFromClasses
+ |allEntry changedEntry oldSelectedCategories categories|
+
+ allEntry := self class nameListEntryForALL.
+ changedEntry := self class nameListEntryForChanged.
+
+ categories := Set new.
+ oldSelectedCategories := self selectedCategories value.
+
+ "/ category-selection feedBack;
+ "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+ oldSelectedCategories size > 0 ifTrue:[
+ (oldSelectedCategories includes:allEntry) ifTrue:[
+ categories add:allEntry
+ ].
+ oldSelectedCategories do:[:entry |
+ (NavigatorModel isPseudoCategory:entry) ifTrue:[
+ (oldSelectedCategories size == 1) ifTrue:[
+ "/ don't switch to category
+ ^ self
+ ].
+ categories add:entry
+ ].
+ ].
+ ].
+
+ (self selectedClasses value ? #()) do:[:eachSelectedClass |
+ |cat cls|
+
+ cls := eachSelectedClass theNonMetaclass.
+ cls isPrivate ifTrue:[
+ cls := cls topOwningClass.
+ ].
+ cat := cls category.
+ categories add:cat.
+ ].
+
+ (categories conform:[:each | (self selectedCategories value ? #()) includes:each]) ifFalse:[
+ self selectedCategories value:categories.
+ ].
+
+ "Modified: / 18.2.2000 / 13:17:36 / cg"
+!
+
+updateNamespaceSelectionFromClasses
+ "invoked when switching to the namespace-organization;
+ update selected namespaces from the set of selected classes"
+
+ |allEntry classes selectedNamespaces oldSelectedNamespaces|
+
+ allEntry := self class nameListEntryForALL.
+
+ classes := self selectedClasses value.
+ classes isEmptyOrNil ifTrue:[
+ |categories includesAll|
+
+ categories := self selectedCategories value.
+ categories notEmptyOrNil ifTrue:[
+ includesAll := categories includes:BrowserList nameListEntryForALL.
+ classes := environment allClassesForWhich:[:aClass |
+ (includesAll or:[categories includes:aClass category]).
+ ].
+ ].
+ ].
+ classes notEmptyOrNil ifTrue:[
+ selectedNamespaces := self selectedNamespaces value.
+ oldSelectedNamespaces := (selectedNamespaces ? #()) asSet.
+ selectedNamespaces := Set new.
+
+ "/ namespace-selection feedBack;
+ "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+"/ (oldSelectedNamespaces includes:allEntry) ifTrue:[
+"/ selectedNamespaces add:allEntry.
+"/ ].
+ selectedNamespaces addAll:(classes collect:[:eachClass | eachClass theNonMetaclass topNameSpace name.]).
+
+ classes := classes copy.
+ "/ selectedNamespaces ~= oldSelectedNamespaces ifTrue:[
+ self selectedNamespaces value:selectedNamespaces.
+ "/ ].
+
+"/ (classes ~= self selectedClasses) value ifTrue:[self halt:'oops'].
+ ].
+
+ "Modified: / 10-08-2006 / 16:04:55 / cg"
+!
+
+updateOrganizationFromChangedClass
+ |orgMode selectedClassesHolder selectedClasses classHierarchyTopClassHolder commonSuperClass|
+
+ orgMode := organizerMode value.
+
+ orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
+ self updateCategorySelectionFromClasses.
+ ^ self.
+ ].
+ orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+ self updateNamespaceSelectionFromClasses.
+ ^ self.
+ ].
+ orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+ self updateProjectSelectionFromClasses.
+ ^ 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
+"/ ].
+ "/ classHierarchyTopClassHolder value isNil ifTrue:[
+ selectedClasses size > 0 ifTrue:[
+ commonSuperClass := selectedClasses
+ inject:selectedClasses first
+ into:[:commonSuperClass :thisClass | commonSuperClass commonSuperclass:thisClass ].
+ classHierarchyTopClassHolder value:commonSuperClass "selectedClasses first".
+ ].
+ "/ ].
+ ^ self.
+ ].
+ orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
+ classHierarchyTopClassHolder value:nil.
+ ^ self.
+ ].
+ (orgMode == OrganizerCanvas organizerModeClassInheritance) ifTrue:[
+ classHierarchyTopClassHolder value:
+ ((selectedClasses size == 1) ifTrue:[selectedClasses first] ifFalse:nil).
+ ^ self.
+ ].
+!
+
+updatePackageDiagramView
+ |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] as:Set) asOrderedCollection.
+ ].
+ ].
+
+ self selectedDiagramProject value:(packages firstIfEmpty:nil) withoutNotifying:self.
+ diagramApp notNil ifTrue:[
+ self withWaitCursorDo:[
+ diagramApp
+ packages:packages;
+ generateDiagram;
+ selectClasses:selectedClasses.
+ ]
+ ]
+ ].
+
+ "Modified: / 28-04-2010 / 08:16:55 / cg"
+!
+
+updateProjectSelectionFromClasses
+ "invoked when switching to the projects-organization;
+ update selected projects from the set of selected classes"
+
+ |allEntry classes selectedProjects oldSelectedProjects categories|
+
+ allEntry := self class nameListEntryForALL.
+
+ selectedProjects := self selectedProjects value.
+ oldSelectedProjects := ((selectedProjects ? #()) collect:[:pkg | pkg string] as:Set).
+
+ variableFilter value:nil.
+ packageFilter value:nil.
+ nameSpaceFilter value:nil.
+
+ selectedProjects := Set new.
+ "/ project-selection feedBack;
+ "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+ (oldSelectedProjects size > 0
+ and:[oldSelectedProjects includes:allEntry])
+ ifTrue:[
+ selectedProjects add:allEntry.
+ ].
+
+ classes := self selectedClasses value.
+ classes isEmptyOrNil ifTrue:[
+ classes := OrderedCollection new.
+ categories := self selectedCategories value.
+ categories notEmptyOrNil ifTrue:[
+ categories do:[:eachCategory |
+ classes addAll:(environment allClassesInCategory:eachCategory)
+ ].
+ ].
+ ].
+ classes notEmptyOrNil ifTrue:[
+ classes do:[:eachClass |
+ selectedProjects add:(eachClass package).
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ selectedProjects add:(mthd package).
+ ]
+ ].
+ ].
+
+ selectedProjects ~= oldSelectedProjects ifTrue:[
+ self selectedProjects value:selectedProjects.
+ ].
+
+ "Created: / 26-02-2000 / 01:09:13 / cg"
+ "Modified: / 22-02-2007 / 13:52:21 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'forwarder operations'!
+
+copyMethods:methods toClass:cls
+ self masterApplication copyMethods:methods toClass:cls.
+!
+
+moveClasses:classes toCategory:cat
+ self masterApplication moveClasses:classes toCategory:cat
+!
+
+moveClasses:classes toProject:cat
+ self masterApplication moveClasses:classes toProject:cat
+!
+
+moveMethods:methods toClass:cls
+ self masterApplication moveMethods:methods toClass:cls.
+!
+
+moveMethods:methods toProject:package
+ self masterApplication moveMethods:methods toProject:package.
+! !
+
+!OrganizerCanvas methodsFor:'help specs'!
+
+flyByHelpTextFor:aComponent
+ (aComponent isSameOrComponentOf:(builder componentAt:#NameSpaceFilterComboBox)) ifTrue:[
+ ^ resources string:'Namespace filter'
+ ].
+ ^ super flyByHelpTextFor:aComponent
+! !
+
+!OrganizerCanvas methodsFor:'initialize-release'!
+
+release
+ super release.
+
+ nameSpaceFilterSelection removeDependent:self.
+ organizerMode removeDependent:self.
+ selectedClasses removeDependent:self.
+! !
+
+!OrganizerCanvas methodsFor:'private'!
+
+nameSpaceListWidgetWasBuilt:widget
+ |list|
+
+ "/ sigh - cannot do this in the nameSpaceListWidget method,
+ "/ because the GUI is build late (when the menu is popped up the first time)
+ widget application immediateUpdate:true.
+ list := widget builder componentAt:#List.
+ list autoHideHorizontalScrollBar:true.
+! !
+
+!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.
+ graphApp ignoreAutoloadedClasses:true.
+ graphApp askForAutoload:false.
+
+ 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.59 2014-11-26 17:44:13 cg Exp $'
+!
+
+version_CVS
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__OrganizerCanvas.st,v 1.59 2014-11-26 17:44:13 cg Exp $'
+! !
+