--- a/NewSystemBrowser.st Wed Feb 15 18:26:13 2006 +0100
+++ b/NewSystemBrowser.st Wed Feb 15 20:38:03 2006 +0100
@@ -831,6 +831,18 @@
component:
(SpecCollection
collection: (
+ (NoteBookViewSpec
+ name: 'EditorNoteBook'
+ layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+ level: 0
+ model: selectedEditorNoteBookTabIndexHolder
+ menu: editorNoteBookListHolder
+ direction: right
+ useIndex: true
+ canvas: editorNoteBookCanvasHolder
+ keepCanvasAlive: true
+ postBuildCallback: postBuildEditorNoteBook:
+ )
(ViewSpec
name: 'InfoBox'
layout: (LayoutFrame 0 0 -24 1 0 1 0 1)
@@ -897,18 +909,6 @@
)
)
- (NoteBookViewSpec
- name: 'EditorNoteBook'
- layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
- level: 0
- model: selectedEditorNoteBookTabIndexHolder
- menu: editorNoteBookListHolder
- direction: right
- useIndex: true
- canvas: editorNoteBookCanvasHolder
- keepCanvasAlive: true
- postBuildCallback: #postBuildEditorNoteBook:
- )
)
)
@@ -10988,7 +10988,11 @@
!
selectedEditorNoteBookTabIndexHolder
- ^ navigationState selectedEditorNoteBookTabIndexHolder.
+ |holder|
+
+ holder := navigationState selectedEditorNoteBookTabIndexHolder.
+ holder addDependent:self.
+ ^ holder
!
shortNamesInTabs
@@ -13346,6 +13350,10 @@
self enqueueDelayedProtocolSelectionChanged
!
+selectedEditorNoteBookTabIndexChanged
+ self updateSpecialCodeEditorVisibilityFor:(self theSingleSelectedMethod).
+!
+
showClassAspect:codeAspect forClass:aClass
|theNonMetaclass|
@@ -13418,6 +13426,24 @@
self showInfo:text.
!
+specialEditorCanvasForMethod:aMethod
+ |methodsResources|
+
+ (methodsResources := aMethod resources) notEmptyOrNil ifTrue:[
+ #( #image #menu #canvas #help #tableColumns ) do:[:triedResourceType |
+ |editorCanvas list|
+
+ (methodsResources includesKey:triedResourceType) ifTrue:[
+ editorCanvas := navigationState specialEditorCanvasForResourceType:triedResourceType.
+ editorCanvas notNil ifTrue:[
+ ^ editorCanvas
+ ].
+ ].
+ ].
+ ].
+ ^ nil
+!
+
update:something with:aParameter from:changedObject
|codeView mthd codeAspect isForAspect|
@@ -13447,6 +13473,11 @@
self codeModified.
^ self.
].
+ changedObject == self selectedEditorNoteBookTabIndexHolder ifTrue:[
+ self selectedEditorNoteBookTabIndexChanged.
+ ^ self
+ ].
+
changedObject == selectedBuffer ifTrue:[
self enqueueDelayedLabelUpdate.
self organizerModeForMenu changed.
@@ -13523,32 +13554,40 @@
!
updateSpecialCodeEditorVisibilityFor:aMethod
- |methodsResources|
+ |hideEditor editorCanvas tabList|
+
+ hideEditor := true.
aMethod notNil ifTrue:[
self showSpecialResourceEditors value ifTrue:[
- (methodsResources := aMethod resources) notEmptyOrNil ifTrue:[
- #( #image #menu #canvas #help #tableColumns ) do:[:triedResourceType |
- |editorCanvas list|
-
- (methodsResources includesKey:triedResourceType) ifTrue:[
- editorCanvas := navigationState specialEditorCanvasForResourceType:triedResourceType.
- editorCanvas notNil ifTrue:[
- list := Array with:'Source' with:(triedResourceType asUppercaseFirst).
- self editorNoteBookListHolder value:list.
- self editorNoteBookCanvasHolder value:editorCanvas.
- editorCanvas application
- masterApplication:self;
- loadFromClass:(aMethod mclass theNonMetaclass)
- andSelector:(aMethod selector).
- ^ self.
- ].
- ].
- ].
- ].
- ].
- ].
- self editorNoteBookListHolder value:#().
+ editorCanvas := self specialEditorCanvasForMethod:aMethod.
+ editorCanvas notNil ifTrue:[
+ hideEditor := false.
+
+ tabList := Array
+ with:'Source'
+ with:(editorCanvas application class nameWithoutPrefix asUppercaseFirst).
+
+ tabList = self editorNoteBookListHolder value ifFalse:[
+ self editorNoteBookListHolder value:tabList.
+ ].
+ self selectedEditorNoteBookTabIndexHolder value == 2 ifTrue:[
+ self editorNoteBookCanvasHolder value:editorCanvas.
+ editorCanvas application
+ masterApplication:self;
+ loadFromClass:(aMethod mclass theNonMetaclass)
+ andSelector:(aMethod selector).
+ ^ self.
+ ].
+ ].
+ ].
+ ].
+ hideEditor ifTrue:[
+ self selectedEditorNoteBookTabIndexHolder setValue:0.
+ self editorNoteBookListHolder value:#().
+ ] ifFalse:[
+ self selectedEditorNoteBookTabIndexHolder value:1.
+ ].
self editorNoteBookCanvasHolder value:(navigationState scrollableCodeView).
!
@@ -37207,7 +37246,7 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.905 2006-02-15 17:26:13 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.906 2006-02-15 19:38:03 cg Exp $'
! !
NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st Wed Feb 15 18:26:13 2006 +0100
+++ b/Tools__NewSystemBrowser.st Wed Feb 15 20:38:03 2006 +0100
@@ -831,6 +831,18 @@
component:
(SpecCollection
collection: (
+ (NoteBookViewSpec
+ name: 'EditorNoteBook'
+ layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+ level: 0
+ model: selectedEditorNoteBookTabIndexHolder
+ menu: editorNoteBookListHolder
+ direction: right
+ useIndex: true
+ canvas: editorNoteBookCanvasHolder
+ keepCanvasAlive: true
+ postBuildCallback: postBuildEditorNoteBook:
+ )
(ViewSpec
name: 'InfoBox'
layout: (LayoutFrame 0 0 -24 1 0 1 0 1)
@@ -897,18 +909,6 @@
)
)
- (NoteBookViewSpec
- name: 'EditorNoteBook'
- layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
- level: 0
- model: selectedEditorNoteBookTabIndexHolder
- menu: editorNoteBookListHolder
- direction: right
- useIndex: true
- canvas: editorNoteBookCanvasHolder
- keepCanvasAlive: true
- postBuildCallback: #postBuildEditorNoteBook:
- )
)
)
@@ -10988,7 +10988,11 @@
!
selectedEditorNoteBookTabIndexHolder
- ^ navigationState selectedEditorNoteBookTabIndexHolder.
+ |holder|
+
+ holder := navigationState selectedEditorNoteBookTabIndexHolder.
+ holder addDependent:self.
+ ^ holder
!
shortNamesInTabs
@@ -13346,6 +13350,10 @@
self enqueueDelayedProtocolSelectionChanged
!
+selectedEditorNoteBookTabIndexChanged
+ self updateSpecialCodeEditorVisibilityFor:(self theSingleSelectedMethod).
+!
+
showClassAspect:codeAspect forClass:aClass
|theNonMetaclass|
@@ -13418,6 +13426,24 @@
self showInfo:text.
!
+specialEditorCanvasForMethod:aMethod
+ |methodsResources|
+
+ (methodsResources := aMethod resources) notEmptyOrNil ifTrue:[
+ #( #image #menu #canvas #help #tableColumns ) do:[:triedResourceType |
+ |editorCanvas list|
+
+ (methodsResources includesKey:triedResourceType) ifTrue:[
+ editorCanvas := navigationState specialEditorCanvasForResourceType:triedResourceType.
+ editorCanvas notNil ifTrue:[
+ ^ editorCanvas
+ ].
+ ].
+ ].
+ ].
+ ^ nil
+!
+
update:something with:aParameter from:changedObject
|codeView mthd codeAspect isForAspect|
@@ -13447,6 +13473,11 @@
self codeModified.
^ self.
].
+ changedObject == self selectedEditorNoteBookTabIndexHolder ifTrue:[
+ self selectedEditorNoteBookTabIndexChanged.
+ ^ self
+ ].
+
changedObject == selectedBuffer ifTrue:[
self enqueueDelayedLabelUpdate.
self organizerModeForMenu changed.
@@ -13523,32 +13554,40 @@
!
updateSpecialCodeEditorVisibilityFor:aMethod
- |methodsResources|
+ |hideEditor editorCanvas tabList|
+
+ hideEditor := true.
aMethod notNil ifTrue:[
self showSpecialResourceEditors value ifTrue:[
- (methodsResources := aMethod resources) notEmptyOrNil ifTrue:[
- #( #image #menu #canvas #help #tableColumns ) do:[:triedResourceType |
- |editorCanvas list|
-
- (methodsResources includesKey:triedResourceType) ifTrue:[
- editorCanvas := navigationState specialEditorCanvasForResourceType:triedResourceType.
- editorCanvas notNil ifTrue:[
- list := Array with:'Source' with:(triedResourceType asUppercaseFirst).
- self editorNoteBookListHolder value:list.
- self editorNoteBookCanvasHolder value:editorCanvas.
- editorCanvas application
- masterApplication:self;
- loadFromClass:(aMethod mclass theNonMetaclass)
- andSelector:(aMethod selector).
- ^ self.
- ].
- ].
- ].
- ].
- ].
- ].
- self editorNoteBookListHolder value:#().
+ editorCanvas := self specialEditorCanvasForMethod:aMethod.
+ editorCanvas notNil ifTrue:[
+ hideEditor := false.
+
+ tabList := Array
+ with:'Source'
+ with:(editorCanvas application class nameWithoutPrefix asUppercaseFirst).
+
+ tabList = self editorNoteBookListHolder value ifFalse:[
+ self editorNoteBookListHolder value:tabList.
+ ].
+ self selectedEditorNoteBookTabIndexHolder value == 2 ifTrue:[
+ self editorNoteBookCanvasHolder value:editorCanvas.
+ editorCanvas application
+ masterApplication:self;
+ loadFromClass:(aMethod mclass theNonMetaclass)
+ andSelector:(aMethod selector).
+ ^ self.
+ ].
+ ].
+ ].
+ ].
+ hideEditor ifTrue:[
+ self selectedEditorNoteBookTabIndexHolder setValue:0.
+ self editorNoteBookListHolder value:#().
+ ] ifFalse:[
+ self selectedEditorNoteBookTabIndexHolder value:1.
+ ].
self editorNoteBookCanvasHolder value:(navigationState scrollableCodeView).
!
@@ -37207,7 +37246,7 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.905 2006-02-15 17:26:13 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.906 2006-02-15 19:38:03 cg Exp $'
! !
NewSystemBrowser initialize!