--- a/Tools_NavigationState.st Tue Feb 14 15:30:50 2006 +0100
+++ b/Tools_NavigationState.st Tue Feb 14 15:31:02 2006 +0100
@@ -15,26 +15,26 @@
"{ NameSpace: Tools }"
Object subclass:#NavigationState
- instanceVariableNames:'browserLabel codeModifiedHolder categoryList classList
- packageFilter nameSpaceFilter hidePrivateClasses canvasType
- notMetaToggle metaToggle metaToggleLabel organizerMode codeAspect
- codeHolder classDocumentationHolder canvas selectorListGenerator
- protocolListGenerator classListPerNameSpaceGenerator
- classListGenerator categoryListGenerator nameSpaceListGenerator
- projectListGenerator classHierarchyTopClass meta selectedMethods
- selectedProtocols selectedClasses selectedCategories
- selectedProjects selectedNamespaces variableFilter
- filterClassVars sortBy noAllItem autoSearchPattern
- autoSearchIgnoreCase autoSearchAction realModifiedState
- methodInfo versionDiffApplication selectorListGeneratorArray
- selectedMethodsArray infoLabelHolder packageLabelHolder
- cursorLineLabelHolder cursorColLabelHolder modeLabelHolder
- sortVariablesBy editModeHolder scrollableCodeView specialEditors
- selectedEditorNoteBookTabIndexHolder editorNoteBookListHolder
- editorNoteBookCanvasHolder'
- classVariableNames:''
- poolDictionaries:''
- category:'Interface-Browsers-New'
+ instanceVariableNames:'browserLabel codeModifiedHolder categoryList classList
+ packageFilter nameSpaceFilter hidePrivateClasses canvasType
+ notMetaToggle metaToggle metaToggleLabel organizerMode codeAspect
+ codeHolder classDocumentationHolder canvas selectorListGenerator
+ protocolListGenerator classListPerNameSpaceGenerator
+ classListGenerator categoryListGenerator nameSpaceListGenerator
+ projectListGenerator classHierarchyTopClass meta selectedMethods
+ selectedProtocols selectedClasses selectedCategories
+ selectedProjects selectedNamespaces variableFilter
+ filterClassVars sortBy noAllItem autoSearchPattern
+ autoSearchIgnoreCase autoSearchAction realModifiedState
+ methodInfo versionDiffApplication selectorListGeneratorArray
+ selectedMethodsArray infoLabelHolder packageLabelHolder
+ cursorLineLabelHolder cursorColLabelHolder modeLabelHolder
+ sortVariablesBy editModeHolder scrollableCodeView specialEditors
+ selectedEditorNoteBookTabIndexHolder editorNoteBookListHolder
+ editorNoteBookCanvasHolder codeView'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Interface-Browsers-New'
!
!NavigationState class methodsFor:'documentation'!
@@ -297,36 +297,57 @@
!NavigationState methodsFor:'accessing-subViews'!
codeView
- ^ self scrollableCodeView scrolledView
+ codeView isNil ifTrue:[
+ self setUpScrollableCodeView
+ ].
+ ^ codeView
+!
+
+getCodeView
+ ^ codeView
!
scrollableCodeView
scrollableCodeView isNil ifTrue:[
+ self setUpScrollableCodeView.
+ ].
+ ^ scrollableCodeView
+!
+
+setUpScrollableCodeView
+ scrollableCodeView isNil ifTrue:[
scrollableCodeView := ScrollableView for:CodeView.
scrollableCodeView name:'CodeView'.
scrollableCodeView horizontalMini:true.
- scrollableCodeView scrolledView modifiedChannel:self codeModifiedHolder.
- scrollableCodeView scrolledView model: self codeHolder.
+ codeView := scrollableCodeView scrolledView.
+ codeView modifiedChannel:self codeModifiedHolder.
+ codeView model: self codeHolder.
+
].
^ scrollableCodeView
!
+specialEditorCanvasClassForResourceType:resourceTypeSymbol
+ resourceTypeSymbol == #image ifTrue:[
+ ^ ImageEditor.
+ ].
+ resourceTypeSymbol == #menu ifTrue:[
+ ^ MenuEditor.
+ ].
+ ^ nil
+!
+
specialEditorCanvasForResourceType:resourceTypeSymbol
- |app editor|
+ |appClass app editor|
specialEditors isNil ifTrue:[
specialEditors := Dictionary new.
].
editor := specialEditors at:resourceTypeSymbol ifAbsent:nil.
editor isNil ifTrue:[
- resourceTypeSymbol == #image ifTrue:[
- app := ImageEditor new.
- ] ifFalse:[
- resourceTypeSymbol == #menu ifTrue:[
- app := MenuEditor new.
- ]
- ].
- app notNil ifTrue:[
+ appClass := self specialEditorCanvasClassForResourceType:resourceTypeSymbol.
+ appClass notNil ifTrue:[
+ app := appClass new.
app builder window:(editor := ApplicationSubView new client:app).
specialEditors at:resourceTypeSymbol put:editor.
].
@@ -1184,5 +1205,5 @@
!NavigationState class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.8 2006-02-14 10:05:20 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.9 2006-02-14 14:31:02 cg Exp $'
! !