--- a/NewSystemBrowser.st Thu Aug 19 12:11:50 2004 +0200
+++ b/NewSystemBrowser.st Thu Aug 19 18:24:46 2004 +0200
@@ -8350,71 +8350,6 @@
)
!
-tabMenuWithRemove
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
- (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(#Menu
- #(
- #(#MenuItem
- #label: 'Add Buffer'
- #translateLabel: true
- #nameKey: #CreateBuffer
- #value: #bufferMenuCreateBuffer
- )
- #(#MenuItem
- #label: 'Remove Buffer'
- #translateLabel: true
- #nameKey: #RemoveBuffer
- #value: #'bufferMenuRemoveBuffer:'
- #argument: 0
- )
- )
- nil
- nil
- )
-!
-
-tabMenuWithoutRemove
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
- (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(#Menu
- #(
- #(#MenuItem
- #label: 'Add buffer'
- #translateLabel: true
- #nameKey: #CreateBuffer
- #value: #bufferMenuCreateBuffer
- )
- )
- nil
- nil
- )
-!
-
variablesMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -9266,6 +9201,78 @@
^ self refactoringMenu
!
+tabMenuWithRemove
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
+ (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'Add Buffer'
+ #translateLabel: true
+ #nameKey: #CreateBuffer
+ #value: #bufferMenuCreateBuffer
+ )
+ #(#MenuItem
+ #label: 'Remove Buffer <%1>'
+ #translateLabel: true
+ #nameKey: #RemoveBuffer
+ #value: #'bufferMenuRemoveBuffer:'
+ #argument: 0
+ )
+ #(#MenuItem
+ #label: 'Remove all but this Buffer <%1>'
+ #translateLabel: true
+ #nameKey: #RemoveAllButBuffer
+ #value: #'bufferMenuRemoveAllButBuffer:'
+ #argument: 0
+ )
+ )
+ nil
+ nil
+ )
+!
+
+tabMenuWithoutRemove
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
+ (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'Add buffer'
+ #translateLabel: true
+ #nameKey: #CreateBuffer
+ #value: #bufferMenuCreateBuffer
+ )
+ )
+ nil
+ nil
+ )
+!
+
variablesPopUpMenu
"return the popUpMenu for the variable-list view"
@@ -10009,8 +10016,9 @@
m := self class tabMenuWithRemove.
m := m decodeAsLiteralArray.
- i := m detectItem:[:item | item itemValue == #bufferMenuRemoveBuffer:] ifNone:nil.
+ i := m detectItem:[:item | item nameKey == #RemoveBuffer] ifNone:nil.
i notNil ifTrue:[
+ i label:(i label bindWith:index printString).
i argument:index.
index ~~ self selectedBuffer value ifTrue:[
"/ for now: if that buffer is modified,
@@ -10021,6 +10029,11 @@
].
].
].
+ i := m detectItem:[:item | item nameKey == #RemoveAllButBuffer] ifNone:nil.
+ i notNil ifTrue:[
+ i label:(i label bindWith:index printString).
+ i argument:index.
+ ].
m findGuiResourcesIn:self.
^ m
@@ -14678,11 +14691,39 @@
self createBufferForCurrentClassOrSelectionInCodeView.
!
-bufferMenuRemoveBuffer:nr
- "remove the current buffer"
+bufferMenuRemoveAllButBuffer:nr
+ "remove all other than the numbered buffer"
buffers size > 0 ifTrue:[
- (self askIfModified:'Code was modified.\\Remove buffer anyway ?')
+ buffers size to:(nr + 1) by:-1 do:[:nr | "/ buffers after nr
+ (self
+ askIfModified:'Code was modified.\\Remove buffer anyway ?'
+ in:(buffers at:nr))
+ ifTrue:[
+ self removeBuffer:nr.
+ ].
+ ].
+ nr-1 to:1 by:-1 do:[:nr | "/ buffers before nr
+ (self
+ askIfModified:'Code was modified.\\Remove buffer anyway ?'
+ in:(buffers at:nr))
+ ifTrue:[
+ self removeBuffer:nr.
+ ].
+ ].
+ ]
+
+ "Modified: / 11.2.2000 / 10:55:02 / cg"
+!
+
+bufferMenuRemoveBuffer:nr
+ "remove the numbered buffer"
+
+ buffers size > 0 ifTrue:[
+ (self
+ askIfModified:'Code was modified.\\Remove buffer anyway ?'
+ in:(buffers at:nr)
+ )
ifTrue:[
self removeBuffer:nr.
].
@@ -14694,9 +14735,7 @@
bufferMenuRemoveCurrentBuffer
"remove the current buffer"
- buffers size > 0 ifTrue:[
- self bufferMenuRemoveBuffer:(selectedBuffer value)
- ]
+ self bufferMenuRemoveBuffer:(selectedBuffer value)
!
bufferSelectionChanged
@@ -31456,6 +31495,21 @@
"Modified: / 11.2.2000 / 12:37:34 / cg"
!
+askIfModified:question default:default in:aNavigationState
+ "if codeView was modified, return the answer from asking question;
+ otherwise, return true"
+
+ ^ self
+ askIfModified:question
+ default:default
+ withAccept:(self canAcceptCode)
+ withCompare:(self canCompareCode)
+ in:aNavigationState
+
+ "Created: / 11.2.2000 / 10:52:28 / cg"
+ "Modified: / 11.2.2000 / 12:37:34 / cg"
+!
+
askIfModified:question default:default withAccept:acceptOffered withCompare:compareOffered
"if codeView was not modified, return true.
If it was, return the answer from asking question, which can be
@@ -31553,6 +31607,13 @@
"Modified: / 23.2.2000 / 00:02:29 / cg"
!
+askIfModified:question in:aNavigationState
+ "if codeView was modified, return the answer from asking question;
+ otherwise, return true"
+
+ ^ self askIfModified:question default:false in:aNavigationState
+!
+
enterBoxForClassWithCodeSelectionTitle:title withList:listOrNil okText:okText
"convenient method: setup an enterBox with initial text taken
from the codeviews selection."
@@ -35869,7 +35930,7 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.769 2004-08-19 10:11:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.770 2004-08-19 16:24:46 cg Exp $'
! !
NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st Thu Aug 19 12:11:50 2004 +0200
+++ b/Tools__NewSystemBrowser.st Thu Aug 19 18:24:46 2004 +0200
@@ -8350,71 +8350,6 @@
)
!
-tabMenuWithRemove
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
- (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(#Menu
- #(
- #(#MenuItem
- #label: 'Add Buffer'
- #translateLabel: true
- #nameKey: #CreateBuffer
- #value: #bufferMenuCreateBuffer
- )
- #(#MenuItem
- #label: 'Remove Buffer'
- #translateLabel: true
- #nameKey: #RemoveBuffer
- #value: #'bufferMenuRemoveBuffer:'
- #argument: 0
- )
- )
- nil
- nil
- )
-!
-
-tabMenuWithoutRemove
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
- (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(#Menu
- #(
- #(#MenuItem
- #label: 'Add buffer'
- #translateLabel: true
- #nameKey: #CreateBuffer
- #value: #bufferMenuCreateBuffer
- )
- )
- nil
- nil
- )
-!
-
variablesMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -9266,6 +9201,78 @@
^ self refactoringMenu
!
+tabMenuWithRemove
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
+ (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'Add Buffer'
+ #translateLabel: true
+ #nameKey: #CreateBuffer
+ #value: #bufferMenuCreateBuffer
+ )
+ #(#MenuItem
+ #label: 'Remove Buffer <%1>'
+ #translateLabel: true
+ #nameKey: #RemoveBuffer
+ #value: #'bufferMenuRemoveBuffer:'
+ #argument: 0
+ )
+ #(#MenuItem
+ #label: 'Remove all but this Buffer <%1>'
+ #translateLabel: true
+ #nameKey: #RemoveAllButBuffer
+ #value: #'bufferMenuRemoveAllButBuffer:'
+ #argument: 0
+ )
+ )
+ nil
+ nil
+ )
+!
+
+tabMenuWithoutRemove
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:NewSystemBrowser andSelector:#tabMenu
+ (Menu new fromLiteralArrayEncoding:(NewSystemBrowser tabMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'Add buffer'
+ #translateLabel: true
+ #nameKey: #CreateBuffer
+ #value: #bufferMenuCreateBuffer
+ )
+ )
+ nil
+ nil
+ )
+!
+
variablesPopUpMenu
"return the popUpMenu for the variable-list view"
@@ -10009,8 +10016,9 @@
m := self class tabMenuWithRemove.
m := m decodeAsLiteralArray.
- i := m detectItem:[:item | item itemValue == #bufferMenuRemoveBuffer:] ifNone:nil.
+ i := m detectItem:[:item | item nameKey == #RemoveBuffer] ifNone:nil.
i notNil ifTrue:[
+ i label:(i label bindWith:index printString).
i argument:index.
index ~~ self selectedBuffer value ifTrue:[
"/ for now: if that buffer is modified,
@@ -10021,6 +10029,11 @@
].
].
].
+ i := m detectItem:[:item | item nameKey == #RemoveAllButBuffer] ifNone:nil.
+ i notNil ifTrue:[
+ i label:(i label bindWith:index printString).
+ i argument:index.
+ ].
m findGuiResourcesIn:self.
^ m
@@ -14678,11 +14691,39 @@
self createBufferForCurrentClassOrSelectionInCodeView.
!
-bufferMenuRemoveBuffer:nr
- "remove the current buffer"
+bufferMenuRemoveAllButBuffer:nr
+ "remove all other than the numbered buffer"
buffers size > 0 ifTrue:[
- (self askIfModified:'Code was modified.\\Remove buffer anyway ?')
+ buffers size to:(nr + 1) by:-1 do:[:nr | "/ buffers after nr
+ (self
+ askIfModified:'Code was modified.\\Remove buffer anyway ?'
+ in:(buffers at:nr))
+ ifTrue:[
+ self removeBuffer:nr.
+ ].
+ ].
+ nr-1 to:1 by:-1 do:[:nr | "/ buffers before nr
+ (self
+ askIfModified:'Code was modified.\\Remove buffer anyway ?'
+ in:(buffers at:nr))
+ ifTrue:[
+ self removeBuffer:nr.
+ ].
+ ].
+ ]
+
+ "Modified: / 11.2.2000 / 10:55:02 / cg"
+!
+
+bufferMenuRemoveBuffer:nr
+ "remove the numbered buffer"
+
+ buffers size > 0 ifTrue:[
+ (self
+ askIfModified:'Code was modified.\\Remove buffer anyway ?'
+ in:(buffers at:nr)
+ )
ifTrue:[
self removeBuffer:nr.
].
@@ -14694,9 +14735,7 @@
bufferMenuRemoveCurrentBuffer
"remove the current buffer"
- buffers size > 0 ifTrue:[
- self bufferMenuRemoveBuffer:(selectedBuffer value)
- ]
+ self bufferMenuRemoveBuffer:(selectedBuffer value)
!
bufferSelectionChanged
@@ -31456,6 +31495,21 @@
"Modified: / 11.2.2000 / 12:37:34 / cg"
!
+askIfModified:question default:default in:aNavigationState
+ "if codeView was modified, return the answer from asking question;
+ otherwise, return true"
+
+ ^ self
+ askIfModified:question
+ default:default
+ withAccept:(self canAcceptCode)
+ withCompare:(self canCompareCode)
+ in:aNavigationState
+
+ "Created: / 11.2.2000 / 10:52:28 / cg"
+ "Modified: / 11.2.2000 / 12:37:34 / cg"
+!
+
askIfModified:question default:default withAccept:acceptOffered withCompare:compareOffered
"if codeView was not modified, return true.
If it was, return the answer from asking question, which can be
@@ -31553,6 +31607,13 @@
"Modified: / 23.2.2000 / 00:02:29 / cg"
!
+askIfModified:question in:aNavigationState
+ "if codeView was modified, return the answer from asking question;
+ otherwise, return true"
+
+ ^ self askIfModified:question default:false in:aNavigationState
+!
+
enterBoxForClassWithCodeSelectionTitle:title withList:listOrNil okText:okText
"convenient method: setup an enterBox with initial text taken
from the codeviews selection."
@@ -35869,7 +35930,7 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.769 2004-08-19 10:11:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.770 2004-08-19 16:24:46 cg Exp $'
! !
NewSystemBrowser initialize!