--- a/WorkspaceApplication.st Wed Oct 24 00:05:55 2001 +0200
+++ b/WorkspaceApplication.st Wed Oct 24 00:14:50 2001 +0200
@@ -168,6 +168,14 @@
#value: #removeWorkspace
#enabled: #canRemoveWorkspace
)
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'New SystemWorkspace'
+ #translateLabel: true
+ #value: #newSystemWorkspace
+ )
)
nil
nil
@@ -312,24 +320,27 @@
!WorkspaceApplication class methodsFor:'special startup'!
openSystemWorkspace
- |wsApp readMeWs sysWs licenceView|
+ |wsApp licenceView|
wsApp := self new.
wsApp allButOpen.
wsApp window extent:500@400.
- wsApp addWindow:(licenceView := HVScrollableView for:HTMLDocumentView) named:'License'.
+ wsApp addWindow:(HVScrollableView for:Workspace) named:'README' asFirst:false.
+ wsApp loadFile:'../../README'.
+
+ wsApp removeWorkspace:1. "/ the original Workspace
+
+ wsApp addWindow:(licenceView := HVScrollableView for:HTMLDocumentView) named:'License' asFirst:false.
licenceView homeDocument:'../../doc/online/english/LICENCE_STX.html'.
licenceView updateLabelFlag:false.
- wsApp addWindow:(readMeWs := HVScrollableView for:Workspace) named:'README'.
- wsApp loadFile:'../../README'.
+ wsApp addWindow:(HVScrollableView for:Workspace) named:'KeyboardInfo' asFirst:false.
+ wsApp loadFile:'KeyboardInfo.wsp'.
- wsApp addWindow:(sysWs := HVScrollableView for:Workspace) named:'Welcome'.
+ wsApp addWindow:(HVScrollableView for:Workspace) named:'Welcome' asFirst:false.
wsApp loadFile:'Hello.wsp'.
- wsApp workspaceSelectionChanged.
-
wsApp openWindow
"
@@ -437,7 +448,11 @@
!WorkspaceApplication methodsFor:'menu actions'!
addWindow:aWindow named:name
- |tabList wsIndex|
+ self addWindow:aWindow named:name asFirst:false
+!
+
+addWindow:aWindow named:name asFirst:asFirst
+ |tabList wsIndex newSelectedIndex|
tabList := self tabList.
wsIndex := tabList size + 1.
@@ -447,10 +462,18 @@
wsIndex := wsIndex + 1.
].
- tabList add:(name bindWith:wsIndex).
workspaces grow:wsIndex.
- workspaces at:wsIndex put:aWindow.
- self selectedWorkspaceIndexHolder value:wsIndex
+ asFirst ifTrue:[
+ tabList addFirst:(name bindWith:wsIndex).
+ workspaces replaceFrom:2 to:wsIndex with:workspaces startingAt:1.
+ newSelectedIndex := 1.
+ ] ifFalse:[
+ tabList addLast:(name bindWith:wsIndex).
+ newSelectedIndex := wsIndex.
+ ].
+ workspaces at:newSelectedIndex put:aWindow.
+ self selectedWorkspaceIndexHolder value:newSelectedIndex.
+"/ workspaceHolder value:aWindow.
!
addWorkspace
@@ -546,6 +569,10 @@
]
!
+newSystemWorkspace
+ self class openSystemWorkspace
+!
+
openDocumentation
"opens the documentation file"
@@ -590,6 +617,7 @@
tabList removeIndex:1
].
+ workspaceHolder value:(workspaces at:newWsIndex).
self selectedWorkspaceIndexHolder value:newWsIndex.
"/ to force change (update workspaceHolder - even if same index)
self selectedWorkspaceIndexHolder changed:#value.
@@ -666,10 +694,10 @@
!
workspaceSelectionChanged
- |wsIndex windowLabel|
+ |wsIndex windowLabel v|
"/ self selected
- self workspaceHolder value:(self selectedWorkspace).
+ self workspaceHolder value:(v := self selectedWorkspace).
wsIndex := self selectedWorkspaceIndexHolder value.
wsIndex ~~ 0 ifTrue:[
@@ -681,5 +709,5 @@
!WorkspaceApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.14 2001-10-23 20:13:46 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.15 2001-10-23 22:14:50 cg Exp $'
! !