"
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'
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.
"
! !
!OrganizerCanvas class methodsFor:'constants'!
organizerModeCategory
^ #category
!
organizerModeClassHierarchy
^ #classHierarchy
!
organizerModeClassInheritance
^ #classInheritance
!
organizerModeHierarchy
^ #hierarchy
!
organizerModeNamespace
^ #namespace
!
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:OrganizerCanvas andSelector:#embeddedNameSpaceListSpec
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 218 175 518 475)
)
#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: #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 windowSpecNonHierarchical
"/ ^ self windowSpecHierarchical
"Modified: / 17-08-2006 / 14:53:11 / 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:OrganizerCanvas andSelector:#windowSpec
OrganizerCanvas new openInterface:#windowSpec
OrganizerCanvas open
"
<resource: #canvas>
^
#(#FullSpec
#name: #windowSpec
#window:
#(#WindowSpec
#label: 'Organizer'
#name: 'Organizer'
#min: #(#Point 0 0)
#max: #(#Point 1024 721)
#bounds: #(#Rectangle 16 46 316 346)
)
#component:
#(#SpecCollection
#collection: #(
#(#VariableHorizontalPanelSpec
#name: 'CategoryNameSpaceAndProjectPanel'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
#visibilityChannel: #classHierarchyOrInheritanceNotShown
#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'
#majorKey: #'HierarchicalClassCategoryList'
#subAspectHolders:
#(#Array
#(#SubChannelInfoSpec
#subAspect: #doubleClickChannel
#aspect: #classCategoryDoubleClickChannel
)
#(#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: #slaveMode
#aspect: #categoryListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #updateTrigger
#aspect: #classCategoryListUpdateTrigger
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilterSelection
)
)
#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: #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: #'HierarchicalProjectList'
#majorKey: #'ProjectList'
#subAspectHolders:
#(#Array
#(#SubChannelInfoSpec
#subAspect: #doubleClickChannel
#aspect: #projectDoubleClickChannel
)
#(#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: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #inGeneratorHolder
#aspect: #classGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#SubChannelInfoSpec
#subAspect: #slaveMode
#aspect: #classListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #updateTrigger
#aspect: #classListUpdateTrigger
)
)
#createNewApplication: true
#createNewBuilder: true
)
#(#SubCanvasSpec
#name: 'VariableList'
#majorKey: #'VariableList'
#subAspectHolders:
#(#Array
#(#SubChannelInfoSpec
#subAspect: #doubleClickChannel
#aspect: #variableDoubleClickChannel
)
#(#SubChannelInfoSpec
#subAspect: #classHolder
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #variablesMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #selectedVariables
#aspect: #variableFilter
)
#(#SubChannelInfoSpec
#subAspect: #showClassVarsInVariableList
#aspect: #filterClassVars
)
#(#SubChannelInfoSpec
#subAspect: #sortVariablesByName
#aspect: #sortVariablesByName
)
)
#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: #forceGeneratorTrigger
#aspect: #forceClassInheritanceGeneratorTrigger
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classInheritanceListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#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: #forceGeneratorTrigger
#aspect: #forceClassInheritanceGeneratorTrigger
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classInheritanceListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#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: #doubleClickChannel
#aspect: #variableDoubleClickChannel
)
#(#SubChannelInfoSpec
#subAspect: #classHolder
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #variablesMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #slaveMode
#aspect: #classHierarchyListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #selectedVariables
#aspect: #variableFilter
)
#(#SubChannelInfoSpec
#subAspect: #showClassVarsInVariableList
#aspect: #filterClassVars
)
)
#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
)
)
)
)
)
)
)
"Modified: / 17-08-2006 / 14:54:25 / cg"
!
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:OrganizerCanvas andSelector:#windowSpec
OrganizerCanvas new openInterface:#windowSpec
OrganizerCanvas open
"
<resource: #canvas>
^
#(#FullSpec
#name: #windowSpec
#window:
#(#WindowSpec
#label: 'Organizer'
#name: 'Organizer'
#min: #(#Point 0 0)
#max: #(#Point 1024 721)
#bounds: #(#Rectangle 16 46 316 346)
)
#component:
#(#SpecCollection
#collection: #(
#(#VariableHorizontalPanelSpec
#name: 'CategoryNameSpaceAndProjectPanel'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
#visibilityChannel: #classHierarchyOrInheritanceNotShown
#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: #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: #slaveMode
#aspect: #categoryListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #updateTrigger
#aspect: #classCategoryListUpdateTrigger
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilterSelection
)
)
#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: #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: #'HierarchicalProjectList'
#majorKey: #'ProjectList'
#subAspectHolders:
#(#Array
#(#SubChannelInfoSpec
#subAspect: #doubleClickChannel
#aspect: #projectDoubleClickChannel
)
#(#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: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #inGeneratorHolder
#aspect: #classGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#SubChannelInfoSpec
#subAspect: #slaveMode
#aspect: #classListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #updateTrigger
#aspect: #classListUpdateTrigger
)
)
#createNewApplication: true
#createNewBuilder: true
)
#(#SubCanvasSpec
#name: 'VariableList'
#majorKey: #'VariableList'
#subAspectHolders:
#(#Array
#(#SubChannelInfoSpec
#subAspect: #doubleClickChannel
#aspect: #variableDoubleClickChannel
)
#(#SubChannelInfoSpec
#subAspect: #classHolder
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #variablesMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #selectedVariables
#aspect: #variableFilter
)
#(#SubChannelInfoSpec
#subAspect: #showClassVarsInVariableList
#aspect: #filterClassVars
)
#(#SubChannelInfoSpec
#subAspect: #sortVariablesByName
#aspect: #sortVariablesByName
)
)
#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: #forceGeneratorTrigger
#aspect: #forceClassInheritanceGeneratorTrigger
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classInheritanceListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#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: #forceGeneratorTrigger
#aspect: #forceClassInheritanceGeneratorTrigger
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classInheritanceListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#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: #doubleClickChannel
#aspect: #variableDoubleClickChannel
)
#(#SubChannelInfoSpec
#subAspect: #classHolder
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #variablesMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #slaveMode
#aspect: #classHierarchyListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #selectedVariables
#aspect: #variableFilter
)
#(#SubChannelInfoSpec
#subAspect: #showClassVarsInVariableList
#aspect: #filterClassVars
)
)
#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
)
)
)
)
)
)
)
"Modified: / 17-08-2006 / 14:54:33 / cg"
!
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:OrganizerCanvas andSelector:#windowSpecWithoutMetaToggles
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 13 23 313 323)
)
#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: #forceGeneratorTrigger
#aspect: #forceClassInheritanceGeneratorTrigger
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #showClassPackages
#aspect: #showClassPackages
)
#(#SubChannelInfoSpec
#subAspect: #showMethodInheritance
#aspect: #showMethodInheritance
)
#(#SubChannelInfoSpec
#subAspect: #showMethodComplexity
#aspect: #showMethodComplexity
)
#(#SubChannelInfoSpec
#subAspect: #showMethodTypeIcon
#aspect: #showMethodTypeIcon
)
#(#SubChannelInfoSpec
#subAspect: #methodVisibilityHolder
#aspect: #methodVisibilityHolder
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classInheritanceListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#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: #forceGeneratorTrigger
#aspect: #forceClassInheritanceGeneratorTrigger
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #menuHolder
#aspect: #classInheritanceListMenuHolder
)
#(#SubChannelInfoSpec
#subAspect: #meta
#aspect: #meta
)
#(#SubChannelInfoSpec
#subAspect: #organizerMode
#aspect: #organizerMode
)
#(#SubChannelInfoSpec
#subAspect: #outGeneratorHolder
#aspect: #outGeneratorHolder
)
#(#SubChannelInfoSpec
#subAspect: #packageFilter
#aspect: #packageFilter
)
#(#SubChannelInfoSpec
#subAspect: #nameSpaceFilter
#aspect: #nameSpaceFilter
)
#(#SubChannelInfoSpec
#subAspect: #selectedClasses
#aspect: #selectedClasses
)
#(#SubChannelInfoSpec
#subAspect: #selectionChangeCondition
#aspect: #selectionChangeCondition
)
#(#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: #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: #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: #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: #updateTrigger
#aspect: #projectListUpdateTrigger
)
)
#createNewApplication: true
#createNewBuilder: true
)
)
)
)
#(#SubCanvasSpec
#name: 'ClassList'
#majorKey: #'ClassList'
#minorKey: #windowSpec
#subAspectHolders:
#(#Array
#(#SubChannelInfoSpec
#subAspect: #doubleClickChannel
#aspect: #classDoubleClickChannel
)
#(#SubChannelInfoSpec
#subAspect: #hidePrivateClasses
#aspect: #hidePrivateClasses
)
#(#SubChannelInfoSpec
#subAspect: #hideUnloadedClasses
#aspect: #hideUnloadedClasses
)
#(#SubChannelInfoSpec
#subAspect: #markApplicationsHolder
#aspect: #markApplicationsHolder
)
#(#SubChannelInfoSpec
#subAspect: #immediateUpdate
#aspect: #immediateUpdate
)
#(#SubChannelInfoSpec
#subAspect: #inGeneratorHolder
#aspect: #classGeneratorHolder
)
#(#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: #slaveMode
#aspect: #classListSlaveMode
)
#(#SubChannelInfoSpec
#subAspect: #updateTrigger
#aspect: #classListUpdateTrigger
)
)
#createNewApplication: true
#createNewBuilder: true
)
)
)
#handles: #(#Any 0.5 1.0)
)
)
)
)
"Modified: / 25.2.2000 / 22:39:54 / cg"
! !
!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
#filterClassVars
#hidePrivateClasses
#hideUnloadedClasses
#immediateUpdate
#meta
#metaToggleLabelHolder
#(#nameSpaceDoubleClickChannel #action )
#nameSpaceFilter
#nameSpaceListMenuHolder
#organizerMode
#outGeneratorHolder
#packageFilter
#(#projectDoubleClickChannel #action )
#projectListMenuHolder
#selectedCategories
#selectedClasses
#selectedNamespaces
#selectedProjects
#selectedProtocols
#selectionChangeCondition
#showClassPackages
#(#variableDoubleClickChannel #action )
#variableFilter
#variablesMenuHolder
#markApplicationsHolder
#sortVariablesBy
).
! !
!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
|holder|
(holder := builder bindingAt:#classHierarchyTopClass) isNil ifTrue:[
holder := Object asValue.
builder aspectAt:#classHierarchyTopClass put:holder.
].
^ holder.
!
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"
!
filterClassVars
"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."
filterClassVars isNil ifTrue:[
filterClassVars := ValueHolder new.
"/ filterClassVars addDependent:self.
].
^ filterClassVars.
"Created: / 24.2.2000 / 23:29:52 / cg"
!
hidePrivateClasses
"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."
hidePrivateClasses isNil ifTrue:[
hidePrivateClasses := false asValue.
"/ hidePrivateClasses addDependent:self.
].
^ hidePrivateClasses.
"Created: / 24.2.2000 / 16:18:45 / cg"
!
hideUnloadedClasses
"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."
hideUnloadedClasses isNil ifTrue:[
hideUnloadedClasses := false asValue.
"/ hideUnloadedClasses addDependent:self.
].
^ hideUnloadedClasses.
"Created: / 18.2.2000 / 17:54:57 / cg"
!
immediateUpdate
"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."
immediateUpdate isNil ifTrue:[
immediateUpdate := false asValue.
"/ immediateUpdate addDependent:self.
].
^ immediateUpdate.
"Created: / 18.2.2000 / 00:23:43 / cg"
!
initialOrganizerMode
^ nil "/ dummy
!
markApplicationsHolder
markApplicationsHolder isNil ifTrue:[
markApplicationsHolder := false asValue.
].
^ markApplicationsHolder.
!
meta
"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."
meta isNil ifTrue:[
meta := false asValue.
"/ meta addDependent:self.
].
^ meta.
"Created: / 18.2.2000 / 00:23:43 / cg"
"Modified: / 18.2.2000 / 00:42:23 / 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
"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."
metaToggleLabelHolder isNil ifTrue:[
metaToggleLabelHolder := (resources string:'Class') asValue.
"/ metaToggleLabelHolder addDependent:self.
].
^ metaToggleLabelHolder.
"Created: / 18.2.2000 / 11:52:55 / cg"
!
nameSpaceDoubleClickChannel
"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:#nameSpaceDoubleClickChannel) isNil ifTrue:[
holder := TriggerValue new.
builder aspectAt:#nameSpaceDoubleClickChannel put:holder.
"/ holder addDependent:self.
].
^ holder.
!
nameSpaceFilter
"automatically generated by UIPainter ..."
nameSpaceFilter isNil ifTrue:[
nameSpaceFilter := ValueHolder new.
nameSpaceFilter onChangeEvaluate:[
nameSpaceFilter value ~= nameSpaceFilterSelection value ifTrue:[
self halt
].
"/ self nameSpaceFilter value: nameSpaceFilterSelection value.
]
].
^ nameSpaceFilter.
"Created: / 24.2.2000 / 23:29:52 / cg"
!
nameSpaceFilterDoubleClickChannel
"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:#nameSpaceFilterDoubleClickChannel) isNil ifTrue:[
holder := TriggerValue new.
builder aspectAt:#nameSpaceFilterDoubleClickChannel put:holder.
holder onChangeEvaluate:[
(builder componentAt:#NameSpaceFilterComboBox) closeMenu.
"/ self nameSpaceDoubleClickChannel value:true.
]
].
^ holder.
!
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 := OrganizerCanvas organizerModeCategory 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"
!
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
"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."
selectedClasses isNil ifTrue:[
selectedClasses := ValueHolder new.
selectedClasses addDependent:self.
].
^ selectedClasses.
"Created: / 18.2.2000 / 00:23:43 / cg"
!
selectedNamespaces
"automatically generated by UIPainter ..."
"*** the code below creates a default model when invoked."
"*** (which may not be the one you wanted)"
"*** Please change as required and accept it in the browser."
selectedNamespaces isNil ifTrue:[
selectedNamespaces := (OrderedCollection with:self class nameListEntryForALL) asValue.
].
^ selectedNamespaces.
"Created: / 18.2.2000 / 12:27:58 / cg"
!
selectedProjects
"automatically generated by UIPainter ..."
"*** the code below creates a default model when invoked."
"*** (which may not be the one you wanted)"
"*** Please change as required and accept it in the browser."
selectedProjects isNil ifTrue:[
selectedProjects := ValueHolder new.
"/ selectedProjects addDependent:self.
].
^ selectedProjects.
"Created: / 18.2.2000 / 12:16:01 / cg"
!
selectionChangeCondition
"automatically generated by UIPainter ..."
"*** the code below creates a default model when invoked."
"*** (which may not be the one you wanted)"
"*** Please change as required and accept it in the browser."
selectionChangeCondition isNil ifTrue:[
selectionChangeCondition := ValueHolder new.
"/ selectionChangeCondition addDependent:self.
].
^ selectionChangeCondition.
"Created: / 18.2.2000 / 00:23:43 / 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"
!
sortVariablesByName
sortVariablesByName isNil ifTrue:[
sortVariablesByName := false asValue.
].
^ sortVariablesByName.
!
updateNameSpaceLabel
|box|
box := self builder 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"
!
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 value:selectedNamespaces value.
].
!
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.
!
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 value == OrganizerCanvas organizerModeCategory]
argument:(self organizerMode).
].
^ categoryListShown
"Modified: / 18.2.2000 / 02:11:00 / cg"
!
classHierarchyNotShown
|holder|
(holder := builder bindingAt:#classHierarchyNotShown) isNil ifTrue:[
holder := BlockValue
with:[:v | |org|
org := v value.
org ~~ OrganizerCanvas organizerModeHierarchy
and:[org ~~ OrganizerCanvas organizerModeClassHierarchy
and:[org ~~ OrganizerCanvas organizerModeClassInheritance]]]
argument:(self organizerMode).
builder aspectAt:#classHierarchyNotShown put: holder
].
^ holder
"Created: / 18.2.2000 / 00:36:38 / cg"
"Modified: / 24.2.2000 / 13:22:43 / cg"
!
classHierarchyOrInheritanceNotShown
|holder|
(holder := builder bindingAt:#classHierarchyOrInheritanceNotShown) isNil ifTrue:[
holder := BlockValue
with:[:v1 :v2 | (v1 value or:[v2 value]) not]
argument:(self classHierarchyShown)
argument:(self classInheritanceShown).
builder aspectAt:#classHierarchyOrInheritanceNotShown put: holder
].
^ holder
!
classHierarchyOrInheritanceShown
|holder|
(holder := builder bindingAt:#classHierarchyOrInheritanceShown) isNil ifTrue:[
holder := BlockValue
with:[:v1 :v2 | v1 value or:[v2 value] ]
argument:(self classHierarchyShown)
argument:(self classInheritanceShown).
builder aspectAt:#classHierarchyOrInheritanceShown put: holder
].
^ holder
!
classHierarchyShown
|holder|
(holder := builder bindingAt:#classHierarchyShown) isNil ifTrue:[
holder := BlockValue
with:[:v | |org|
org := v value.
org == OrganizerCanvas organizerModeHierarchy
or:[org == OrganizerCanvas organizerModeClassHierarchy]]
argument:(self organizerMode).
builder aspectAt:#classHierarchyShown put: holder
].
^ holder
"Modified: / 24.2.2000 / 13:23:33 / cg"
!
classInheritanceShown
|holder|
(holder := builder bindingAt:#classInheritanceShown) isNil ifTrue:[
holder := BlockValue
with:[:v | v value == OrganizerCanvas organizerModeClassInheritance]
argument:(self organizerMode).
builder aspectAt:#classInheritanceShown put: holder
].
^ holder
"Created: / 24.2.2000 / 13:23:01 / cg"
!
classListShown
|holder|
(holder := builder bindingAt:#classListShown) isNil ifTrue:[
holder := BlockValue
with:[:v | v value ~~ OrganizerCanvas organizerModeHierarchy]
argument:(self organizerMode).
builder aspectAt:#classListShown put: holder
].
^ holder
"Modified: / 18.2.2000 / 00:32:48 / cg"
!
nameSpaceListShown
|holder|
(holder := builder bindingAt:#nameSpaceListShown) isNil ifTrue:[
holder := BlockValue
with:[:v | v value == OrganizerCanvas organizerModeNamespace]
argument:(self organizerMode).
builder aspectAt:#nameSpaceListShown put: holder
].
^ holder
"Created: / 18.2.2000 / 00:32:09 / cg"
"Modified: / 18.2.2000 / 01:48:35 / cg"
!
projectListShown
|holder|
(holder := builder bindingAt:#projectListShown) isNil ifTrue:[
holder := BlockValue
with:[:v | v value == OrganizerCanvas organizerModeProject]
argument:(self organizerMode).
builder aspectAt:#projectListShown put: holder
].
^ holder
"Modified: / 18.2.2000 / 00:31:19 / cg"
"Created: / 18.2.2000 / 00:32:09 / cg"
! !
!OrganizerCanvas methodsFor:'change & update'!
update:something with:aParameter from:changedObject
|orgMode trigger classes selectedClassesHolder selectionValue|
orgMode := organizerMode value.
selectedClassesHolder := self selectedClasses.
classes := selectedClassesHolder value copy ? #().
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.
variableFilter value:nil.
packageFilter value:nil.
nameSpaceFilter value:nil.
"/ must update the packageFilter
orgMode == OrganizerCanvas organizerModeProject ifTrue:[
self selectedProjects value:(classes collect:[:each | each package]) asSet.
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
].
changedObject == selectedClasses ifTrue:[
selectedClasses value size ~~ 0 ifTrue:[
(orgMode ~~ OrganizerCanvas organizerModeClassHierarchy) ifTrue:[
(orgMode ~~ OrganizerCanvas organizerModeProject) 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.
].
super update:something with:aParameter from:changedObject
"Modified: / 17-08-2006 / 19:04:00 / cg"
!
updateCategorySelectionFromClasses
|allEntry oldSelectedCategories categories|
allEntry := self class nameListEntryForALL.
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
and:[oldSelectedCategories includes:allEntry]) ifTrue:[
categories add:allEntry
].
(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 := Smalltalk 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.
selectedClassesHolder := self selectedClasses.
selectedClasses := selectedClassesHolder value.
classHierarchyTopClassHolder := self classHierarchyTopClass.
orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
self updateCategorySelectionFromClasses.
^ self.
].
orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
self updateNamespaceSelectionFromClasses.
^ self.
].
orgMode == OrganizerCanvas organizerModeProject ifTrue:[
self updateProjectSelectionFromClasses.
^ self.
].
orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
classHierarchyTopClassHolder value:nil.
^ self.
].
(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 organizerModeClassInheritance) ifTrue:[
classHierarchyTopClassHolder value:
((selectedClasses size == 1) ifTrue:[selectedClasses first] ifFalse:nil).
^ self.
].
!
updateProjectSelectionFromClasses
"invoked when switching to the projects-organization;
update selected projects from the set of selected classes"
|allEntry classes selectedProjects oldSelectedProjects|
allEntry := self class nameListEntryForALL.
variableFilter value:nil.
packageFilter value:nil.
nameSpaceFilter value:nil.
classes notEmptyOrNil ifTrue:[
selectedProjects := self selectedProjects value.
oldSelectedProjects := (selectedProjects ? #()) asSet.
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 do:[:eachClass |
selectedProjects add:(eachClass package).
eachClass allSelectorsAndMethodsDo:[:sel :mthd |
selectedProjects add:(mthd package).
]
].
selectedProjects ~= oldSelectedProjects ifTrue:[
self selectedProjects value:selectedProjects.
].
].
"Created: / 26-02-2000 / 01:09:13 / cg"
"Modified: / 11-08-2006 / 13:29:34 / cg"
! !
!OrganizerCanvas methodsFor:'forwarder operations'!
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:'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.
!
release
super release.
nameSpaceFilterSelection removeDependent:self.
organizerMode removeDependent:self.
selectedClasses removeDependent:self.
! !
!OrganizerCanvas class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.16 2006-08-17 17:26:33 cg Exp $'
! !