class: Tools::NewSystemBrowser
added:
#buffersDo:
#otherBrowsersMenu
comment/format in: #browseMenu
changed:
#bufferMenu
#codeCompletion
#operationsMenu
Nice new "Other Browsers" menu item
--- a/Tools__NewSystemBrowser.st Sun Sep 01 00:34:01 2013 +0200
+++ b/Tools__NewSystemBrowser.st Sun Sep 01 00:40:03 2013 +0200
@@ -17988,6 +17988,10 @@
!NewSystemBrowser methodsFor:'accessing'!
+buffersDo:aBlock
+ buffers notNil ifTrue:[ buffers do:aBlock ]
+!
+
isEmbeddedBrowser
"allows the inspector to disable certain menu items (+ buffer)"
@@ -47932,11 +47936,12 @@
].
submenu addItem:item.
].
- m addItem:(subItem := MenuItem labeled:(resources string:'Recently Closed')).
+ m addItem:(subItem := MenuItem label:(resources string:'Recently Closed')).
subItem submenu:submenu.
- m addSeparator.
- ].
-
+ ].
+
+ m addItem:((MenuItem label:(resources string:'Other Browsers')) submenuChannel:#otherBrowsersMenu).
+ m addSeparator.
bufferNameList notEmptyOrNil ifTrue:[
selected := selectedBuffer value.
@@ -48885,9 +48890,10 @@
ifTrue: [resources string:'Undo: %1' with:(manager undoChange name contractTo:100)]
ifFalse: [resources string:'Undo']).
- item := MenuItem labeled:lUndo.
+ item := MenuItem
+ label:lUndo
+ itemValue:[ self operationsMenuUndo ].
item showBusyCursorWhilePerforming:true.
- item itemValue:[ self operationsMenuUndo ].
manager hasUndoableOperations ifFalse: [item disable].
menu addItem:item.
@@ -48895,39 +48901,88 @@
ifTrue: [resources string:'Redo: %1' with:(manager redoChange name contractTo:100)]
ifFalse: [resources string:'Redo']).
- item := MenuItem labeled:lRedo.
+ item := MenuItem
+ label:lRedo
+ itemValue:[ self operationsMenuRedo ].
item showBusyCursorWhilePerforming:true.
- item itemValue:[ self operationsMenuRedo].
manager hasRedoableOperations ifFalse: [item disable].
menu addItem:item.
undoListMenu := Menu new.
manager undoableOperations reverseDo:[:eachUndoChange |
- item := MenuItem labeled:(eachUndoChange name contractTo:100).
+ item := MenuItem
+ label:(eachUndoChange name contractTo:100)
+ itemValue:[ self operationsMenuUndo:eachUndoChange ].
item showBusyCursorWhilePerforming:true.
- item itemValue:[ self operationsMenuUndo:eachUndoChange ].
undoListMenu addItem:item.
].
- item := MenuItem labeled:(resources string:'Undo Recent').
+ item := MenuItem label:(resources string:'Undo Recent').
item submenu:undoListMenu.
item enabled:manager hasUndoableOperations.
menu addItem:item.
- undoCountMenuItem := (MenuItem labeled: (resources string:'Set Undo Count...'))
- itemValue: [self setUndoCount];
- yourself.
+ undoCountMenuItem := MenuItem
+ label: (resources string:'Set Undo Count...')
+ itemValue: [self setUndoCount].
menu addItemGroup: (Array with: undoCountMenuItem).
- cleanChangesForClassItem := (MenuItem labeled: (resources string:'Remove Class from ChangeSet...'))
- itemValue: [self classMenuCleanUpChangeSet];
- enabled: self hasClassSelectedHolder;
- yourself.
+ cleanChangesForClassItem := MenuItem
+ label: (resources string:'Remove Class from ChangeSet...')
+ itemValue: [self classMenuCleanUpChangeSet]
+ enabled: self hasClassSelectedHolder.
menu addItemGroup: (Array with: cleanChangesForClassItem).
^menu
"Modified: / 09-09-2012 / 13:21:02 / cg"
!
+otherBrowsersMenu
+ <resource: #programMenu >
+
+ "a menu showing other browsers, and allowing them to be reactivated"
+
+ ^ [
+ |m selected submenu subItem|
+
+ m := Menu new.
+ self class allInstancesDo:[:brwsr |
+ |item subMenu|
+
+ (brwsr window notNil
+ and:[ brwsr window isTopView ]) ifTrue:[
+ item := MenuItem label:'"',brwsr window label,'"'.
+ item itemValue:[:i | brwsr window raiseDeiconified ].
+
+ brwsr bufferNameList keysAndValuesDo:[:idx :eachBufferName |
+ idx ~~ brwsr selectedBuffer value ifTrue:[
+ |subItem|
+
+ subMenu isNil ifTrue:[
+ subMenu := Menu new.
+ item submenu:subMenu.
+ ].
+ subItem := MenuItem
+ label:(eachBufferName)
+ itemValue:[:i |
+ brwsr window raiseDeiconified.
+ brwsr selectedBuffer value:idx
+ ].
+ subMenu addItem:subItem.
+ ].
+ ].
+ subMenu notNil ifTrue:[
+ item submenu:subMenu.
+ ].
+ m addItem:item.
+ ]
+ ].
+ m items sort:[:a :b | a label < b label].
+ m
+ ].
+
+ "Modified: / 09-09-2012 / 20:43:01 / cg"
+!
+
projectMenu
<resource: #programMenu>
@@ -56185,7 +56240,7 @@
ex proceed.
] do:[
self withWaitCursorDo:[
- DoWhatIMeanSupport codeCompletionForClass:cls codeView:codeView.
+ DoWhatIMeanSupport codeCompletionForClass:cls context:nil codeView:codeView.
]
].
^ self.
@@ -58937,15 +58992,15 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1969 2013-08-31 13:41:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1970 2013-08-31 22:40:03 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1969 2013-08-31 13:41:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1970 2013-08-31 22:40:03 cg Exp $'
!
version_SVN
- ^ '$Id: Tools__NewSystemBrowser.st,v 1.1969 2013-08-31 13:41:29 cg Exp $'
+ ^ '$Id: Tools__NewSystemBrowser.st,v 1.1970 2013-08-31 22:40:03 cg Exp $'
! !