--- a/Tools__NewSystemBrowser.st Sun Jul 03 16:23:22 2011 +0200
+++ b/Tools__NewSystemBrowser.st Sun Jul 03 16:26:37 2011 +0200
@@ -18,7 +18,7 @@
bufferUsageOrder browserCanvas immediateUpdate showClassPackages
lastMethodCategory lastMethodMoveClass browserCanvasType
syntaxColoringProcessRunning syntaxColoringProcess
- methodInfoProcess'
+ methodInfoProcess browsletShowHideLabelHolder browserPageCanvas'
classVariableNames:'LastNewProtocols LastProtocolRenames LastCategoryRenames
LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves
LastNameSpaceMove LastMethodMoveOrCopyTargetClass
@@ -41,7 +41,7 @@
DefaultShortAllClassesInNameSpaceOrganisation LastTag
LastBaseVersionTag DefaultShowPseudoProtocols
DefaultShowMultitabMode LastRenamedOld LastRenamedNew
- LastImportedPackage'
+ LastImportedPackage LastLintRules NewNavigationHistory'
poolDictionaries:''
category:'Interface-Browsers-New'
!
@@ -221,21 +221,66 @@
!NewSystemBrowser class methodsFor:'accessing-history'!
-addToBookMarks:aClass selector:aSelectorOrNil
+addToBookMarks:aClass selector:aSelectorOrNil
+ |newEntry|
+
+ (newEntry := self bookmarkForClass:aClass selector:aSelectorOrNil) isNil
+ ifTrue:[ ^ self ].
+ (self bookmarks contains:[:entry | entry = newEntry ])
+ ifFalse:
+ [self bookmarks add:newEntry]
+
+ "Modified: / 02-06-2011 / 12:01:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addToFindHistory: class selector: selector
|newEntry|
- (newEntry := self historyEntryForClass:aClass selector:aSelectorOrNil) isNil ifTrue:[^ self].
-
- ((BookMarks ? #()) contains:[:entry | entry className = newEntry className
- and:[entry meta = newEntry meta
- and:[aSelectorOrNil isNil or:[entry selector = newEntry selector]]]])
- ifFalse:[
- BookMarks isNil ifTrue:[
- BookMarks := OrderedCollection new
- ].
- BookMarks remove:newEntry ifAbsent:nil.
- BookMarks addFirst:newEntry
- ]
+ newEntry := self historyEntryForClass:class selector:selector.
+ newEntry isNil ifTrue:[^ self].
+
+ FindHistory isNil ifTrue:[
+ FindHistory := OrderedCollection new.
+ ].
+
+ FindHistory := FindHistory select:[:entry | entry className ~= newEntry className
+ or:[entry selector ~= newEntry selector
+ or:[entry meta ~= newEntry meta]]].
+
+ FindHistory addFirst:newEntry.
+ FindHistory size > 30 ifTrue:[
+ FindHistory removeLast.
+ ].
+
+ "Created: / 02-07-2011 / 18:12:31 / cg"
+!
+
+bookmarkForClass:aClass selector:aSelectorOrNil
+
+ ^aSelectorOrNil
+ ifNil:[Bookmark forClass: aClass ]
+ ifNotNil:[Bookmark forClass: aClass selector: aSelectorOrNil ]
+
+ "Created: / 05-05-2011 / 23:36:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-06-2011 / 23:21:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+bookmarks
+
+ ^BookmarkList forSystemBrowser
+
+ "Created: / 23-05-2011 / 10:13:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-06-2011 / 11:36:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+classHistory
+ NewNavigationHistory isNil ifTrue:[
+ NewNavigationHistory := NavigationHistory new.
+ NewNavigationHistory beGlobalHistory.
+ ].
+ ^ NewNavigationHistory
+
+ "Created: / 03-07-2011 / 13:21:53 / cg"
!
lastSearchPatterns
@@ -519,6 +564,129 @@
!NewSystemBrowser class methodsFor:'interface specs'!
+browserPageSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#browserPageSpec
+ Tools::NewSystemBrowser new openInterface:#browserPageSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: browserPageSpec
+ window:
+ (WindowSpec
+ label: 'NewSystemBrowser'
+ name: 'NewSystemBrowser'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 800 700)
+ menu: mainMenu
+ icon: defaultIcon
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (NoteBookViewSpec
+ name: 'BrowserPageContents'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ canvas: browserCanvas
+ keepCanvasAlive: true
+ )
+ (ViewSpec
+ name: 'ToolBar'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ level: 0
+ visibilityChannel: toolBarVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'hideToolBarIcon'
+ name: 'HideToolBarButton'
+ layout: (LayoutFrame 0 0 0 0 13 0 0 1)
+ activeHelpKey: hideToolBar
+ level: 0
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ model: hideToolbar
+ postBuildCallback: hideToolBarButtonCreated:
+ )
+ (MenuPanelSpec
+ name: 'ToolBarMenu'
+ layout: (LayoutFrame 13 0.0 0 0.0 -250 1.0 0 1.0)
+ level: 0
+ visibilityChannel: toolBarVisibleHolder
+ menu: toolBarMenu
+ textDefault: true
+ )
+ (UISubSpecification
+ name: 'SubSpecification1'
+ layout: (LayoutFrame -250 1 0 0 0 1 0 1)
+ level: 0
+ minorKey: #'searchSpec_live_level0'
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'BookmarkBar'
+ layout: (LayoutFrame 0 0 40 0 0 1 65 0)
+ visibilityChannel: bookmarkBarVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'hideToolBarIcon'
+ name: 'Button1'
+ layout: (LayoutFrame 0 0 0 0 13 0 0 1)
+ activeHelpKey: hideToolBar
+ level: 0
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ model: hideBookmarkBar
+ postBuildCallback: hideToolBarButtonCreated:
+ )
+ (SubCanvasSpec
+ name: 'Bookmarks'
+ layout: (LayoutFrame 13 0 2 0 0 1 -1 1)
+ level: 0
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ miniScrollerHorizontal: false
+ majorKey: BookmarkBar
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: bookmarkHolder
+ aspect: bookmarkHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: bookmarksHolder
+ aspect: bookmarkListHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ )
+!
+
chainBrowserSpec
"This resource specification was automatically generated
by the UIPainter of ST/X."
@@ -546,6 +714,16 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -834,6 +1012,8 @@
)
#handles: #(#Any 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
@@ -841,6 +1021,7 @@
)
"Modified: / 27-04-2010 / 16:29:54 / cg"
+ "Modified: / 28-08-2010 / 11:59:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
classDocumentationBrowserSpec
@@ -909,15 +1090,15 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#codePaneSpec
- Tools::NewSystemBrowser new openInterface:#codePaneSpec
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#codePaneSpec_withBrowslet
+ Tools::NewSystemBrowser new openInterface:#codePaneSpec_withBrowslet
"
<resource: #canvas>
^
#(FullSpec
- name: codePaneSpec
+ name: #'codePaneSpec_withBrowslet'
window:
(WindowSpec
label: 'SystemBrowser'
@@ -929,30 +1110,48 @@
component:
(SpecCollection
collection: (
- (NoteBookViewSpec
- name: 'EditorNoteBook'
- layout: (LayoutFrame 0 0 0 0 0 1 -50 1)
- level: 0
- model: selectedEditorNoteBookTabIndexHolder
- menu: editorNoteBookListHolder
- "/ direction: right
- "/ direction: left
- direction: top
- "/ direction: bottom
- useIndex: true
- canvas: editorNoteBookCanvasHolder
- keepCanvasAlive: true
- postBuildCallback: postBuildEditorNoteBook:
- )
- (SubCanvasSpec
- name: 'StringSearchToolCanvas'
- layout: (LayoutFrame 0 0 -49 1 0 1 -25 1)
- visibilityChannel: stringSearchToolVisibleHolder
- hasHorizontalScrollBar: false
- hasVerticalScrollBar: false
- majorKey: StringSearchToolForTextView
- createNewApplication: true
- postBuildCallback: postBuildStringSearchTool:
+ (VariableHorizontalPanelSpec
+ name: 'EditorAndBrowsletBox'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'EditorBox'
+ component:
+ (SpecCollection
+ collection: (
+ (NoteBookViewSpec
+ name: 'EditorNoteBook'
+ layout: (LayoutFrame 0 0 0 0 0 1 -26 1)
+ level: 0
+ model: selectedEditorNoteBookTabIndexHolder
+ menu: editorNoteBookListHolder
+ useIndex: true
+ canvas: editorNoteBookCanvasHolder
+ keepCanvasAlive: true
+ postBuildCallback: postBuildEditorNoteBook:
+ )
+ (SubCanvasSpec
+ name: 'StringSearchToolCanvas'
+ layout: (LayoutFrame 0 0 -24 1 0 1 0 1)
+ visibilityChannel: stringSearchToolVisibleHolder
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: StringSearchToolForTextView
+ createNewApplication: true
+ createNewBuilder: false
+ postBuildCallback: postBuildStringSearchTool:
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ handles: (Any 1.0)
+ postBuildCallback: postBuildCodePaneAndPluginView:
)
(ViewSpec
name: 'InfoBox'
@@ -1025,6 +1224,8 @@
)
)
+
+ "Modified: / 11-10-2010 / 20:23:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
fullBrowserSpec
@@ -1035,55 +1236,68 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:NewSystemBrowser andSelector:#fullBrowserSpec
- NewSystemBrowser new openInterface:#fullBrowserSpec
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#fullBrowserSpec
+ Tools::NewSystemBrowser new openInterface:#fullBrowserSpec
"
<resource: #canvas>
- ^
- #(#FullSpec
- #name: #fullBrowserSpec
- #window:
- #(#WindowSpec
- #label: 'SystemBrowser'
- #name: 'SystemBrowser'
- #min: #(#Point 0 0)
- #bounds: #(#Rectangle 7 0 469 300)
- #icon: #defaultIcon
- )
- #component:
- #(#SpecCollection
- #collection: #(
- #(#VariableVerticalPanelSpec
- #name: 'VariableVerticalPanel1'
- #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
- #barWidth: 2
- #showHandle: false
- #snapMode: #both
- #handlePosition: #left
- #component:
- #(#SpecCollection
- #collection: #(
- #(#SubCanvasSpec
- #name: 'Navigator'
- #autoHideScrollBars: false
- #majorKey: #'NavigatorCanvas'
- #minorKey: #windowSpec
- )
- #(#SubCanvasSpec
- #name: 'CodePane'
- #autoHideScrollBars: false
- #majorKey: #'NewSystemBrowser'
- #minorKey: #codePaneSpec
+ ^
+ #(FullSpec
+ name: fullBrowserSpec
+ window:
+ (WindowSpec
+ label: 'SystemBrowser'
+ name: 'SystemBrowser'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 462 300)
+ icon: defaultIcon
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+ (VariableVerticalPanelSpec
+ name: 'VariableVerticalPanel1'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ barWidth: 2
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'Navigator'
+ autoHideScrollBars: false
+ majorKey: NavigatorCanvas
+ minorKey: windowSpec
+ createNewBuilder: false
+ )
+ (SubCanvasSpec
+ name: 'CodePane'
+ autoHideScrollBars: false
+ majorKey: NewSystemBrowser
+ minorKey: codePaneSpec
+ createNewBuilder: false
)
)
-
+
)
- #handles: #(#Any 0.5 1.0)
+ handles: (Any 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
)
)
-
+
)
)
!
@@ -1115,6 +1329,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1149,13 +1374,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 24.2.2000 / 23:35:03 / cg"
+ "Modified: / 24-02-2000 / 23:35:03 / cg"
+ "Modified: / 28-08-2010 / 11:59:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
methodListBrowserSpec
@@ -1185,6 +1413,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1272,6 +1511,8 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
@@ -1279,6 +1520,7 @@
)
"Modified: / 27-04-2010 / 16:30:00 / cg"
+ "Modified: / 28-08-2010 / 12:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleCategoryBrowserSpec
@@ -1308,6 +1550,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1342,11 +1595,15 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
+
+ "Modified: / 28-08-2010 / 12:00:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleClassBrowserSpec
@@ -1376,6 +1633,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1410,13 +1678,16 @@
)
#handles: #(#Any 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 25.2.2000 / 02:08:21 / cg"
+ "Modified: / 25-02-2000 / 02:08:21 / cg"
+ "Modified: / 28-08-2010 / 12:00:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleClassExtensionBrowserSpec
@@ -1446,6 +1717,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1480,13 +1762,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 25.2.2000 / 02:08:21 / cg"
+ "Modified: / 25-02-2000 / 02:08:21 / cg"
+ "Modified: / 28-08-2010 / 12:00:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleClassRepositoryDiffBrowserSpec
@@ -1579,6 +1864,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1717,6 +2013,8 @@
)
#handles: #(#Any 0.1 0.25 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
@@ -1724,6 +2022,7 @@
)
"Modified: / 27-04-2010 / 16:30:07 / cg"
+ "Modified: / 28-08-2010 / 12:00:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleClassWithInfoBrowserSpec
@@ -1753,6 +2052,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1837,11 +2147,15 @@
)
#handles: #(#Any 0.25 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
+
+ "Modified: / 28-08-2010 / 12:00:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleFullProtocolBrowserSpec
@@ -1871,6 +2185,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -1905,13 +2230,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 1.3.2000 / 20:45:30 / cg"
+ "Modified: / 01-03-2000 / 20:45:30 / cg"
+ "Modified: / 28-08-2010 / 12:00:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleMethodBrowserSpec
@@ -1941,6 +2269,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2035,6 +2374,8 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
@@ -2042,6 +2383,7 @@
)
"Modified: / 27-04-2010 / 16:30:12 / cg"
+ "Modified: / 28-08-2010 / 12:00:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleMethodWithInfoBrowserSpec
@@ -2071,6 +2413,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2173,6 +2526,8 @@
)
#handles: #(#Any 0.25 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
@@ -2180,6 +2535,7 @@
)
"Modified: / 27-04-2010 / 16:30:16 / cg"
+ "Modified: / 28-08-2010 / 12:00:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleNameSpaceBrowserSpec
@@ -2209,6 +2565,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2243,13 +2610,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 18.8.2000 / 15:01:15 / cg"
+ "Modified: / 18-08-2000 / 15:01:15 / cg"
+ "Modified: / 28-08-2010 / 12:01:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleNameSpaceFullBrowserSpec
@@ -2279,6 +2649,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2313,14 +2694,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 18.8.2000 / 13:53:10 / cg"
- "Created: / 18.8.2000 / 15:01:00 / cg"
+ "Created: / 18-08-2000 / 15:01:00 / cg"
+ "Modified: / 28-08-2010 / 12:01:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleProjectBrowserSpec
@@ -2350,6 +2733,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2384,11 +2778,15 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
+
+ "Modified: / 28-08-2010 / 12:01:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleProjectFullBrowserSpec
@@ -2418,6 +2816,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2452,13 +2861,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Created: / 18.8.2000 / 18:42:38 / cg"
+ "Created: / 18-08-2000 / 18:42:38 / cg"
+ "Modified: / 28-08-2010 / 12:01:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
multipleProtocolBrowserSpec
@@ -2488,6 +2900,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2522,13 +2945,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 1.3.2000 / 20:45:30 / cg"
+ "Modified: / 01-03-2000 / 20:45:30 / cg"
+ "Modified: / 28-08-2010 / 12:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
noteBookWindowSpec
@@ -2600,33 +3026,54 @@
menu: toolBarMenu
textDefault: true
)
- (HorizontalPanelViewSpec
- name: 'HorizontalPanel1'
+ (UISubSpecification
+ name: 'SubSpecification1'
layout: (LayoutFrame -250 1 0 0 0 1 0 1)
- level: 1
- horizontalLayout: fitSpace
- verticalLayout: center
- horizontalSpace: 2
- verticalSpace: 2
- component:
- (SpecCollection
- collection: (
- (ComboBoxSpec
- name: 'SearchedClassNameComboBox'
- activeHelpKey: gotoClassEntryField
- model: searchedClassNameOrSelectorHolder
- acceptOnLeave: false
- acceptOnReturn: true
- acceptOnPointerLeave: false
- acceptIfUnchanged: true
- comboList: visitedClassesHistory
- extent: (Point 244 24)
- postBuildCallback: searchFieldCreated:
- )
- )
-
+ minorKey: searchSpec
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'BookmarkBar'
+ layout: (LayoutFrame 0 0 40 0 0 1 65 0)
+ visibilityChannel: bookmarkBarVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'hideToolBarIcon'
+ name: 'Button1'
+ layout: (LayoutFrame 0 0 0 0 13 0 0 1)
+ activeHelpKey: hideToolBar
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ model: hideBookmarkBar
+ postBuildCallback: hideToolBarButtonCreated:
+ )
+ (SubCanvasSpec
+ name: 'Bookmarks'
+ layout: (LayoutFrame 13 0 2 0 0 1 -1 1)
+ level: 0
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ miniScrollerHorizontal: false
+ majorKey: BookmarkBar
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: bookmarkHolder
+ aspect: bookmarkHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: bookmarksHolder
+ aspect: bookmarkListHolder
+ )
)
- postBuildCallback: searchFieldPanelCreated:
+ createNewApplication: true
+ createNewBuilder: true
)
)
@@ -2636,6 +3083,217 @@
)
)
+
+ "Modified: / 03-06-2011 / 13:47:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+pagedWindowSpec
+ <resource: #canvas>
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#webBrowserLayoutWindowSpec
+ Tools::NewSystemBrowser new openInterface:#webBrowserLayoutWindowSpec"
+
+ ^ #( #FullSpec
+ #name: #pagedWindowSpec
+ #window:
+ #(WindowSpec label: 'NewSystemBrowser' name: 'NewSystemBrowser' min: (Point 0 0) bounds: (Rectangle 0 0 800 700) menu: mainMenu icon: defaultIcon)
+ #component:
+ #(SpecCollection collection: ((NoteBookViewSpec name: 'NoteBook' layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) level: 0 model: selectedBuffer menu: bufferNameList useIndex: true valueChangeSelector: bufferSelectionChanged accessTabMenuAction: tabMenu: hasScrollButtons: true destroyTabAction: destroyTab: canvas: browserPageCanvas canvasInset: 0 keepCanvasAlive: true tabLevel: 1))) )
+!
+
+searchSpec
+
+ ^self searchSpec_live
+
+ "Created: / 09-02-2010 / 21:28:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+searchSpec_classic
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#searchSpec_classic
+ Tools::NewSystemBrowser new openInterface:#searchSpec_classic
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: #'searchSpec_classic'
+ window:
+ (WindowSpec
+ label: 'Search Spec (classic)'
+ name: 'Search Spec (classic)'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 40)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (HorizontalPanelViewSpec
+ name: 'HorizontalPanel1'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ level: 1
+ horizontalLayout: fitSpace
+ verticalLayout: center
+ horizontalSpace: 2
+ verticalSpace: 2
+ component:
+ (SpecCollection
+ collection: (
+ (ComboBoxSpec
+ name: 'SearchedClassNameComboBox'
+ activeHelpKey: gotoClassEntryField
+ model: searchedClassNameOrSelectorHolder
+ acceptOnLeave: false
+ acceptOnReturn: true
+ acceptOnPointerLeave: false
+ acceptIfUnchanged: true
+ comboList: visitedClassesHistory
+ extent: (Point 294 24)
+ postBuildCallback: searchFieldCreated:
+ )
+ )
+
+ )
+ postBuildCallback: searchFieldPanelCreated:
+ )
+ )
+
+ )
+ )
+!
+
+searchSpec_live
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#searchSpec_live
+ Tools::NewSystemBrowser new openInterface:#searchSpec_live
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: #'searchSpec_live'
+ window:
+ (WindowSpec
+ label: 'Search Spec (live)'
+ name: 'Search Spec (live)'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 40)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (HorizontalPanelViewSpec
+ name: 'HorizontalPanel1'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ level: 1
+ horizontalLayout: fitSpace
+ verticalLayout: center
+ horizontalSpace: 2
+ verticalSpace: 2
+ component:
+ (SpecCollection
+ collection: (
+ (EditFieldWithCompletionSpec
+ name: 'SearchedClassNameComboBox'
+ activeHelpKey: gotoClassEntryField
+ model: searchedClassNameOrSelectorHolder
+ acceptOnLeave: false
+ acceptOnReturn: true
+ acceptOnPointerLeave: false
+ acceptIfUnchanged: true
+ entryCompletionBlock: searchCompletionBlock
+ extent: (Point 294 24)
+ postBuildCallback: searchFieldCreated:
+ )
+ )
+
+ )
+ postBuildCallback: searchFieldPanelCreated:
+ )
+ )
+
+ )
+ )
+!
+
+searchSpec_live_level0
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#searchSpec_live_level0
+ Tools::NewSystemBrowser new openInterface:#searchSpec_live_level0
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: #'searchSpec_live_level0'
+ window:
+ (WindowSpec
+ label: 'Search Spec (live)'
+ name: 'Search Spec (live)'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 40)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (HorizontalPanelViewSpec
+ name: 'HorizontalPanel1'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ level: 0
+ horizontalLayout: fitSpace
+ verticalLayout: center
+ horizontalSpace: 2
+ verticalSpace: 2
+ component:
+ (SpecCollection
+ collection: (
+ (EditFieldWithCompletionSpec
+ name: 'SearchedClassNameComboBox'
+ activeHelpKey: gotoClassEntryField
+ level: -1
+ model: searchedClassNameOrSelectorHolder
+ acceptOnLeave: false
+ acceptOnReturn: true
+ acceptOnPointerLeave: false
+ acceptIfUnchanged: true
+ entryCompletionBlock: searchCompletionBlock
+ extent: (Point 296 24)
+ postBuildCallback: searchFieldCreated:
+ )
+ )
+
+ )
+ postBuildCallback: searchFieldPanelCreated:
+ )
+ )
+
+ )
+ )
!
selectorBrowserSpec
@@ -2665,6 +3323,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -2700,11 +3369,15 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
+
+ "Modified: / 28-08-2010 / 12:01:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
senderChainBrowserSpec
@@ -2734,6 +3407,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3006,6 +3690,8 @@
)
#handles: #(#Any 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
@@ -3013,6 +3699,7 @@
)
"Modified: / 27-04-2010 / 16:30:26 / cg"
+ "Modified: / 28-08-2010 / 12:01:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleCategoryBrowserSpec
@@ -3042,6 +3729,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3076,11 +3774,15 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
+
+ "Modified: / 28-08-2010 / 12:01:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleClassBrowserSpec
@@ -3110,6 +3812,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3144,11 +3857,15 @@
)
#handles: #(#Any 0.4 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
+
+ "Modified: / 28-08-2010 / 12:01:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleFullProtocolBrowserSpec
@@ -3178,6 +3895,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3212,13 +3940,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 1.3.2000 / 11:59:28 / cg"
+ "Modified: / 01-03-2000 / 11:59:28 / cg"
+ "Modified: / 28-08-2010 / 12:01:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleMethodBrowserSpec
@@ -3229,81 +3960,95 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:NewSystemBrowser andSelector:#singleMethodBrowserSpec
- NewSystemBrowser new openInterface:#singleMethodBrowserSpec
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#singleMethodBrowserSpec
+ Tools::NewSystemBrowser new openInterface:#singleMethodBrowserSpec
"
<resource: #canvas>
- ^
- #(#FullSpec
- #name: #methodBrowserSpec
- #window:
- #(#WindowSpec
- #label: 'MethodBrowser'
- #name: 'NewBrowser'
- #min: #(#Point 0 0)
- #bounds: #(#Rectangle 13 23 475 323)
- )
- #component:
- #(#SpecCollection
- #collection: #(
- #(#SubCanvasSpec
- #name: 'PseudoMethodList'
- #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
- #majorKey: #'MethodList'
- #minorKey: #singleMethodWindowSpec
- #subAspectHolders:
- #(#Array
-
- #(#SubChannelInfoSpec
- #subAspect: #immediateUpdate
- #aspect: #immediateUpdate
- )
- #(#SubChannelInfoSpec
- #subAspect: #inGeneratorHolder
- #aspect: #selectorListGenerator
- )
-
- #(#SubChannelInfoSpec
- #subAspect: #packageFilter
- #aspect: #packageFilter
- )
- #(#SubChannelInfoSpec
- #subAspect: #selectedMethods
- #aspect: #selectedProtocolMethods
- )
- #(#SubChannelInfoSpec
- #subAspect: #menuHolder
- #aspect: #selectorPopUpMenu
- )
- )
- #createNewApplication: true
- #createNewBuilder: true
- )
- #(#SubCanvasSpec
- #layout: #(#LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
- #name: 'CodePane'
- #autoHideScrollBars: false
- #majorKey: #'NewSystemBrowser'
- #minorKey: #codePaneSpec
- )
-"/ #(#CodeViewSpec
-"/ #name: 'CodeView'
-"/ #layout: #(#LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
-"/ #model: #codeHolder
-"/ #hasHorizontalScrollBar: true
-"/ #hasVerticalScrollBar: true
-"/ #miniScrollerHorizontal: true
-"/ #postBuildCallback: #postBuildCodeView:
-"/ #modifiedChannel: #codeModifiedHolder
-"/ )
+ ^
+ #(FullSpec
+ name: singleMethodBrowserSpec
+ window:
+ (WindowSpec
+ label: 'MethodBrowser'
+ name: 'MethodBrowser'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 462 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+ (TransparentBoxSpec
+ name: 'Box1'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ postBuildCallback: postBuildTabContentView:
+
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'PseudoMethodList'
+ layout: (LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+ majorKey: MethodList
+ minorKey: singleMethodWindowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: selectorListGenerator
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedMethods
+ aspect: selectedProtocolMethods
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: selectorPopUpMenu
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'CodePane'
+ layout: (LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
+ autoHideScrollBars: false
+ majorKey: NewSystemBrowser
+ minorKey: codePaneSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ )
)
-
- )
- )
-
- "Modified: / 1.3.2000 / 20:47:18 / cg"
+
+ )
+ )
+
+ "Modified: / 28-08-2010 / 12:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleMethodWithInfoBrowserSpec
@@ -3314,100 +4059,118 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:NewSystemBrowser andSelector:#singleMethodWithInfoBrowserSpec
- NewSystemBrowser new openInterface:#singleMethodWithInfoBrowserSpec
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#singleMethodWithInfoBrowserSpec
+ Tools::NewSystemBrowser new openInterface:#singleMethodWithInfoBrowserSpec
"
<resource: #canvas>
- ^
- #(#FullSpec
- #name: #singleMethodWithInfoBrowserSpec
- #window:
- #(#WindowSpec
- #label: 'MethodBrowser'
- #name: 'MethodBrowser'
- #min: #(#Point 0 0)
- #bounds: #(#Rectangle 18 51 480 351)
- )
- #component:
- #(#SpecCollection
- #collection: #(
- #(#SubCanvasSpec
- #name: 'PseudoMethodList'
- #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
- #majorKey: #'MethodList'
- #minorKey: #singleMethodWindowSpec
- #subAspectHolders:
- #(#Array
-
- #(#SubChannelInfoSpec
- #subAspect: #immediateUpdate
- #aspect: #immediateUpdate
- )
- #(#SubChannelInfoSpec
- #subAspect: #inGeneratorHolder
- #aspect: #selectorListGenerator
- )
-
- #(#SubChannelInfoSpec
- #subAspect: #packageFilter
- #aspect: #packageFilter
- )
- #(#SubChannelInfoSpec
- #subAspect: #selectedMethods
- #aspect: #selectedProtocolMethods
- )
-
- #(#SubChannelInfoSpec
- #subAspect: #menuHolder
- #aspect: #methodListPopUpMenu
- )
+ ^
+ #(FullSpec
+ name: singleMethodWithInfoBrowserSpec
+ window:
+ (WindowSpec
+ label: 'MethodBrowser'
+ name: 'MethodBrowser'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 462 300)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
+ (TransparentBoxSpec
+ name: 'Box'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ postBuildCallback: postBuildTabContentView:
+
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'SubCanvas1'
+ layout: (LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+ majorKey: MethodList
+ minorKey: singleMethodWindowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: selectorListGenerator
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedMethods
+ aspect: selectedProtocolMethods
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: methodListPopUpMenu
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (VariableVerticalPanelSpec
+ name: 'VariableVerticalPanel2'
+ layout: (LayoutFrame 0 0.0 25 0 0 1.0 0 1.0)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (TextEditorSpec
+ name: 'TextEditor1'
+ model: methodInfo
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ autoHideScrollBars: true
+ isReadOnly: true
+ hasKeyboardFocusInitially: false
+ )
+ (SubCanvasSpec
+ name: 'SubCanvas2'
+ autoHideScrollBars: false
+ majorKey: NewSystemBrowser
+ minorKey: codePaneSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ )
+
)
- #createNewApplication: true
- #createNewBuilder: true
- )
- #(#VariableVerticalPanelSpec
- #name: 'VariableVerticalPanel1'
- #layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 0 1.0)
- #showHandle: false
- #snapMode: #both
- #handlePosition: #left
- #component:
- #(#SpecCollection
- #collection: #(
- #(#TextEditorSpec
- #name: 'MethodInfoView'
- #model: #methodInfo
- #hasHorizontalScrollBar: true
- #hasVerticalScrollBar: true
- #autoHideScrollBars: true
- #isReadOnly: true
- )
- #(#SubCanvasSpec
- #name: 'CodePane'
- #autoHideScrollBars: false
- #majorKey: #'NewSystemBrowser'
- #minorKey: #codePaneSpec
- )
-"/ #(#CodeViewSpec
-"/ #name: 'CodeView'
-"/ #model: #codeHolder
-"/ #hasHorizontalScrollBar: true
-"/ #hasVerticalScrollBar: true
-"/ #miniScrollerHorizontal: true
-"/ #postBuildCallback: #postBuildCodeView:
-"/ #modifiedChannel: #codeModifiedHolder
-"/ )
- )
-
- )
- #handles: #(#Any 0.5 1.0)
)
)
-
- )
- )
+
+ )
+ )
+
+ "Modified: / 28-08-2010 / 12:02:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleNameSpaceBrowserSpec
@@ -3437,6 +4200,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3471,13 +4245,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 18.8.2000 / 15:01:10 / cg"
+ "Modified: / 18-08-2000 / 15:01:10 / cg"
+ "Modified: / 28-08-2010 / 12:02:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleNameSpaceFullBrowserSpec
@@ -3507,6 +4284,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3541,14 +4329,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 18.8.2000 / 14:03:27 / cg"
- "Created: / 18.8.2000 / 15:01:07 / cg"
+ "Created: / 18-08-2000 / 15:01:07 / cg"
+ "Modified: / 28-08-2010 / 12:02:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleProjectBrowserSpec
@@ -3578,6 +4368,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3612,14 +4413,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Created: / 25.2.2000 / 02:33:53 / cg"
- "Modified: / 25.2.2000 / 03:11:11 / cg"
+ "Created: / 25-02-2000 / 02:33:53 / cg"
+ "Modified: / 28-08-2010 / 12:02:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleProjectFullBrowserSpec
@@ -3649,6 +4452,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3683,14 +4497,16 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 25.2.2000 / 03:11:11 / cg"
- "Created: / 18.8.2000 / 18:42:51 / cg"
+ "Created: / 18-08-2000 / 18:42:51 / cg"
+ "Modified: / 28-08-2010 / 12:02:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
singleProtocolBrowserSpec
@@ -3720,6 +4536,17 @@
#component:
#(#SpecCollection
#collection: #(
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
#(#VariableVerticalPanelSpec
#name: 'VariableVerticalPanel1'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
@@ -3754,20 +4581,354 @@
)
#handles: #(#Any 0.3 1.0)
+ postBuildCallback: postBuildTabContentView:
+
)
)
)
)
- "Modified: / 1.3.2000 / 11:59:28 / cg"
+ "Modified: / 01-03-2000 / 11:59:28 / cg"
+ "Modified: / 28-08-2010 / 12:02:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+smallLintByRuleResultBrowserSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#smallLintByRuleResultBrowserSpec
+ Tools::NewSystemBrowser new openInterface:#smallLintByRuleResultBrowserSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: smallLintByRuleResultBrowserSpec
+ window:
+ (WindowSpec
+ label: 'SmallLintByClassResultBrowser'
+ name: 'SmallLintByClassResultBrowser'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 775 579)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
+ (VariableVerticalPanelSpec
+ name: 'NavigatorAndCodePane'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (VariableHorizontalPanelSpec
+ name: 'Navigator'
+ component:
+ (SpecCollection
+ collection: (
+ (VariableVerticalPanelSpec
+ name: 'RuleListPanel'
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'RuleList'
+ majorKey: #'Tools::LintRuleList'
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: lintRuleListGenerator
+ )
+ (SubChannelInfoSpec
+ subAspect: listSelection
+ aspect: selectedLintRules
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: classListGenerator
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'RuleDetails'
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: #'Tools::LintRuleDetail'
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: ruleHolder
+ aspect: theSingleSelectedLintRuleHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (TransparentBoxSpec
+ name: 'ClassListBox'
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'ClassList'
+ layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+ majorKey: ClassList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ callBack: classDoubleClicked
+ )
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+
+ (SubChannelInfoSpec
+ subAspect: meta
+ aspect: meta
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: classListGenerator
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: classMenu
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedClasses
+ aspect: selectedClasses
+ callBack: classSelectionChanged
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeConditionHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'MetaToggles'
+ layout: (LayoutFrame 5 0 -25 1 -5 1 0 1)
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: #'Tools::ClassList'
+ minorKey: metaSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ )
+ (SubCanvasSpec
+ name: 'MethodList'
+ majorKey: MethodList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ callBack: methodDoubleClicked
+ )
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: selectorListGenerator
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: methodListPopUpMenu
+ )
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: selectedMethods
+ aspect: selectedMethods
+ callBack: methodsSelectionChanged
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeConditionHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.33333333333333 0.66666666666667 1.0)
+ )
+ (SubCanvasSpec
+ name: 'CodePane'
+ autoHideScrollBars: false
+ majorKey: NewSystemBrowser
+ minorKey: codePaneSpec
+ createNewBuilder: false
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
+ )
+ )
+
+ )
+ )
+
+ "Modified: / 28-08-2010 / 12:02:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visualProfilerSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#visualProfilerSpec
+ Tools::NewSystemBrowser new openInterface:#visualProfilerSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: visualProfilerSpec
+ window:
+ (WindowSpec
+ label: 'SystemBrowser'
+ name: 'SystemBrowser'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 462 300)
+ icon: defaultIcon
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'MessagePane'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ initiallyInvisible: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ specHolder: messageSpecHolder
+ createNewBuilder: false
+ postBuildCallback: postBuildMessagePane:
+ )
+
+ (VariableVerticalPanelSpec
+ name: 'VariableVerticalPanel1'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ barWidth: 2
+ showHandle: false
+ snapMode: both
+ handlePosition: left
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'VisualProfiler'
+ autoHideScrollBars: false
+ majorKey: #'Tools::VisualProfilerCanvas'
+ minorKey: windowSpec
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+ (SubChannelInfoSpec
+ subAspect: profilerStatistics
+ aspect: profilerStatistics
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedMethods
+ aspect: selectedMethods
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ (SubCanvasSpec
+ name: 'CodePane'
+ autoHideScrollBars: false
+ majorKey: NewSystemBrowser
+ minorKey: codePaneSpec
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ postBuildCallback: postBuildTabContentView:
+
+ )
+ )
+
+ )
+ )
+
+ "Modified: / 09-10-2007 / 21:54:57 / janfrog"
+ "Modified: / 28-08-2010 / 12:02:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
windowSpec
-"/ ^ self browserWindowSpec
- ^ self noteBookWindowSpec
-
- "Modified: / 5.2.2000 / 12:23:55 / cg"
+ "/ ^ self browserWindowSpec
+
+ ^ UserPreferences current webBrowserLikeLayout
+ ifTrue:[ self pagedWindowSpec ]
+ ifFalse:[ self noteBookWindowSpec ]
+
+ "Modified: / 05-02-2000 / 12:23:55 / cg"
+ "Modified: / 07-06-2011 / 14:39:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!NewSystemBrowser class methodsFor:'interface specs-dialogs'!
@@ -4027,6 +5188,119 @@
)
! !
+!NewSystemBrowser class methodsFor:'interface specs-message pane'!
+
+messageInfoSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#messageInfoSpec
+ Tools::NewSystemBrowser new openInterface:#messageInfoSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: messageInfoSpec
+ window:
+ (WindowSpec
+ label: 'MessageInfo'
+ name: 'MessageInfo'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 800 40)
+ backgroundColor: (Color 100.0 78.0392156862745 22.7450980392157)
+ forceRecursiveBackgroundOfDefaultBackground: true
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Label'
+ name: 'Message'
+ layout: (LayoutFrame 10 0 -10 0.5 -90 1 10 0.5)
+ backgroundColor: (Color 100.0 78.0392156862745 22.7450980392157)
+ translateLabel: true
+ labelChannel: messageHolder
+ adjust: left
+ )
+ (ActionButtonSpec
+ label: 'OK'
+ name: 'OK'
+ layout: (LayoutFrame -80 1 -12 0.5 -12 1 12 0.5)
+ translateLabel: true
+ model: hideMessagePane
+ )
+ )
+
+ )
+ )
+!
+
+progressInfoSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:Tools::NewSystemBrowser andSelector:#progressInfoSpec
+ Tools::NewSystemBrowser new openInterface:#progressInfoSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: progressInfoSpec
+ window:
+ (WindowSpec
+ label: 'ProgressInfo'
+ name: 'ProgressInfo'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 800 40)
+ backgroundColor: (Color 100.0 78.0392156862745 22.7450980392157)
+ forceRecursiveBackgroundOfDefaultBackground: true
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Label'
+ name: 'Message'
+ layout: (LayoutFrame 10 0 0 0 -90 1 20 0)
+ backgroundColor: (Color 100.0 78.0392156862745 22.7450980392157)
+ translateLabel: true
+ labelChannel: messageHolder
+ adjust: left
+ )
+ (ProgressIndicatorSpec
+ name: 'ProgressIndicator'
+ layout: (LayoutFrame 10 0 -20 1 -90 1 -3 1)
+ model: progressHolder
+ foregroundColor: (Color 52.156862745098 37.2549019607843 0.0)
+ backgroundColor: (Color 100.0 91.3725490196078 70.1960784313726)
+ )
+ (ActionButtonSpec
+ label: 'Abort'
+ name: 'Abort'
+ layout: (LayoutFrame -80 1 -12 0.5 -12 1 12 0.5)
+ translateLabel: true
+ model: hideMessagePaneAndAbort
+ )
+ )
+
+ )
+ )
+
+ "Modified: / 28-08-2010 / 20:51:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!NewSystemBrowser class methodsFor:'menu specs'!
browseMenu
@@ -4479,6 +5753,50 @@
"Modified: / 03-08-2004 / 14:28:02 / stefan"
!
+categoryCheckMenu
+ "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:Tools::NewSystemBrowser andSelector:#categoryCheckMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser categoryCheckMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: 'Check'
+ itemValue: categoryCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRules
+ )
+ (MenuItem
+ label: 'Check (all checks)'
+ itemValue: categoryCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesAll
+ )
+ (MenuItem
+ label: 'Check (selected checks)'
+ itemValue: categoryCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesFromUser
+ )
+
+ )
+ nil
+ nil
+ )
+
+ "Modified: / 17-04-2010 / 11:14:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
categoryMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -4493,7 +5811,7 @@
<resource: #menu>
- ^
+ ^
#(Menu
(
(MenuItem
@@ -4534,6 +5852,12 @@
label: '-'
)
(MenuItem
+ label: 'Static Analysis (Lint)'
+ translateLabel: true
+ submenuChannel: categoryCheckMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary lint16x16Icon 'Static Analysis (Lint)')
+ )
+ (MenuItem
label: 'Special'
translateLabel: true
submenuChannel: categorySpecialMenu
@@ -4864,7 +6188,7 @@
<resource: #menu>
- ^
+ ^
#(Menu
(
(MenuItem
@@ -4909,6 +6233,11 @@
label: '-'
)
(MenuItem
+ label: 'Static Analysis (Lint)'
+ translateLabel: true
+ submenuChannel: categoryCheckMenu
+ )
+ (MenuItem
label: 'Special'
translateLabel: true
submenuChannel: categorySpecialMenu
@@ -5186,6 +6515,65 @@
"Created: / 19-04-2011 / 15:24:05 / cg"
!
+classCheckMenu
+ "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:Tools::NewSystemBrowser andSelector:#classCheckMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classCheckMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: 'Check'
+ itemValue: classCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRules
+ )
+ (MenuItem
+ label: 'Check (all checks)'
+ itemValue: classCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesAll
+ )
+ (MenuItem
+ label: 'Check (selected checks)'
+ itemValue: classCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesFromUser
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Smalltalk/X Checks'
+ translateLabel: true
+ submenuChannel: lintMenu
+ keepLinkedMenu: true
+ )
+ (MenuItem
+ enabled: hasClassSelectedAndInstrumentingCompilerExistsHolder
+ label: 'Recompile all Methods with Instrumentation'
+ itemValue: classMenuRecompileInstrumented
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+
+ "Modified: / 17-04-2010 / 11:17:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
classClassVariablesMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -5626,13 +7014,13 @@
the MenuEditor may not be able to read the specification."
"
- MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classGenerateMenu
- (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classGenerateMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
+ MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classGenerateMenuCommonInstMethodsSlice
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classGenerateMenuCommonInstMethodsSlice)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
#(Menu
(
(MenuItem
@@ -5674,6 +7062,13 @@
)
(MenuItem
enabled: hasClassSelectedHolder
+ label: 'Visitor and Visited Methods (with visitSuper:)'
+ itemValue: classMenuGenerateVisitorMethods2
+ translateLabel: true
+ isVisible: hasNonMetaSelectedHolder
+ )
+ (MenuItem
+ enabled: hasClassSelectedHolder
label: 'Classtype Test Methods for this Class (isXXX)'
itemValue: classMenuGenerateClassTypeTestMethodsForThisClass
translateLabel: true
@@ -5694,8 +7089,6 @@
nil
nil
)
-
- "Created: / 10-08-2006 / 16:17:43 / cg"
!
classHierarchyMenu
@@ -6332,6 +7725,11 @@
translateLabel: true
)
(MenuItem
+ label: 'Search / Rewrite'
+ itemValue: classMenuRewrite
+ translateLabel: true
+ )
+ (MenuItem
label: '-'
)
(MenuItem
@@ -6408,6 +7806,12 @@
keepLinkedMenu: true
)
(MenuItem
+ label: 'Static Analysis (Lint)'
+ translateLabel: true
+ submenuChannel: classCheckMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary lint16x16Icon 'Static Analysis (Lint)')
+ )
+ (MenuItem
label: 'Debug'
translateLabel: true
submenuChannel: classDebugMenu
@@ -6435,6 +7839,7 @@
)
"Modified: / 20-04-2011 / 17:14:10 / cg"
+ "Modified: / 09-06-2011 / 08:41:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
classNewHaskellClassSlice
@@ -6445,21 +7850,25 @@
the MenuEditor may not be able to read the specification."
"
- MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classNewSlice
- (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classNewSlice)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(Menu
- (
+ MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classNewHaskellClassSlice
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classNewHaskellClassSlice)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: '-'
+ isVisible: isHaskellModulePresent
+ )
(MenuItem
enabled: isHaskellModulePresent
label: 'Haskell Module'
itemValue: classMenuNewHaskellModule
translateLabel: true
- isVisible: isHaskellModulePresent
+ isVisible: isHaskellModulePresent
)
)
nil
@@ -6475,21 +7884,25 @@
the MenuEditor may not be able to read the specification."
"
- MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classNewSlice
- (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classNewSlice)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(Menu
- (
+ MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classNewJavaScriptClassSlice
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classNewJavaScriptClassSlice)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: '-'
+ isVisible: isJavaScriptMetaclassPresent
+ )
(MenuItem
enabled: isJavaScriptMetaclassPresent
label: 'JavaScript Class'
itemValue: classMenuNewJavaScriptClass
translateLabel: true
- )
+ )
)
nil
nil
@@ -6525,6 +7938,58 @@
)
!
+classNewRubyClassSlice
+ "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:Tools::NewSystemBrowser andSelector:#classNewRubyClassSlice
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classNewRubyClassSlice)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: '-'
+ isVisible: isRubyMetaclassPresent
+ )
+ (MenuItem
+ label: 'Ruby class'
+ itemValue: classMenuNewRubyClass
+ translateLabel: true
+ isVisible: isRubyMetaclassPresent
+ labelImage: (ResourceRetriever ToolbarIconLibrary rubyClassBrowserIcon 'Ruby class')
+ )
+ (MenuItem
+ label: 'Ruby...'
+ translateLabel: true
+ isVisible: isRubyMetaclassPresent
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Module'
+ itemValue: classMenuNewRubyModule
+ translateLabel: true
+ isVisible: isRubyMetaclassPresent
+ )
+ )
+ nil
+ nil
+ )
+ )
+ )
+ nil
+ nil
+ )
+!
+
classNewSlice
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -6623,18 +8088,18 @@
^
#(Menu
(
- #(MenuItem
- label: 'Smalltalk'
+ (MenuItem
+ label: 'Smalltalk class'
+ itemValue: classMenuNewSmalltalkClass
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Smalltalk...'
translateLabel: true
submenu:
(Menu
(
(MenuItem
- label: 'Class'
- itemValue: classMenuNewClass
- translateLabel: true
- )
- (MenuItem
enabled: hasSingleLoadedNonJavascriptClassSelectedHolder
label: 'Private Class'
itemValue: classMenuNewPrivateClass
@@ -6697,9 +8162,10 @@
nil
)
)
- )
- nil
- nil )
+ )
+ nil
+ nil
+ )
!
classSCMMenu
@@ -8054,10 +9520,17 @@
label: 'SubVersion'
translateLabel: true
isVisible: hasSubversionSupport
- submenuChannel: projectSubversionMenu
+ submenuChannel: projectMenuSubversion
labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
)
(MenuItem
+ enabled: hasProjectSelectedMonticelloRepositoryExistsHolder
+ label: 'Monticello'
+ translateLabel: true
+ isVisible: hasMonticelloSupport
+ submenuChannel: projectMonticelloMenu
+ )
+ (MenuItem
label: '-'
)
(MenuItem
@@ -8284,6 +9757,7 @@
nil
)
+ "Modified: / 14-09-2010 / 22:55:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 08-02-2011 / 11:00:43 / cg"
!
@@ -8443,6 +9917,49 @@
)
!
+protocolCheckMenu
+ "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:Tools::NewSystemBrowser andSelector:#protocolCheckMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser protocolCheckMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: 'Check'
+ itemValue: protocolCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRules
+ )
+ (MenuItem
+ label: 'Check (all checks)'
+ itemValue: protocolCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesAll
+ )
+ (MenuItem
+ label: 'Check (selected checks)'
+ itemValue: protocolCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesFromUser
+ )
+ )
+ nil
+ nil
+ )
+
+ "Modified: / 17-04-2010 / 11:13:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
protocolMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -8660,6 +10177,12 @@
label: '-'
)
(MenuItem
+ label: 'Static Anlysis (Lint)'
+ translateLabel: true
+ submenuChannel: protocolCheckMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary lint16x16Icon 'Static Anlysis (Lint)')
+ )
+ (MenuItem
label: 'Generate'
translateLabel: true
submenu:
@@ -8675,25 +10198,6 @@
nil
)
)
-"/ (MenuItem
-"/ label: 'Special'
-"/ translateLabel: true
-"/ submenu:
-"/ (Menu
-"/ (
-"/ (MenuItem
-"/ label: 'Auto Assign'
-"/ itemValue: protocolMenuAutoAssignMethods
-"/ translateLabel: true
-"/ )
-"/ )
-"/ nil
-"/ nil
-"/ )
-"/ ) (MenuItem
-"/ label: '-'
-"/ isVisible: false
-"/ )
(MenuItem
label: 'Update'
itemValue: protocolMenuUpdate
@@ -8949,6 +10453,50 @@
)
!
+selectorCheckMenu
+ "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:Tools::NewSystemBrowser andSelector:#categoryCheckMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser categoryCheckMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: 'Check'
+ itemValue: selectorCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRules
+ )
+ (MenuItem
+ label: 'Check (all checks)'
+ itemValue: selectorCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesAll
+ )
+ (MenuItem
+ label: 'Check (selected checks)'
+ itemValue: selectorCheckMenuSmalllintCheck:
+ translateLabel: true
+ argument: smalllintRulesFromUser
+ )
+
+ )
+ nil
+ nil
+ )
+
+ "Created: / 17-04-2010 / 10:48:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
selectorMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -8963,7 +10511,7 @@
<resource: #menu>
- ^
+ ^
#(Menu
(
(MenuItem
@@ -8997,7 +10545,7 @@
enabled: hasClassSelectedHolder
label: 'New'
translateLabel: true
- submenu:
+ submenu:
(Menu
(
(MenuItem
@@ -9010,6 +10558,15 @@
label: '-'
)
(MenuItem
+ label: 'Smalltak/Ruby/... Method'
+ translateLabel: true
+ submenuChannel: selectorMenuNewSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
enabled: hasClassSelectedHolder
label: 'Window Spec'
itemValue: selectorMenuNewWindowSpec
@@ -9190,13 +10747,18 @@
nil
)
)
-
(MenuItem
label: 'Refactor'
translateLabel: true
submenuChannel: methodRefactorMenu
)
(MenuItem
+ label: 'Static Anlysis (Lint)'
+ translateLabel: true
+ submenuChannel: selectorCheckMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary lint16x16Icon 'Static Anlysis (Lint)')
+ )
+ (MenuItem
label: 'Generate'
translateLabel: true
submenu:
@@ -10647,6 +12209,12 @@
indication: toolBarVisibleHolder
)
(MenuItem
+ label: 'Bookmarks'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: bookmarkBarVisibleHolder
+ )
+ (MenuItem
label: 'Searchbar'
translateLabel: true
hideMenuOnActivated: false
@@ -10680,6 +12248,13 @@
indication: showCoverageInformation
)
(MenuItem
+ label: 'Browslet'
+ itemValue: showPlugin:
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showPlugin
+ )
+ (MenuItem
label: '-'
)
(MenuItem
@@ -10858,8 +12433,6 @@
nil
nil
)
-
- "Modified: / 27-04-2010 / 16:26:10 / cg"
!
viewMenuForChainBrowser
@@ -11620,6 +13193,268 @@
"Created: / 18.2.2000 / 11:58:25 / cg"
! !
+!NewSystemBrowser class methodsFor:'menu specs-subversion'!
+
+classSubversionMenu
+ "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:Tools::NewSystemBrowser andSelector:#classSubversionMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classSubversionMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ enabled: hasClassesSelectedAndSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Commit'
+ itemValue: classMenuSubversionCommit
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
+ )
+ (MenuItem
+ enabled: hasClassesSelectedAndSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Update'
+ itemValue: classMenuSubversionUpdate
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: hasClassesSelectedAndSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Compare'
+ translateLabel: true
+ submenuChannel: classSubversionCompareMenu
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare')
+ )
+ (MenuItem
+ enabled: false
+ label: 'Merge'
+ translateLabel: true
+ submenuChannel: classSubversionMergeMenu
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge')
+ )
+ (MenuItem
+ enabled: hasClassesSelectedAndSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Changeset'
+ translateLabel: true
+ submenuChannel: classSubversionChangesetMenu
+ )
+ (MenuItem
+ enabled: hasClassesSelectedAndSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Revision log'
+ itemValue: classMenuSubversionShowRevisionLog
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' log 'Revision log')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Branch'
+ translateLabel: true
+ submenuChannel: commonSubversionBranchMenu
+ )
+ (MenuItem
+ label: 'Browse working copy'
+ itemValue: commonMenuSubversionBrowseWorkingCopy
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'More'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Common Slice'
+ translateLabel: true
+ submenuChannel: commonSubversionMenuSlice
+ isMenuSlice: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ )
+ nil
+ nil
+ )
+!
+
+commonSubversionMenuSlice
+ "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:Tools::NewSystemBrowser andSelector:#commonSubversionMenuSlice
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser commonSubversionMenuSlice)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: 'Settings'
+ itemValue: commonMenuSubversionOpenSettings
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Flush caches'
+ itemValue: commonMenuSubversionFlushCaches
+ translateLabel: true
+ )
+ )
+ nil
+ nil
+ )
+!
+
+projectSubversionMenu
+ "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:Tools::NewSystemBrowser andSelector:#projectSubversionMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser projectSubversionMenu)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Commit'
+ itemValue: projectMenuSubversionCommit
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Update'
+ itemValue: projectMenuSubversionUpdate
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Compare'
+ translateLabel: true
+ submenuChannel: projectSubversionCompareMenu
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare')
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Merge'
+ translateLabel: true
+ submenuChannel: projectSubversionMergeMenu
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge')
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Changeset'
+ translateLabel: true
+ submenuChannel: projectSubversionChangesetMenu
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Revision log'
+ itemValue: projectMenuSubversionShowRevisionLog
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' log 'Revision log')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Branch'
+ translateLabel: true
+ submenuChannel: commonSubversionBranchMenu
+ )
+ (MenuItem
+ label: 'Browse working copy'
+ itemValue: commonMenuSubversionBrowseWorkingCopy
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'More'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Load revision...'
+ itemValue: projectMenuSubversionLoadRevision
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Remove working copy'
+ itemValue: projectMenuSubversionRemoveWorkingCopy
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Fast commit'
+ translateLabel: true
+ choice: projectMenuSubversionCommitMode
+ choiceValue: fast
+ )
+ (MenuItem
+ enabled: hasProjectSelectedSubversionRepositoryExistsAndBranchSelectedHolder
+ label: 'Full commit'
+ translateLabel: true
+ choice: projectMenuSubversionCommitMode
+ choiceValue: full
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Common Slice'
+ translateLabel: true
+ submenuChannel: commonSubversionMenuSlice
+ isMenuSlice: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ )
+ nil
+ nil
+ )
+! !
!NewSystemBrowser class methodsFor:'menu specs-toolbar'!
@@ -11641,64 +13476,34 @@
#(Menu
(
(MenuItem
- label: ''
- )
- (MenuItem
- activeHelpKey: recentlyVisitedMethods
- label: 'Recently Visited Methods'
+ activeHelpKey: goBackInGlobalHistory
+ enabled: canGoBackInGlobalHistoryAspect
+ label: 'Back (Global History)'
+ itemValue: goBackInGlobalHistory
translateLabel: true
isButton: true
- submenuChannel: findHistoryMenu
- labelImage: (ResourceRetriever ToolbarIconLibrary historyBackIcon)
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- activeHelpKey: recentChanges
- label: 'Recently Changed'
+ labelImage: (ResourceRetriever XPToolbarIconLibrary historyBackInGlobalListIcon)
+ )
+ (MenuItem
+ activeHelpKey: goBack
+ enabled: canGoBackAspect
+ label: 'Back'
+ itemValue: goBack
translateLabel: true
isButton: true
- submenuChannel: changedMenu
- labelImage: (ResourceRetriever ToolbarIconLibrary changesBrowserIcon)
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- activeHelpKey: recentClassChanges
- label: 'Recently Changed Classes'
+ labelImage: (ResourceRetriever XPToolbarIconLibrary historyBackIcon)
+ )
+ (MenuItem
+ activeHelpKey: goForward
+ enabled: canGoForwardAspect
+ label: 'Forward'
+ itemValue: goForward
translateLabel: true
isButton: true
- isVisible: false
- submenuChannel: changedClassesMenu
- labelImage: (ResourceRetriever ToolbarIconLibrary empty1x20Icon)
- showBusyCursorWhilePerforming: true
+ labelImage: (ResourceRetriever XPToolbarIconLibrary historyForwardIcon)
)
(MenuItem
label: ''
- isVisible: false
- )
- (MenuItem
- activeHelpKey: undoOperation
- enabled: hasUndoableOperations
- label: 'Undo'
- itemValue: operationsMenuUndo
- translateLabel: true
- isButton: true
- isVisible: false
- labelImage: (ResourceRetriever ToolbarIconLibrary undoIcon)
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- activeHelpKey: redoOperation
- enabled: hasUndoableOperations
- label: 'Redo'
- itemValue: operationsMenuRedo
- translateLabel: true
- isButton: true
- isVisible: false
- labelImage: (ResourceRetriever ToolbarIconLibrary redoIcon)
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- label: '-'
)
(MenuItem
activeHelpKey: createBuffer
@@ -11734,6 +13539,62 @@
)
(MenuItem
label: '-'
+ )
+ (MenuItem
+ activeHelpKey: recentChanges
+ label: 'Recently Changed'
+ translateLabel: true
+ isButton: true
+ submenuChannel: changedMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary changesBrowserIcon)
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ activeHelpKey: recentClassChanges
+ label: 'Recently Changed Classes'
+ translateLabel: true
+ isButton: true
+ isVisible: false
+ submenuChannel: changedClassesMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary empty1x20Icon)
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ activeHelpKey: bookmarks
+ label: 'Bookmarks'
+ translateLabel: true
+ isVisible: false
+ submenuChannel: boockmarksMenu
+ labelImage: (ResourceRetriever ToolbarIconLibrary bookmarks22x22)
+ )
+ (MenuItem
+ label: ''
+ isVisible: false
+ )
+ (MenuItem
+ activeHelpKey: undoOperation
+ enabled: hasUndoableOperations
+ label: 'Undo'
+ itemValue: operationsMenuUndo
+ translateLabel: true
+ isButton: true
+ isVisible: false
+ labelImage: (ResourceRetriever ToolbarIconLibrary undoIcon)
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ activeHelpKey: redoOperation
+ enabled: hasUndoableOperations
+ label: 'Redo'
+ itemValue: operationsMenuRedo
+ translateLabel: true
+ isButton: true
+ isVisible: false
+ labelImage: (ResourceRetriever ToolbarIconLibrary redoIcon)
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ label: '-'
isVisible: classWizardVisibleHolder
)
(MenuItem
@@ -11746,6 +13607,17 @@
)
(MenuItem
label: '-'
+ )
+ (MenuItem
+ label: 'Run Static Analysis (Lint)'
+ itemValue: runLint
+ nameKey: RunLint
+ translateLabel: true
+ isButton: true
+ labelImage: (ResourceRetriever ToolbarIconLibrary lint24x24Icon)
+ )
+ (MenuItem
+ label: '-'
isVisible: hasAnyTestCaseOrExecutableClassMethodOrStartableApplicationSelectedHolder
)
(MenuItem
@@ -11839,6 +13711,9 @@
labelImage: (ResourceRetriever nil addBreakPointIcon2)
)
(MenuItem
+ label: ''
+ )
+ (MenuItem
activeHelpKey: removeBreakPoint
enabled: hasMethodWithBreakPointSelectedHolder
label: 'Remove BreakPoint'
@@ -11847,15 +13722,24 @@
isButton: true
labelImage: (ResourceRetriever nil removeBreakPointIcon2)
)
- (MenuItem
- label: ''
- )
- )
- nil
- nil
- )
-
- "Modified: / 13-04-2011 / 19:04:42 / cg"
+ )
+ nil
+ nil
+ )
+! !
+
+!NewSystemBrowser class methodsFor:'queries'!
+
+hasSubversionSupport
+ |subVersionRepository|
+
+ "/ use Smalltalk-at to trick the dependency/prerequisite generator
+ subVersionRepository := Smalltalk at: #'SVN::RepositoryManager'.
+
+ ^ subVersionRepository notNil
+ and:[ subVersionRepository isLoaded
+ and:[ subVersionRepository enabled ]
+ ]
! !
!NewSystemBrowser class methodsFor:'startup'!
@@ -11934,6 +13818,18 @@
"
!
+browseProfilerStatistics: statistics
+ "launch a single class browser."
+
+ ^ self basicNew spawnProfilerStatistics: statistics in:#newBrowser.
+
+ "
+ self browseClass:Array
+ "
+
+ "Created: / 09-10-2007 / 22:03:05 / janfrog"
+!
+
open
|lastClass classHistory|
@@ -12045,6 +13941,20 @@
!NewSystemBrowser methodsFor:'aspects'!
+bookmarkHolder
+
+ ^self navigationState bookmarkHolder
+
+ "Created: / 02-06-2011 / 22:46:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+bookmarkListHolder
+
+ ^self class bookmarks
+
+ "Created: / 02-06-2011 / 22:36:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
bufferNameList
"the list of buffer-name-labels (model of the notebook)"
@@ -12160,6 +14070,22 @@
^ self navigationState infoLabelHolder
!
+messageHolder
+ "the current buffers message (in message pane)"
+
+ ^ self navigationState messageHolder
+
+ "Created: / 27-08-2010 / 22:08:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+messageSpecHolder
+ "the current buffers message (in message pane)"
+
+ ^ self navigationState messageSpecHolder
+
+ "Created: / 28-08-2010 / 11:41:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
metaToggleLabelHolder
^ self navigationState metaToggleLabelHolder
!
@@ -12180,13 +14106,13 @@
navigationState isNil ifTrue:[
navigationState := NavigationState new.
"/ the kludge below is required to allow
- "/ subSpecs to be opened in full-window (without a noteBook) as well
+ "/ subSpecs to be opened in full-window (without a noteBook) as well
"/ (without that, we get trouble accessing the codeView later ...)
browserCanvas isNil ifTrue:[
"/ opened spec as top-spec (there is no canvas)
^ navigationState.
-"/ theCanvas := self.
+"/ theCanvas := self.
"/ bldr := self builder.
"/
"/ bldr notNil ifTrue:[
@@ -12205,11 +14131,15 @@
theCanvasType := theCanvas spec.
].
navigationState canvasType:theCanvasType.
+ self updateNavigationHistory.
+ self updateBookmarkHolder.
].
^ navigationState
- "Created: / 4.2.2000 / 16:00:10 / cg"
- "Modified: / 18.2.2000 / 13:50:27 / cg"
+ "Created: / 04-02-2000 / 16:00:10 / cg"
+ "Modified: / 18-02-2000 / 13:50:27 / cg"
+ "Modified: / 27-02-2008 / 08:50:55 / janfrog"
+ "Modified: / 02-06-2011 / 22:34:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
noAllItem
@@ -12222,6 +14152,14 @@
^ self navigationState packageLabelHolder
!
+progressHolder
+ "the current buffers message (in message pane)"
+
+ ^ self navigationState progressHolder
+
+ "Created: / 28-08-2010 / 10:06:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
searchedClassNameHolder
|holder|
@@ -12297,6 +14235,95 @@
builder aspectAt:#suppressChangeSetUpdate put:aBoolean
! !
+!NewSystemBrowser methodsFor:'aspects-environment'!
+
+selectedCategoriesAsEnvironment
+ |subjects|
+
+ subjects := self selectedCategoriesValue.
+ ^ (CategoryEnvironment new)
+ categories:subjects;
+ label:(subjects size = 1
+ ifTrue:[ 'class category' , subjects anyOne ]
+ ifFalse:[ subjects size printString , ' class categories' ])
+
+ "Created: / 17-04-2010 / 10:29:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selectedClassesAsEnvironment
+ |subjects|
+
+ subjects := self selectedClassesValue.
+ ^ (ClassEnvironment new)
+ classes:subjects;
+ label:(subjects size = 1
+ ifTrue:[ 'class ' , subjects anyOne fullName ]
+ ifFalse:[ subjects size printString , ' classes' ])
+ "Created: / 24-02-2009 / 11:08:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+selectedCodeComponentsAsEnvironment
+
+ | classes methods components |
+ components := self selectedCodeComponents.
+ classes := ClassEnvironment new.
+ methods := SelectorEnvironment new.
+ components do:
+ [:each|
+ each isMethod ifTrue:[methods addClass: each mclass selector: each selector].
+ each isBehavior ifTrue:[classes addClass: each theNonMetaclass; addClass: each theMetaclass]].
+ "Kludge"
+ ^methods isEmpty
+ ifFalse:[methods]
+ ifTrue:[classes].
+
+ "Created: / 17-04-2010 / 10:09:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selectedEnvironment
+
+ | classes methods components |
+ components := self selectedCodeComponents.
+ classes := ClassEnvironment new.
+ methods := SelectorEnvironment new.
+ components do:
+ [:each|
+ each isMethod ifTrue:[methods addClass: each mclass selector: each selector].
+ each isBehavior ifTrue:[classes addClass: each theNonMetaclass; addClass: each theMetaclass]].
+ "Kludge"
+ ^methods isEmpty
+ ifFalse:[methods]
+ ifTrue:[classes].
+!
+
+selectedProtocolsAsEnvironment
+ |classes protocols|
+
+ classes := self selectedClassesValue.
+ classes size ~= 1 ifTrue:[self error:'Multiple selected classes are not yet supported'].
+ protocols := self selectedProtocolsValue.
+
+ ^ ProtocolEnvironment new
+ class: classes anyOne
+ protocols: protocols;
+ label:(protocols size = 1
+ ifTrue:[ 'protocol' , protocols anyOne , ' in ' , classes anyOne name ]
+ ifFalse:[ protocols size printString , ' protocols in ' , classes anyOne name ])
+
+ "Created: / 17-04-2010 / 10:57:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selectedSelectorsAsEnvironment
+
+ | methods env |
+ methods := self selectedMethods value.
+ env := SelectorEnvironment onEnvironment: BrowserEnvironment new.
+ methods do:[:mthd|env addClass: mthd mclass selector: mthd selector].
+ ^env
+
+ "Created: / 16-07-2010 / 09:25:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!NewSystemBrowser methodsFor:'aspects-kludges'!
metaToggle
@@ -12480,6 +14507,12 @@
"Created: / 18.8.2000 / 14:15:07 / cg"
!
+lintRuleListGenerator
+ ^self navigationState lintRuleListGenerator
+
+ "Created: / 22-07-2009 / 15:28:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
meta
^ self navigationState meta
@@ -12497,12 +14530,25 @@
"Created: / 18.8.2000 / 14:26:09 / cg"
!
+navigationHistory
+
+ ^self navigationState navigationHistory
+
+ "Created: / 22-02-2008 / 10:19:49 / janfrog"
+!
+
packageFilter
^ self navigationState packageFilter
"Created: / 24.2.2000 / 23:28:06 / cg"
!
+profilerStatistics
+ ^self navigationState profilerStatistics
+
+ "Created: / 09-10-2007 / 21:57:15 / janfrog"
+!
+
projectListGenerator
^ self navigationState projectListGenerator
@@ -12530,6 +14576,12 @@
^ self selectedClasses value ? #()
!
+selectedLintRules
+ ^ self navigationState selectedLintRules
+
+ "Created: / 22-07-2009 / 15:28:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
selectedMethods
^ self navigationState selectedMethods
@@ -13045,6 +15097,31 @@
!NewSystemBrowser methodsFor:'aspects-presentation'!
+bookmarkBarVisibleHolder
+ |holder|
+
+ (holder := builder bindingAt:#bookmarkBarVisibleHolder) isNil ifTrue:[
+ holder := UserPreferences current showBookmarkBar asValue.
+ builder aspectAt:#bookmarkBarVisibleHolder put: holder.
+ holder addDependent:self.
+ ].
+ ^ holder
+
+ "Modified: / 31-10-2001 / 11:09:32 / cg"
+ "Created: / 18-05-2011 / 17:22:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+browsletShowHideLabelHolder
+ <resource: #uiAspect>
+
+ browsletShowHideLabelHolder isNil ifTrue:[
+ browsletShowHideLabelHolder := self class showBrowsletIcon asValue
+ ].
+ ^ browsletShowHideLabelHolder.
+
+ "Modified: / 22-09-2010 / 22:55:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
codeInfoVisible
|holder|
@@ -13282,14 +15359,14 @@
|holder|
(holder := builder bindingAt:#showMethodTemplate) isNil ifTrue:[
- holder := (DefaultShowMethodTemplate ? true) asValue.
+ holder := (AspectAdaptor forAspect: #showMethodTemplate)
+ subject: UserPreferences current.
builder aspectAt:#showMethodTemplate put: holder.
- holder onChangeEvaluate:[ DefaultShowMethodTemplate := holder value ].
- ].
- ^ holder
-
- "Modified: / 18.2.2000 / 17:34:18 / cg"
- "Created: / 18.2.2000 / 17:44:17 / cg"
+ ].
+ ^ holder
+
+ "Created: / 18-02-2000 / 17:44:17 / cg"
+ "Modified: / 12-02-2010 / 12:08:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
showMethodTypeIcon
@@ -13317,6 +15394,31 @@
^ holder
!
+showPlugin
+
+ ^self navigationState pluginVisibleHolder value
+
+ "
+ |holder|
+
+ (holder := builder bindingAt:#showPlugin) isNil ifTrue:[
+ holder := false asValue.
+ builder aspectAt:#showPlugin put: holder.
+ ].
+ ^ holder
+ "
+
+ "Modified: / 04-10-2010 / 08:19:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showPlugin: aBoolean
+
+ self navigationState pluginVisibleHolder value: aBoolean.
+ self updatePluginVisibility
+
+ "Created: / 03-10-2010 / 18:50:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
showPseudoProtocols
|holder|
@@ -13384,6 +15486,12 @@
"Created: / 18.2.2000 / 17:44:17 / cg"
"Modified: / 31.10.2001 / 11:09:32 / cg"
+!
+
+useGlobalHistory
+ ^ true
+
+ "Created: / 02-07-2011 / 18:27:29 / cg"
! !
!NewSystemBrowser methodsFor:'aspects-queries'!
@@ -13433,6 +15541,38 @@
^ self hasSingleLoadedClassSelectedAndMultipleVariablesSelectedHolder
!
+canGoBackAspect
+
+ | aspect |
+ aspect := self objectAttributeAt: #canGoBackAspect.
+ aspect ifNil:
+ [aspect :=
+ (AspectAdaptor forAspect:#canGoBack)
+ subjectChannel: self navigationHistory;
+ yourself.
+ self objectAttributeAt: #canGoBackAspect put: aspect].
+ ^aspect
+
+ "Modified: / 21-07-2009 / 22:39:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 01-09-2009 / 22:38:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+canGoForwardAspect
+
+ | aspect |
+ aspect := self objectAttributeAt: #canGoForwardAspect.
+ aspect ifNil:
+ [aspect :=
+ (AspectAdaptor forAspect:#canGoForward)
+ subjectChannel: self navigationHistory;
+ yourself.
+ self objectAttributeAt: #canGoForwardAspect put: aspect].
+ ^aspect
+
+ "Modified: / 21-07-2009 / 22:39:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 01-09-2009 / 22:39:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
canInsertSuperclass
|selected|
@@ -14445,6 +16585,13 @@
and:[ app methodList size > 0 ]
!
+hasMonticelloSupport
+
+ ^(Smalltalk at: #MCSourceCodeManager) notNil
+
+ "Created: / 14-09-2010 / 22:34:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
hasMultipleClassesSelected
^ self selectedClasses value size > 1
!
@@ -14785,6 +16932,15 @@
"Created: / 4.2.2000 / 22:09:02 / cg"
!
+hasProjectSelectedMonticelloRepositoryExistsHolder
+
+ ^[self hasProjectSelected and:
+ [(Smalltalk at: #MCRepositoryGroup) notNil and:
+ [(Smalltalk at: #MCRepositoryGroup) default repositories size > 0]]]
+
+ "Created: / 14-09-2010 / 22:37:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
hasProjectSelectedSubversionRepositoryExistsHolder
^ [ self hasProjectSelected
and:[self selectedProjects value size = 1
@@ -14895,12 +17051,12 @@
^ self hasClassSelected
and:[self selectedClasses value
contains:[:cls |
- cls isLoaded
- and:[cls theNonMetaclass isAbstract not
+ cls isLoaded
+ and:[(cls theNonMetaclass askFor:#isAbstract) not
and:[ cls inheritsFrom:SharedPool ]]] ]
"Created: / 25-10-2006 / 09:23:07 / cg"
- "Modified: / 27-04-2010 / 13:01:57 / cg"
+ "Modified: / 29-06-2011 / 21:03:43 / cg"
!
hasSharedPoolClassSelectedHolder
@@ -15342,19 +17498,7 @@
!
hasSubversionSupport
- "is there support for the subversion (svn) source code manager?"
-
- |subVersionRepository|
-
- "/ use Smalltalk-at to trick the dependency/prerequisite generator
- subVersionRepository := Smalltalk at: #'SVN::RepositoryManager'.
-
- ^ subVersionRepository notNil
- and:[ subVersionRepository isLoaded
- and:[ subVersionRepository enabled ]
- ]
-
- "Modified: / 20-04-2011 / 17:14:25 / cg"
+ ^ self class hasSubversionSupport
!
hasTemporaryVariableSelectedInCodeView
@@ -16319,6 +18463,12 @@
self toolBarVisibilityChanged.
^ self
].
+
+ changedObject == self bookmarkBarVisibleHolder ifTrue:[
+ self bookmarkBarVisibilityChanged.
+ ^ self
+ ].
+
changedObject == self stringSearchToolVisibleHolder ifTrue:[
self stringSearchToolVisibilityChanged.
^ self
@@ -16389,6 +18539,18 @@
super update:something with:aParameter from:changedObject
"Modified: / 20-11-2006 / 12:29:59 / cg"
+ "Modified: / 18-05-2011 / 17:30:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateBookmarkHolder
+
+ | bookmarkBar |
+
+ bookmarkBar := self componentAt:#Bookmarks.
+ bookmarkBar ifNil:[^self].
+ bookmarkBar application bookmarkHolder: self navigationState bookmarkHolder.
+
+ "Created: / 02-06-2011 / 22:34:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
updateCodeInfoAndStringSearchToolVisibility
@@ -16475,6 +18637,89 @@
"Modified: / 13-10-2006 / 11:56:44 / cg"
!
+updateNavigationHistory
+
+ self canGoBackAspect subjectChannel: self navigationHistory.
+ self canGoForwardAspect subjectChannel: self navigationHistory
+
+ "Created: / 27-02-2008 / 08:42:56 / janfrog"
+!
+
+updatePluginVisibility
+
+ | pluginVisible frame pluginApp pluginView |
+
+ pluginVisible := self navigationState pluginVisibleHolder value.
+ frame := self navigationState codePaneAndPluginView.
+ frame ifNil:[^self].
+ self showPlugin value ifTrue: [
+ pluginApp := BrowsletCanvas new.
+ pluginApp masterApplication: self.
+ pluginView := ApplicationSubView new client: pluginApp.
+ frame addSubView: pluginView.
+ frame relativeCorners: self navigationState codePaneAndPluginViewRelativeCorners.
+ ] ifFalse: [
+ self navigationState codePaneAndPluginViewRelativeCorners: frame relativeCorners.
+ pluginView := frame subViews second.
+ pluginView destroy.
+ ].
+ frame resizeSubviews
+
+
+
+ "
+
+ stringSearchToolVisible := self stringSearchToolVisibleHolder value.
+ codeInfoVisible := false.
+
+ cFrame := self noteBookView.
+ cFrame isNil ifTrue:[^ self].
+
+ cFrame notNil ifTrue:[
+ (stringSearchToolVisible not and:[codeInfoVisible not]) ifTrue:[
+ cBottomOffset := 0.
+ sTopOffset := 0.
+ sBottomOffset := 0.
+ ].
+ (stringSearchToolVisible not and:[codeInfoVisible]) ifTrue:[
+ cBottomOffset := -25.
+ sTopOffset := 0.
+ sBottomOffset := 0.
+ ].
+ (stringSearchToolVisible and:[codeInfoVisible not]) ifTrue:[
+ cBottomOffset := -25.
+ sTopOffset := -24.
+ sBottomOffset := 0.
+ ].
+ (stringSearchToolVisible and:[codeInfoVisible]) ifTrue:[
+ cBottomOffset := -50.
+ sTopOffset := -49.
+ sBottomOffset := -25.
+ ].
+ cFrame layout notNil ifTrue:[
+ cFrame layout bottomOffset:cBottomOffset.
+ ].
+ cFrame container notNil ifTrue:[
+ cFrame containerChangedSize.
+ ].
+ sFrame := self stringSearchToolView.
+
+ sFrame notNil ifTrue:[
+ sFrame layout notNil ifTrue:[
+ sTopOffset notNil ifTrue:[sFrame layout topOffset:sTopOffset].
+ sBottomOffset notNil ifTrue:[sFrame layout bottomOffset:sBottomOffset].
+ sFrame container notNil ifTrue:[
+ sFrame containerChangedSize.
+ ].
+ ].
+ ].
+ ].
+ "
+
+ "Created: / 03-10-2010 / 19:03:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-10-2010 / 18:39:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
updateTestRunnerVisibility
self hasAnyTestCaseSelectedHolder value:(self hasAnyTestCaseSelected)
@@ -16522,6 +18767,17 @@
^ super flyByHelpTextFor:aComponent
! !
+!NewSystemBrowser methodsFor:'history'!
+
+addToHistory: class selector: selector
+ self class addToHistory: class selector: selector.
+ ^ self navigationState addToHistory: class selector: selector
+
+ "Created: / 22-02-2008 / 09:00:56 / janfrog"
+ "Modified: / 25-10-2009 / 15:06:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-07-2011 / 18:33:22 / cg"
+! !
+
!NewSystemBrowser methodsFor:'menu actions-browse'!
browseImplementorsOf
@@ -17886,9 +20142,10 @@
browseMenuRecentChanges
"launch a changeSet browser"
- ChangeSetBrowser open
-
- "Created: / 9.11.2001 / 02:22:08 / cg"
+ "/ ChangeSetBrowser open
+ UserPreferences current changeSetBrowserClass open
+
+ "Created: / 09-11-2001 / 02:22:08 / cg"
!
browseMenuReferencesToGlobal
@@ -18491,7 +20748,9 @@
nr := selectedBuffer value.
(nr notNil and:[nr between:1 and:buffers size]) ifTrue:[
navigationState := buffers at:selectedBuffer value.
- self browserCanvas value:(navigationState canvas)
+ self browserCanvas value:(navigationState canvas).
+ self updateNavigationHistory.
+ self updateBookmarkHolder.
].
"/ force update of the menus orgMode aspect
@@ -18504,7 +20763,9 @@
bufferUsageOrder removeIdentical:navigationState ifAbsent:nil.
bufferUsageOrder addFirst:navigationState.
- "Modified: / 24.2.2000 / 18:52:16 / cg"
+ "Modified: / 24-02-2000 / 18:52:16 / cg"
+ "Modified: / 27-02-2008 / 08:43:39 / janfrog"
+ "Modified: / 02-06-2011 / 22:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
createBuffer
@@ -18555,9 +20816,14 @@
nr := buffers size.
self selectedBuffer value:nr.
+ self updateNavigationHistory.
+ self updateBookmarkHolder.
+
^ navigationState.
- "Modified: / 29-09-2006 / 22:26:19 / cg"
+ "Modified: / 29-02-2000 / 10:40:04 / cg"
+ "Modified: / 27-02-2008 / 08:43:21 / janfrog"
+ "Modified: / 02-06-2011 / 22:34:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
destroyTab:tabIndex
@@ -18582,6 +20848,18 @@
!NewSystemBrowser methodsFor:'menu actions-category'!
+categoryCheckMenuSmalllintCheck: what
+ "perform all checks on the selected class(es)."
+
+ self
+ smalllintCheck:self selectedCategoriesAsEnvironment
+ against: what
+
+ "Modified: / 28-12-2008 / 14:42:01 / bazantj <enter your email here>"
+ "Modified: / 13-01-2009 / 13:20:48 / Jiri Bazant <bazanj2@fel.cvut.cz>"
+ "Created: / 17-04-2010 / 10:32:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
categoryMenuCheckInEach
"check a class into the source repository"
@@ -19107,6 +21385,17 @@
"Modified: / 12-09-2006 / 15:03:50 / cg"
!
+categoryMenuRewrite
+
+ | classes |
+ classes := self selectedClassesInCategories: self selectedCategories value.
+ MethodRewriter new
+ classes: classes;
+ open
+
+ "Created: / 21-07-2007 / 07:06:53 / janfrog"
+!
+
categoryMenuSpawnBrowser
"open a browser showing the selected categories only"
@@ -19780,20 +22069,24 @@
Parser warningSignal
handle:[:ex | self halt ]
do:[
- eachClass compilerClass
- compile:aMethod source
- forClass:aMethod mclass
- inCategory:'others'
- notifying:warningCollector
- install:false
- skipIfSame:false
- silent:false
+ aMethod source isEmpty ifTrue:[
+ outStream nextPutAll:'No source for method: ',aMethod whoString
+ ] ifFalse:[
+ eachClass compilerClass
+ compile:aMethod source
+ forClass:aMethod mclass
+ inCategory:'others'
+ notifying:warningCollector
+ install:false
+ skipIfSame:false
+ silent:false
+ ]
]
].
].
"Created: / 02-11-2010 / 13:11:17 / cg"
- "Modified: / 02-11-2010 / 20:02:53 / cg"
+ "Modified: / 01-07-2011 / 17:33:33 / cg"
!
checkCompilabilityOfAll:aCollectionOfClasses errorsOnly:errorsOnly
@@ -19821,6 +22114,18 @@
"Created: / 02-11-2010 / 13:11:47 / cg"
!
+classCheckMenuSmalllintCheck: what
+ "perform all checks on the selected class(es)."
+
+ self
+ smalllintCheck:self selectedClassesAsEnvironment
+ against: what
+
+ "Modified: / 28-12-2008 / 14:42:01 / bazantj <enter your email here>"
+ "Modified: / 13-01-2009 / 13:20:48 / Jiri Bazant <bazanj2@fel.cvut.cz>"
+ "Created: / 17-04-2010 / 10:40:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
classClassDefinitionTemplateFor:aClass in:cat asNamespace:isNameSpace private:isPrivate
"common helper for newClass and newSubclass
- show a template to define a subclass of aClass in category cat.
@@ -20828,6 +23133,34 @@
"Created: / 11.10.2001 / 22:26:08 / cg"
!
+classMenuGenerateVisitorMethods2
+ "create visitor and visited methods"
+
+ |visitorClassName visitorClass|
+
+ visitorClassName := Dialog
+ request:'Name of Visitor class'
+ initialAnswer:(LastVisitorClassName ? '')
+ okLabel:(resources string:'Create')
+ title:'Visitor class'
+ onCancel:nil
+ list:#()
+ entryCompletionBlock:(self classNameEntryCompletionBlock).
+
+ visitorClass := self classIfValidNonMetaClassName:visitorClassName.
+ visitorClass isNil ifTrue:[^ nil].
+
+ LastVisitorClassName := visitorClassName.
+
+ self
+ generateUndoableChangeOverSelectedClasses:'Generate Visitor Pattern'
+ via:[:generator :eachClass |
+ generator createVisitorMethodsIn:eachClass theNonMetaclass andVisitorClass2:visitorClass
+ ].
+
+ "Created: / 07-07-2009 / 20:41:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
classMenuHierarchy
"show a classes hierarchy"
@@ -21464,6 +23797,14 @@
"/ self codeAspect:#newSharedPool.
!
+classMenuNewSmalltalkClass
+ "create a class-definition template in codeview"
+
+ self classMenuNewClass: Smalltalk::Metaclass
+
+ "Created: / 30-08-2009 / 20:14:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
classMenuNewSubclass
"create a class-definition template in codeview"
@@ -22028,6 +24369,16 @@
"Modified: / 15-08-2010 / 11:54:23 / cg"
!
+classMenuRewrite
+
+
+ MethodRewriter new
+ classes: self selectedClasses value;
+ open
+
+ "Created: / 21-07-2007 / 07:02:46 / janfrog"
+!
+
classMenuSaveDocumentationAs
"write classes documentation to a file"
@@ -24552,7 +26903,7 @@
source := self getClassSourceFor:currentClass revision:rev.
changeSet := ChangeSet fromStream:source readStream.
- ChangeSetBrowser openOn:changeSet.
+ (UserPreferences current changeSetBrowserClass) openOn:changeSet.
"Created: / 17-02-2011 / 10:29:59 / cg"
!
@@ -27389,8 +29740,17 @@
runTestCasesWithDebug:withDebug protocols:protocolsOrNil
"run selected testcases"
-
- |t|
+
+ | t |
+
+ UserPreferences current showEmbeddedTestRunnerInBrowser ifTrue:
+ [| embeddedTestRunner |
+ embeddedTestRunner := self navigationState applicationOfComponent: #TestRunnerEmbedded.
+ embeddedTestRunner ifNotNil:
+ [withDebug
+ ifTrue:[embeddedTestRunner debug]
+ ifFalse:[embeddedTestRunner run].
+ ^self]].
[
t := Time millisecondsToRun:[
@@ -27535,6 +29895,17 @@
self updateSpecialCodeEditorVisibility
! !
+!NewSystemBrowser methodsFor:'menu actions-lint'!
+
+runLint
+
+ self
+ smalllintCheck: self selectedCodeComponentsAsEnvironment
+ against: #smalllintRules
+
+ "Modified: / 17-04-2010 / 10:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!NewSystemBrowser methodsFor:'menu actions-methodList'!
methodListMenuCheckInClass
@@ -28000,7 +30371,7 @@
(answer isNil) ifTrue:[ ^ self ].
answer == #browse ifTrue:[
- ChangeSetBrowser openOn:fullPatchSet.
+ (UserPreferences current changeSetBrowserClass) openOn:fullPatchSet.
^ self.
].
@@ -28017,7 +30388,7 @@
].
"Created: / 08-02-2011 / 09:44:36 / cg"
- "Modified: / 08-02-2011 / 11:33:16 / cg"
+ "Modified: / 01-07-2011 / 16:34:21 / cg"
!
generateProjectDefinitionsIn:classes
@@ -28266,10 +30637,13 @@
bindings at:#obsoleteContainersPopupMenu
put:self class obsoleteContainersPopupMenu.
bindings at:#dialogMenuPerformer put:menuPerformer.
- SimpleDialog new openSpec:self class repositoryConsistencyDialogSpec
+
+ SimpleDialog new
+ openSpec:(self class repositoryConsistencyDialogSpec)
withBindings:bindings
"Modified: / 23-08-2006 / 14:08:28 / cg"
+ "Modified (format): / 01-07-2011 / 17:16:31 / cg"
!
projectDefinitionClassesForSelectedProjects
@@ -30510,6 +32884,18 @@
printStream close
!
+protocolCheckMenuSmalllintCheck: what
+ "perform all checks on the selected class(es)."
+
+ self
+ smalllintCheck:self selectedProtocolsAsEnvironment
+ against: what
+
+ "Modified: / 28-12-2008 / 14:42:01 / bazantj <enter your email here>"
+ "Modified: / 13-01-2009 / 13:20:48 / Jiri Bazant <bazanj2@fel.cvut.cz>"
+ "Created: / 17-04-2010 / 10:49:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
protocolMenuCopyToClass
"copy all methods in the selected protocols to some other class."
@@ -31564,8 +33950,10 @@
sel := mthd selector.
self class addToBookMarks:cls selector:sel
] ifFalse:[
- self warn:'no method selected'
- ]
+ self class addToBookMarks:cls selector:nil
+ ]
+
+ "Modified: / 05-05-2011 / 12:20:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
searchMenuFindClass
@@ -31754,9 +34142,9 @@
searchMenuRemoveFromBookmarks
"remove the currently selected method/selector"
- |cls mthd sel meta|
-
- BookMarks size == 0 ifTrue:[^ self].
+ |cls mthd sel meta bookmarks |
+
+ (bookmarks := self class bookmarks) size == 0 ifTrue:[^ self].
cls := self anySelectedClass.
mthd := self anySelectedMethod.
@@ -31767,7 +34155,7 @@
sel := mthd selector.
meta := cls isMetaclass.
cls := cls theNonMetaclass.
- BookMarks := BookMarks
+ bookmarks := bookmarks
select:[:each |
meta ~~ each meta
or:[each className ~= cls name
@@ -31776,6 +34164,8 @@
] ifFalse:[
self warn:'no method selected'
]
+
+ "Modified: / 02-06-2011 / 11:35:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!NewSystemBrowser methodsFor:'menu actions-selector'!
@@ -32639,6 +35029,18 @@
"/ cancel: [nil]
!
+selectorCheckMenuSmalllintCheck: what
+ "perform all checks on the selected class(es)."
+
+ self
+ smalllintCheck:self selectedSelectorsAsEnvironment
+ against: what
+
+ "Modified: / 28-12-2008 / 14:42:01 / bazantj <enter your email here>"
+ "Modified: / 13-01-2009 / 13:20:48 / Jiri Bazant <bazanj2@fel.cvut.cz>"
+ "Created: / 17-04-2010 / 10:49:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
selectorMenuAddParameter
self codeMenuAddParameter
!
@@ -32673,10 +35075,13 @@
^ self
].
- dummyChangeSet := ChangeSet new addAll:previousMethods.
+ dummyChangeSet := ChangeSet new addAll:previousMethods; yourself.
dummyChangeSet reverse. "/ youngest first.
- browser := ChangeSetBrowser openOn:dummyChangeSet.
+ browser := (UserPreferences current changeSetBrowserClass) openOn:dummyChangeSet.
browser readOnly:true.
+
+ "Modified: / 13-06-2011 / 11:32:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 01-07-2011 / 16:34:25 / cg"
!
selectorMenuBrowseRepositoryVersions
@@ -32875,12 +35280,12 @@
"/ Transcript showCR:('it took %1 seconds' bindWith:(t /1000)printString).
self activityNotification:nil.
- browser := ChangeSetBrowser openOn:previousMethods.
+ browser := (UserPreferences current changeSetBrowserClass) openOn:previousMethods.
browser window label:('Revisions of ' , mclass name , ' ' , mselector).
browser readOnly:true.
].
- "Modified: / 12-09-2006 / 14:23:24 / cg"
+ "Modified: / 01-07-2011 / 16:34:29 / cg"
!
selectorMenuChangePrivacyTo:privacySymbol
@@ -33784,6 +36189,16 @@
"Modified: / 17.2.2000 / 23:14:14 / cg"
!
+selectorMenuNewMethod: language
+ "show a template for a new method"
+
+ self setAcceptActionForMethodUsingLanguage: language.
+ ^ self showCode:(self showMethodTemplate value ifTrue:[self methodTemplate] ifFalse:[''])
+
+ "Modified: / 17-02-2000 / 23:14:14 / cg"
+ "Created: / 30-12-2009 / 19:37:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
selectorMenuNewSpecMethodWithType:specTypeSymbol
"open a painter for a new specTypeSymbol-spec method.
specTypeSymbol is one of #image, #canvas or #menu"
@@ -35217,7 +37632,33 @@
"Modified: / 1.3.2000 / 21:03:34 / cg"
! !
-
+!NewSystemBrowser methodsFor:'menu actions-subversion'!
+
+commonMenuSubversionOpenSettings
+
+ ^SVN::ConfigurationApp open
+
+ "Modified: / 26-03-2010 / 20:01:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NewSystemBrowser methodsFor:'menu actions-subversion-class'!
+
+classMenuSubversionShowRevisionLog
+
+ | pkg classes branch path |
+ classes := self selectedClasses value.
+ pkg := self theSingleSelectedProjectFromClasses.
+ path := classes size == 1
+ ifTrue: [SVN::Repository containerNameForClass: classes anyOne]
+ ifFalse:[''].
+ branch := (self svnRepositoryFor: pkg) branch.
+ SVN::RevisionLogBrowser new
+ branch: branch;
+ path: path;
+ open
+
+ "Modified: / 25-06-2010 / 10:08:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
!NewSystemBrowser methodsFor:'menu actions-variables'!
@@ -36466,6 +38907,32 @@
aBlock value:selectedVariable value:isClassVar
! !
+!NewSystemBrowser methodsFor:'menu-actions-other'!
+
+goBack
+
+ self switchToHistoryEntry: self navigationHistory goBack
+
+ "Created: / 22-02-2008 / 10:16:30 / janfrog"
+ "Modified: / 22-02-2008 / 17:18:43 / janfrog"
+!
+
+goBackInGlobalHistory
+
+ self switchToHistoryEntry: self class classHistory goBack
+
+ "Modified: / 22-02-2008 / 17:18:43 / janfrog"
+ "Created: / 03-07-2011 / 16:20:18 / cg"
+!
+
+goForward
+
+ self switchToHistoryEntry: self navigationHistory goForward
+
+ "Created: / 22-02-2008 / 10:16:30 / janfrog"
+ "Modified: / 22-02-2008 / 17:18:56 / janfrog"
+! !
+
!NewSystemBrowser methodsFor:'menus-dynamic'!
boockmarksMenu
@@ -36480,31 +38947,33 @@
m addItem:item.
item value:#'searchMenuAddToBookmarks'.
- BookMarks size > 0 ifTrue:[
- item := MenuItem label:(resources string:'Remove Bookmark').
- m addItem:item.
- item value:#'searchMenuRemoveFromBookmarks'.
-
- m addSeparator.
-
- BookMarks do:[:entry |
- |item name sel|
-
- name := entry className.
- (sel := entry selector) notNil ifTrue:[
- name := name , ' ' , sel.
- ].
- item := MenuItem label:name.
- m addItem:item.
- item value:#'switchToBookmarkEntry:'.
- item argument:entry.
- ].
- ].
+"/ BookMarks size > 0 ifTrue:[
+"/ item := MenuItem label:(resources string:'Remove Bookmark').
+"/ m addItem:item.
+"/ item value:#'searchMenuRemoveFromBookmarks'.
+"/
+"/ m addSeparator.
+"/
+"/ self bookmarksHolder value do:[:entry |
+"/ |item name icon sel|
+"/
+"/ name := entry label.
+"/ (icon := entry icon) isNil ifFalse:
+"/ [name := LabelAndIcon label: name icon: icon].
+"/
+"/ item := MenuItem label:name.
+"/
+"/ m addItem:item.
+"/ item value:#'switchToBookmarkEntry:'.
+"/ item argument:entry.
+"/ ].
+"/ ].
m findGuiResourcesIn:self.
m
].
- "Modified: / 2.11.2001 / 09:33:41 / cg"
+ "Modified: / 02-11-2001 / 09:33:41 / cg"
+ "Modified: / 23-05-2011 / 10:29:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
browseClassExtensionsMenu
@@ -36816,7 +39285,7 @@
<resource: #programMenu>
- |shiftedMenu codeView menu menuOthers sensor|
+ |shiftedMenu codeView menu sensor refactorItem menuOthers|
shiftedMenu := self class shiftedCodeViewPopUpMenu decodeAsLiteralArray.
shiftedMenu receiver:self.
@@ -36832,25 +39301,25 @@
menu := codeView editMenu.
- sensor ctrlDown ifTrue:[
- (menu isKindOf:MenuPanel) ifTrue:[
+"/ sensor ctrlDown ifTrue:[
+"/ (menu isKindOf:MenuPanel) ifTrue:[
+"/ "/ a newStyle menuPanel
+"/ self shouldImplement.
+"/ ] ifFalse:[
+"/ "/ an oldStyle popUpMenu
+"/ menuOthers := menu.
+"/ ]
+"/ ] ifFalse:[
+ (menu isKindOf:Menu) ifTrue:[
"/ a newStyle menuPanel
- self shouldImplement.
- ] ifFalse:[
- "/ an oldStyle popUpMenu
- menuOthers := menu.
- ]
- ] ifFalse:[
- (menu isKindOf:MenuPanel) ifTrue:[
- "/ a newStyle menuPanel
- self shouldImplement.
+ menu atMenuItemLabeled:'Refactor' putSubmenu:shiftedMenu visible:true.
] ifFalse:[
"/ an oldStyle popUpMenu
"/ this is a kludge...
shiftedMenu := shiftedMenu asOldStylePopUpMenuFor:self.
"/ would like to add the shifted-menu here
menu menuView
- addLabels:(Array with:'-' with:'Code')
+ addLabels:(Array with:'-' with:'Refactor')
selectors:#( nil refactorings)
accelerators:#(nil 'Shift')
after:#accept.
@@ -36858,24 +39327,27 @@
menuOthers := menu subMenuAt:#others.
].
- ].
-
- sensor shiftDown ifFalse:[
- menuOthers notNil ifTrue:[
- menuOthers menuView
- addLabels:(Array with:'Response to it')
- selectors:#( browseResponseToIt)
- accelerators:#( nil )
- after:#browseReferencesToIt.
- menuOthers actionAt:#browseResponseToIt put:[ self browseResponseToIt ].
-"/ hasLocalSelectorSelectedInCodeView takes too long...
- self hasSelectionInCodeView "hasLocalSelectorSelectedInCodeView" ifFalse:[
- menuOthers disable:#browseResponseToIt
- ].
- ].
- ].
+"/ ].
+
+"/ sensor shiftDown ifFalse:[
+"/ menuOthers notNil ifTrue:[
+"/ menuOthers menuView
+"/ addLabels:(Array with:'Response to it')
+"/ selectors:#( browseResponseToIt)
+"/ accelerators:#( nil )
+"/ after:#browseReferencesToIt.
+"/ menuOthers actionAt:#browseResponseToIt put:[ self browseResponseToIt ].
+"/"/ hasLocalSelectorSelectedInCodeView takes too long...
+"/ self hasSelectionInCodeView "hasLocalSelectorSelectedInCodeView" ifFalse:[
+"/ menuOthers disable:#browseResponseToIt
+"/ ].
+"/ ].
+"/ ].
^ menu
+
+ "Modified: / 18-10-2008 / 18:52:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 30-06-2011 / 10:47:03 / cg"
!
compareClassWithSmallTeamVersionMenu
@@ -37004,6 +39476,79 @@
].
!
+goBackInGlobalHistoryMenu
+ <resource: #programMenu>
+
+ ^ self goBackMenuFor:self class classHistory
+
+ "Modified: / 27-02-2008 / 11:54:08 / janfrog"
+ "Created: / 02-07-2011 / 18:39:52 / cg"
+!
+
+goBackMenu
+ <resource: #programMenu>
+
+ ^ self goBackMenuFor:self navigationHistory
+
+ "Created: / 22-02-2008 / 16:55:18 / janfrog"
+ "Modified: / 27-02-2008 / 11:54:08 / janfrog"
+ "Modified (format): / 03-07-2011 / 13:53:12 / cg"
+!
+
+goBackMenuFor:aHistory
+ <resource: #programMenu>
+
+ | menu |
+
+ menu := Menu new.
+ aHistory goBackItems do:
+ [:historyEntry|
+ menu addItem:
+ (MenuItem new
+ label: historyEntry displayString;
+ value:[self switchToHistoryEntry: historyEntry])].
+ ^menu
+
+ "Modified: / 27-02-2008 / 11:54:08 / janfrog"
+ "Created: / 02-07-2011 / 18:39:15 / cg"
+!
+
+goForwardInGlobalHistoryMenu
+ <resource: #programMenu>
+
+ ^ self goForwardMenuFor:self class classHistory
+
+ "Created: / 03-07-2011 / 13:52:53 / cg"
+!
+
+goForwardMenu
+ <resource: #programMenu>
+
+ ^ self goForwardMenuFor:self navigationHistory
+
+ "Created: / 22-02-2008 / 16:55:18 / janfrog"
+ "Modified: / 27-02-2008 / 11:54:27 / janfrog"
+ "Modified: / 03-07-2011 / 13:53:29 / cg"
+!
+
+goForwardMenuFor:aHistory
+ <resource: #programMenu>
+
+ | menu |
+
+ menu := Menu new.
+ aHistory goForwardItems do:
+ [:historyEntry|
+ menu addItem:
+ (MenuItem new
+ label: historyEntry displayString;
+ value:[self switchToHistoryEntry: historyEntry])].
+ ^menu
+
+ "Modified: / 27-02-2008 / 11:54:27 / janfrog"
+ "Created: / 03-07-2011 / 13:52:06 / cg"
+!
+
implementedMessagesMenu
^ [
self
@@ -37331,6 +39876,34 @@
].
!
+selectorMenuNewSlice
+
+ |m allLanguages|
+
+ allLanguages := OrderedCollection new.
+ ProgrammingLanguage allDo:[:eachLanguage |
+ eachLanguage isSmalltalk ifFalse:[
+ allLanguages add:eachLanguage
+ ]
+ ].
+ allLanguages sort:[:a :b | a name < b name].
+
+ m := Menu new.
+ m addItem:(MenuItem
+ label:'Smalltalk method'
+ value:[self selectorMenuNewMethod: SmalltalkLanguage instance]).
+
+ allLanguages do:[:eachLanguage |
+ m addItem:(MenuItem
+ label:(eachLanguage name) , ' method'
+ value:[self selectorMenuNewMethod: eachLanguage])
+
+ ].
+ ^ m
+
+ "Created: / 30-12-2009 / 19:43:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
sentMessagesMenu
^ [
self
@@ -37355,6 +39928,27 @@
"Modified: / 05-09-2006 / 10:33:49 / cg"
!
+toolBarMenu
+
+ <resource: #programMenu>
+
+ | menu |
+ menu := Menu decodeFromLiteralArray: self class toolBarMenu.
+ (menu menuItemWithValue: #goBack)
+ submenuChannel:[self goBackMenu].
+ (menu menuItemWithValue: #goBackInGlobalHistory)
+ submenuChannel:[self goBackInGlobalHistoryMenu].
+ (menu menuItemWithValue: #goForward)
+ submenuChannel:[self goForwardMenu].
+"/ no, I explicitly do not want this
+"/ (menu menuItemWithValue: #goForwardInGlobalHistory)
+"/ submenuChannel:[self goForwardInGlobalHistoryMenu].
+ ^menu
+
+ "Created: / 22-02-2008 / 17:00:05 / janfrog"
+ "Modified: / 03-07-2011 / 14:40:57 / cg"
+!
+
visitedClassesMenu
<resource: #programMenu >
@@ -37385,6 +39979,36 @@
"Modified: / 20-11-2006 / 12:23:08 / cg"
! !
+!NewSystemBrowser methodsFor:'menus-dynamic-subversion'!
+
+commonSubversionBranchMenu
+
+ <resource: #programMenu >
+
+ | menu repository wc branchAspect|
+ menu := Menu new.
+ repository := self selectedProjectSubversionRepository.
+ repository ifNil:[^nil].
+ wc := repository workingCopy.
+ branchAspect := (AspectAdaptor accessWith: #branchOrNil assignWith: #branch:)
+ subject: wc.
+ repository branches do:
+ [:branch|
+ menu addItem:
+ (MenuItem new
+ label: branch displayString ;"/icon: branch icon;
+ choiceValue: branch;
+ choice: branchAspect;
+ enabled:(wc hasBranch not or: [(repository workingCopy branch) = branch]);
+ yourself)
+ ].
+
+ ^menu
+
+ "Created: / 19-04-2008 / 11:06:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 24-06-2010 / 14:29:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!NewSystemBrowser methodsFor:'navigation'!
askForClassNameMatching:matchStringArg
@@ -37729,7 +40353,14 @@
switchToBookmarkEntry:entry
"invoked when switching to a method from the bookmark history"
- self switchToHistoryEntry:entry.
+ (entry isKindOf: Bookmark)
+ ifTrue:
+ [entry switchToBookmarkIn: self]
+ ifFalse:
+ [self breakPoint: #jv info:'BrowserHistoryEntries should no longet be used'.
+ self switchToHistoryEntry: entry].
+
+ "Modified: / 05-05-2011 / 23:51:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
switchToClass:aClass
@@ -37737,6 +40368,14 @@
!
switchToClass:aClass selector:aSelector
+
+
+ ^self switchToClass: aClass selector: aSelector updateHistory: true
+
+ "Modified: / 27-02-2008 / 16:34:46 / janfrog"
+!
+
+switchToClass:aClass selector:aSelector updateHistory: updateHistory
"switch to some class (by the program)"
|orgMode cls namespaces nsName cat pkg holder newValue doSwitchMeta mthd answer
@@ -37749,7 +40388,7 @@
mthd := aClass compiledMethodAt:aSelector.
].
- (navigationState isMethodListBrowser
+ (navigationState isMethodListBrowser
or:[navigationState isMethodBrowser]) ifTrue:[
"/ must check if that method is in the list ...
@@ -37795,9 +40434,6 @@
^ self
].
].
-
- self meta value:(aClass isMeta).
-
self selectedClasses value:(OrderedCollection with:aClass).
^ self
].
@@ -37813,11 +40449,9 @@
"/ if the class is a namespace, ask if mode should be changed
- (aClass isRealNameSpace) ifTrue:[
- orgMode ~~ OrganizerCanvas organizerModeNamespace ifTrue:[
- answer := self
- confirmWithCancel:(resources string:'Browser: %1 is a namespace - switch organizers display mode ?' with:aClass name)
- defaultAnswer:false.
+ (aClass isNameSpace and:[aClass ~~ Smalltalk]) ifTrue:[
+ orgMode ~~ OrganizerCanvas organizerModeNamespace ifTrue:[
+ answer := self confirmWithCancel:('Browser: ' , aClass name , ' is a namespace - switch organizers display mode ?').
answer isNil ifTrue:[
AbortOperationRequest raise.
^ self
@@ -37902,10 +40536,10 @@
holder := self classHierarchyTopClass.
cls := holder value.
- (cls isNil or:[(cls theNonMetaclass withAllSuperclasses includesIdentical:aClass theNonMetaclass) not]) ifTrue:[
+ (cls isNil or:[(cls withAllSuperclasses includesIdentical:aClass) not]) ifTrue:[
holder value:aClass.
].
- "/ doSwitchMeta := false.
+ doSwitchMeta := false.
]]]].
doSwitchMeta ifTrue:[
@@ -37927,12 +40561,17 @@
self immediateUpdate value:false.
- self class addToHistory:aClass selector:aSelector.
+ updateHistory ifTrue:[
+ self addToHistory:aClass selector:aSelector
+ ].
self normalLabel.
self enqueueDelayedClassSelectionChange.
- "Modified: / 10-11-2006 / 17:14:41 / cg"
+ "Modified: / 24-02-2000 / 13:25:28 / cg"
+ "Created: / 22-02-2008 / 09:05:51 / janfrog"
+ "Modified: / 27-02-2008 / 16:45:21 / janfrog"
+ "Modified (format): / 02-07-2011 / 18:33:00 / cg"
!
switchToClassNameMatching:aMatchString
@@ -38076,7 +40715,9 @@
entry meta ifTrue:[
cls := cls theMetaclass
].
- self switchToClass:cls selector:entry selector
+ self switchToClass:cls selector:entry selector updateHistory: false
+
+ "Modified: / 22-02-2008 / 17:17:56 / janfrog"
!
switchToMethod:aMethod
@@ -39022,7 +41663,7 @@
].
mthd sourceLineNumber ~~ 1 ifTrue:[
- doScrollToTop ifTrue:[
+ doScrollToTop "ifTrue:" ifFalse:[
codeView scrollToLine:mthd sourceLineNumber
]
].
@@ -39030,8 +41671,8 @@
self normalLabel.
self updatePackageInfoForMethod:mthd.
- "Modified: / 13.2.2000 / 22:30:40 / cg"
- "Created: / 1.3.2000 / 11:38:57 / cg"
+ "Created: / 01-03-2000 / 11:38:57 / cg"
+ "Modified: / 17-12-2010 / 10:32:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
showNothing
@@ -40347,6 +42988,14 @@
^ classes
!
+codePaneAndPluginView
+ "the current buffers codePaneAndPluginView"
+
+ ^ self navigationState codePaneAndPluginView
+
+ "Created: / 22-09-2010 / 22:05:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
codeView
"the current buffers codeView"
@@ -40791,6 +43440,41 @@
]
!
+selectedCodeComponents
+
+ | mode |
+ mode := self navigationState canvasType.
+ #(
+ fullBrowserSpec
+ (selectedMethods selectedProtocolMethods selectedClasses selectedCategoryClasses)
+ smallLintByRuleResultBrowserSpec
+ (selectedMethods selectedClasses selectedLintRuleClasses)
+ methodListBrowserSpec
+ (selectedMethods)
+ "Add more"
+
+ ) pairWiseDo:
+ [:key :selectors|mode == key ifTrue:
+ [^self selectedCodeComponentsUsing:selectors]].
+
+ self breakPoint: #jv.
+ "/Fallback
+ ^self selectedCodeComponentsUsing:#(selectedMethods selectedClasses).
+
+ "Modified: / 05-02-2010 / 13:21:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-08-2010 / 11:22:00 / Jan Vrany <enter your email here>"
+!
+
+selectedCodeComponentsUsing: selectors
+
+ | result |
+ selectors do:
+ [:selector|
+ (result := (self perform: selector) value)
+ isNilOrEmptyCollection ifFalse:[^result]].
+ ^#()
+!
+
selectedInstanceVariableInCodeView
|varName|
@@ -40884,6 +43568,15 @@
^ setOfClasses
!
+selectedProtocolMethods
+
+ | methods |
+ methods := Set new.
+ self selectedProtocolMethodsDo:
+ [:ign1 :ign2 :ign3 :mth|methods add: mth].
+ ^methods
+!
+
selectedProtocolMethodsDo:aBlock
"evaluate aBlock for each selected protocols methods.
(each class-protocol combination)"
@@ -40899,7 +43592,8 @@
] ifFalse:[
targets := self selectedClasses value
].
-
+ targets isNilOrEmptyCollection ifTrue:[^self].
+
targets do:[:cls |
allIncluded ifTrue:[
cls methodDictionary keysAndValuesDo:[:sel :mthd |
@@ -40916,7 +43610,8 @@
]
].
- "Modified: / 29.2.2000 / 11:18:40 / cg"
+ "Modified: / 29-02-2000 / 11:18:40 / cg"
+ "Modified: / 01-08-2010 / 14:39:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
selectedProtocolsDo:aBlock
@@ -41117,6 +43812,20 @@
^ self navigationState theSingleSelectedClass
!
+theSingleSelectedLintRuleHolder
+
+ ^BlockValue
+ with:
+ [:generator| | rule size |
+ rule := nil.
+ size := 0.
+ (generator value ? #()) do:[:each|rule := each.size := size + 1].
+ size == 1 ifTrue:[rule] ifFalse:[nil]]
+ argument: self selectedLintRules
+
+ "Created: / 05-02-2010 / 12:56:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
theSingleSelectedLoadedNonMetaclassOrNil
|currentClass|
@@ -41135,6 +43844,20 @@
^ self navigationState theSingleSelectedMethod
!
+theSingleSelectedMethodName
+ "the current buffers single selected method name;
+ nil if no selection or if multiple methods are selected"
+ |mthd name|
+
+ mthd := self theSingleSelectedMethod.
+ mthd notNil ifTrue:[
+ name := mthd name
+ ].
+ ^ name
+
+ "Created: / 25-08-2009 / 16:01:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
theSingleSelectedNamespace
"the current buffers single selected namespace;
nil if no selection or if multiple namespaces are selected"
@@ -41187,11 +43910,17 @@
mthd := self theSingleSelectedMethod.
mthd notNil ifTrue:[
- sel := mthd name "/ who methodSelector
+ "JV: I changed this to answer the selector (not name),
+ because for non-smalltalk languages (Ruby for instance)
+ method selector may differ from method name."
+
+ "/sel := mthd name "/ who methodSelector
+ sel := mthd selector.
].
^ sel
- "Created: / 5.2.2000 / 23:09:57 / cg"
+ "Created: / 05-02-2000 / 23:09:57 / cg"
+ "Modified: / 30-08-2009 / 17:12:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
theSingleSelectedVariable
@@ -41256,7 +43985,7 @@
!
rememberLocationInHistory
- |newEntry mthd cls sel |
+ |mthd cls sel |
mthd := self theSingleSelectedMethod.
mthd isNil ifTrue:[
@@ -41268,23 +43997,11 @@
cls isNil ifTrue:[
^ self
].
- newEntry := self class historyEntryForClass:cls selector:sel.
- newEntry isNil ifTrue:[^ self].
-
- FindHistory isNil ifTrue:[
- FindHistory := OrderedCollection new.
- ].
-
- FindHistory := FindHistory select:[:entry | entry className ~= newEntry className
- or:[entry selector ~= newEntry selector
- or:[entry meta ~= newEntry meta]]].
-
- FindHistory addFirst:newEntry.
- FindHistory size > 30 ifTrue:[
- FindHistory removeLast.
- ].
-
- "Modified: / 24-11-2010 / 12:51:22 / cg"
+ self class addToFindHistory: cls selector: sel.
+ self addToHistory: cls selector: sel.
+
+ "Modified: / 27-02-2008 / 16:54:06 / janfrog"
+ "Modified: / 02-07-2011 / 18:29:29 / cg"
!
rememberSearchPattern:aString
@@ -41991,6 +44708,29 @@
]
! !
+!NewSystemBrowser methodsFor:'private-searching'!
+
+searchCompletionBlock
+
+ ^[:partialName| | env |
+ env := self theSingleSelectedNamespace ? #Smalltalk.
+ env = NavigatorModel nameListEntryForALL
+ ifTrue:[env := #Smalltalk].
+ env := Smalltalk at: env.
+ partialName isNilOrEmptyCollection
+ ifTrue:
+ [#('' #())]
+ ifFalse:
+ [partialName first isUppercase
+ ifTrue:
+ [DoWhatIMeanSupport classnameCompletion: partialName inEnvironment: env]
+ ifFalse:
+ [DoWhatIMeanSupport selectorCompletion: partialName inEnvironment: env]]]
+
+ "Created: / 09-02-2010 / 21:45:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 10-02-2010 / 08:47:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!NewSystemBrowser methodsFor:'private-semantic checks'!
checkAcceptedMethod:aMethod inClass:aClass
@@ -42313,6 +45053,262 @@
^ nil.
! !
+!NewSystemBrowser methodsFor:'private-smalllint'!
+
+loadSmalllint
+ |pkg dlg|
+
+ pkg := Smalltalk at:#'stx_goodies_refactoryBrowser_lint'.
+ (pkg isNil or:[ pkg isFullyLoaded not ]) ifTrue:[
+ Smalltalk loadPackage:#'stx:goodies/refactoryBrowser/lint'
+ asAutoloaded:false
+ ].
+
+ "
+ Tools::NewSystemBrowser basicNew loadSmallLint"
+ "Created: / 17-04-2010 / 09:40:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+smalllintCheck:anEnvironment against:ruleSetSymbol
+ |rule|
+
+ self
+ assert:(#( #smalllintRulesAll #smalllintRulesFromUser #smalllintRules )
+ includes:ruleSetSymbol).
+ rule := self perform:ruleSetSymbol asSymbol.
+ rule ifNil:[ ^ self ].
+ self showMessage:'Checking code...'
+ while:[
+ self smalllintRunRule:rule onEnvironment:anEnvironment.
+ self
+ spawnSmalllintBrowserByRuleFor:rule
+ in:#newBuffer
+ label:'SmallLint results for ' , anEnvironment label
+ ].
+
+ "Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
+ "Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
+ "Created: / 24-02-2009 / 11:02:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 28-08-2010 / 20:45:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+smalllintRules
+
+ ^LastLintRules
+ ifNil:[self smalllintRulesFromUser]
+ ifNotNil:[LastLintRules]
+
+
+ "
+ Tools::NewSystemBrowser basicNew smalllintRules
+ "
+
+ "Modified: / 17-04-2010 / 09:42:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+smalllintRulesAll
+
+ | all checks |
+ all := RBCompositeLintRule allRules.
+ checks := all rules detect:[ :each | each name = 'Lint checks' ].
+ checks rules: (checks rules reject: [ :each | each name = 'Squeak bugs' ]).
+ ^all
+
+ "Created: / 17-04-2010 / 10:07:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-08-2010 / 14:38:21 / Jan Vrany <enter your email here>"
+!
+
+smalllintRulesFromUser
+ |dlg|
+
+ self loadSmalllint.
+ dlg := Tools::LintRuleSelectionDialog new.
+ dlg selection: (LastLintRules ifNil:[nil"self smalllintRulesAll flattened"] ifNotNil:[LastLintRules flattened]).
+ ^(dlg open; accepted)
+ ifTrue:[ LastLintRules := dlg selectionAsRule ]
+ ifFalse:[ nil ].
+
+ "
+ LastLintRules := nil.
+ Tools::NewSystemBrowser basicNew smalllintRulesFromUser
+ "
+
+ "Created: / 17-04-2010 / 09:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-08-2010 / 15:35:16 / Jan Vrany <enter your email here>"
+!
+
+smalllintRunRule: aLintRule onEnvironment: anEnvironment
+
+ | rules |
+ rules := aLintRule flattened.
+ rules withIndexDo:
+ [:rule :index|
+ ProgressNotification new
+ messageText: ('Checking: ', rule name);
+ parameter: (rules size / 100) * index;
+ raiseRequest.
+ (SmalllintChecker runRule: rule onEnvironment: anEnvironment)]
+
+ "Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
+ "Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
+ "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 28-08-2010 / 12:12:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+spawnSmalllintBrowserByRuleFor: result in:where label:labelOrNil
+
+ ^ self
+ newBrowserOrBufferDependingOn:where
+ label:labelOrNil
+ forSpec: #smallLintByRuleResultBrowserSpec
+ setupWith:[:browser | |methodGenerator classGenerator ruleGenerator |
+ ruleGenerator :=
+ Iterator on:
+ [:whatToDo|
+ result failedRules do:whatToDo].
+
+ methodGenerator :=
+ Iterator on:
+ [:whatToDo|
+ | selectedRules selectedClasses failedMethods |
+ selectedClasses := browser selectedClasses value.
+ selectedRules := browser selectedLintRules value.
+ failedMethods := OrderedCollection new.
+ selectedClasses isNilOrEmptyCollection ifFalse:
+ [selectedRules ? #() do:
+ [:rule|
+ failedMethods addAll:
+ (rule failedMethodsInAnyOf: selectedClasses meta: self hasMetaSelected)].
+ failedMethods do:
+ [:mth|
+ whatToDo
+ value:mth containingClass
+ value:mth category
+ value:mth selector
+ value:mth]]].
+
+ browser lintRuleListGenerator value:ruleGenerator.
+ browser selectorListGenerator value:methodGenerator.
+
+ browser selectedClasses
+ onChangeSend: #changed to: browser selectorListGenerator.
+ browser selectedLintRules
+ onChangeSend: #changed to: browser selectorListGenerator.
+ browser meta
+ onChangeSend: #changed to: browser selectorListGenerator.
+
+
+
+ "/self halt.
+ "
+ theMethodList isNil ifTrue:[
+ methodsOrMethodGeneratorBlock isBlock ifTrue:[
+ theMethodList := methodsOrMethodGeneratorBlock value.
+ ] ifFalse:[
+ theMethodList := methodsOrMethodGeneratorBlock copy.
+ ].
+ ].
+ perClassInfo := perClassInfoHolder value.
+ perMethodInfo := perMethodInfoHolder value.
+
+ methodGenerator := Iterator on:[:whatToDo |
+ theMethodList isNil ifTrue:[
+ methodsOrMethodGeneratorBlock isBlock ifTrue:[
+ theMethodList := methodsOrMethodGeneratorBlock value.
+ ] ifFalse:[
+ theMethodList := methodsOrMethodGeneratorBlock copy.
+ ].
+ ].
+ perClassInfo := perClassInfoHolder value.
+ perMethodInfo := perMethodInfoHolder value.
+
+ theMethodNameList := theMethodList collect:[:eachMethod | eachMethod mclass -> eachMethod selector].
+ theMethodNameList do:[:mAssoc |
+ |methodClass methodSelector method|
+
+ methodClass := mAssoc key.
+ methodSelector := mAssoc value.
+ methodClass notNil ifTrue:[
+ method := methodClass compiledMethodAt:methodSelector.
+ method notNil ifTrue:[
+ whatToDo
+ value:methodClass
+ value:method category
+ value:methodSelector
+ value:method.
+ ].
+ ].
+ ].
+ methodsOrMethodGeneratorBlock isBlock ifTrue:[
+ theMethodList := nil.
+ ].
+ whatToDo
+ value:nil
+ value:nil
+ value:nil
+ value:nil.
+ ].
+
+ sortHow notNil ifTrue:[brwsr sortBy value:sortHow].
+
+ brwsr selectorListGenerator value:methodGenerator.
+ perClassInfo notNil ifTrue:[
+ classGenerator := perClassInfo keys.
+ brwsr classListGenerator value:classGenerator.
+ brwsr meta value:false.
+ ].
+
+ perClassInfo notNil ifTrue:[
+ brwsr selectedClasses
+ onChangeEvaluate:[
+ |class infoText|
+
+ brwsr selectedMethods value:nil.
+ class := brwsr theSingleSelectedClass.
+ class notNil ifTrue:[
+ brwsr meta value:false.
+ infoText := perClassInfoHolder value at:class theNonMetaclass ifAbsent:nil.
+ infoText isNil ifTrue:[
+ infoText := perClassInfo at:class theMetaclass ifAbsent:nil
+ ]
+ ].
+ brwsr methodInfo value:infoText.
+ ]
+ ].
+
+ perMethodInfo notNil ifTrue:[
+ brwsr selectedMethods
+ onChangeEvaluate:[
+ |mthd infoText|
+
+ brwsr selectedClasses value:nil.
+ mthd := brwsr theSingleSelectedMethod.
+ mthd notNil ifTrue:[
+ infoText := perMethodInfo at:mthd ifAbsent:nil
+ ].
+ brwsr methodInfo value:infoText.
+ ]
+ ] ifFalse:[
+ (doSelect and:[theMethodList size == 1]) ifTrue:[
+ brwsr selectMethods:(Array with:theMethodList first).
+ brwsr methodsSelectionChanged.
+ ]
+ ].
+
+ methodsOrMethodGeneratorBlock isBlock ifTrue:[
+ theMethodList := nil
+ ]
+ "
+ ]
+
+ "Modified: / 05-11-2001 / 17:08:45 / cg"
+ "Modified: / 22-07-2009 / 15:51:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 02-02-2010 / 20:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-02-2010 / 21:46:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-08-2010 / 10:30:33 / Jan Vrany <enter your email here>"
+! !
+
!NewSystemBrowser methodsFor:'private-syntax coloring'!
startSyntaxHighlightProcess
@@ -42324,6 +45320,8 @@
|dontDoIt oldCodeList highlighterClass prio currentMethod methodsClass codeView|
+ UserPreferences current useCodeView2InTools ifTrue:[^self].
+
dontDoIt := (currentMethod := self theSingleSelectedMethod) isNil.
dontDoIt := dontDoIt
or:[self doSyntaxColoring value ~~ true
@@ -42432,6 +45430,7 @@
] forkAt:prio
"Modified: / 28-04-2010 / 14:27:53 / cg"
+ "Modified: / 04-05-2010 / 11:30:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
stopSyntaxHighlightProcess
@@ -42571,6 +45570,13 @@
"Modified: / 24.2.2000 / 15:11:31 / cg"
!
+browserCanvasHolder
+
+ ^self browserCanvas.
+
+ "Created: / 07-06-2011 / 16:36:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
browserCanvasType
^ browserCanvasType
!
@@ -42579,6 +45585,41 @@
browserCanvasType := aSpecSymbol
!
+browserCanvasTypeForPage
+
+ navigationState ifNil:[^#fullBrowserSpec].
+ navigationState canvasType ifNil:[^#fullBrowserSpec].
+ ^navigationState canvasType
+
+ "Created: / 07-06-2011 / 21:43:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+browserCanvasTypeHolder
+
+ ^(AspectAdaptor forAspect: #spec)
+ subjectChannel: self browserCanvas.
+
+ "Created: / 07-06-2011 / 21:48:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+browserPageCanvas
+ "return a holder on the current canvas"
+
+ | canvas |
+ browserPageCanvas isNil ifTrue:[
+ browserPageCanvas := ValueHolder new.
+ canvas := SubCanvas new.
+ canvas client:self spec:#browserPageSpec builder: builder.
+ canvas level:0.
+ canvas origin:0.0@0.0 corner:1.0@1.0.
+ browserPageCanvas value: canvas.
+ ].
+ ^ browserPageCanvas
+
+ "Modified: / 24-02-2000 / 15:11:31 / cg"
+ "Modified: / 07-06-2011 / 16:34:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
bufferLabel:aString
navigationState notNil ifTrue:[
navigationState browserLabel:aString.
@@ -42617,6 +45658,13 @@
"Modified: / 24.2.2000 / 16:10:59 / cg"
!
+postBuildCodePaneAndPluginView: aView
+
+ self navigationState codePaneAndPluginView: aView
+
+ "Created: / 22-09-2010 / 22:07:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
postBuildCodeView:codeView
" this is not more called. see #postBuildFixup instead"
@@ -42676,52 +45724,57 @@
!
postBuildFixup
- |newNavigationState orgModeHolder codeView|
-
+ |newNavigationState orgModeHolder|
newNavigationState := self navigationState.
self assert:newNavigationState canvasType notNil.
-
- newNavigationState isFullClassSourceBrowser ifTrue:[
- self hidePrivateClasses value:true.
- ].
-
+ newNavigationState isFullClassSourceBrowser
+ ifTrue:[self hidePrivateClasses value:true.].
+
"/ newNavigationState setUpScrollableCodeView.
- self editorNoteBookCanvasHolder value:(newNavigationState scrollableCodeView).
- codeView := self codeView.
- codeView formatAction:[:code | self formatCode ].
- codeView menuHolder:self; menuMessage:#codeViewMenu.
- UserPreferences current useSearchBarInBrowser ifTrue:[
-"/ self stringSearchToolVisibleHolder value:true. "/ Initially hidden. Show search bar after pressing CTRL+f or clicking view menu
- codeView searchBarActionBlock: self searchBarActionBlock.
- ].
+
+ self editorNoteBookCanvasHolder
+ value:(newNavigationState scrollableCodeView).
+ self codeView formatAction:[:code | self formatCode].
+ (self codeView)
+ menuHolder:self;
+ menuMessage:#codeViewMenu.
+ UserPreferences current useCodeView2InTools
+ ifTrue:[self codeView browserHolder value:self].
+ UserPreferences current useSearchBarInBrowser
+ ifTrue:
+ ["/ self stringSearchToolVisibleHolder value:true. "/ Initially hidden. Show search bar after pressing CTRL+f or clicking view menu
+ self codeView searchBarActionBlock:self searchBarActionBlock.].
self normalLabel.
-
orgModeHolder := self organizerMode.
- newNavigationState isNameSpaceBrowser ifTrue:[
- orgModeHolder value:(OrganizerCanvas organizerModeNamespace)
- ] ifFalse:[
- newNavigationState isCategoryBrowser ifTrue:[
- orgModeHolder value:(OrganizerCanvas organizerModeCategory)
- ] ifFalse:[
- newNavigationState isProjectBrowser ifTrue:[
- orgModeHolder value:(OrganizerCanvas organizerModeProject)
- ].
- ].
- ].
-
- self theSingleSelectedMethod notNil ifTrue:[
- "/ fetch the initially selected methods code
- self methodsSelectionChanged.
- ] ifFalse:[
- self theSingleSelectedClass notNil ifTrue:[
- "/ to show the classes definition initially
- self classSelectionChanged.
- ].
- ].
-
+ newNavigationState isNameSpaceBrowser
+ ifTrue:[orgModeHolder value:(OrganizerCanvas organizerModeNamespace)]
+ ifFalse:
+ [newNavigationState isCategoryBrowser
+ ifTrue:[orgModeHolder value:(OrganizerCanvas organizerModeCategory)]
+ ifFalse:
+ [newNavigationState isProjectBrowser
+ ifTrue:[orgModeHolder value:(OrganizerCanvas organizerModeProject)].].].
+ self theSingleSelectedMethod notNil
+ ifTrue:
+ ["/ fetch the initially selected methods code
+ self methodsSelectionChanged.]
+ ifFalse:
+ [self theSingleSelectedClass notNil
+ ifTrue:
+ ["/ to show the classes definition initially
+ self classSelectionChanged.].].
newNavigationState codeModifiedHolder addDependent:self.
- "Modified: / 07-05-2011 / 15:01:54 / cg"
+ "Modified: / 14-02-2010 / 19:36:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+postBuildMessagePane: messagePaneView
+ <resource: #uiCallback>
+
+ builder componentAt:#MessagePane put:messagePaneView.
+ self navigationState messagePaneView: messagePaneView.
+
+ "Modified: / 28-08-2010 / 10:37:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
postBuildSpecialEditor:specialEditorSubcanvas
@@ -42735,6 +45788,15 @@
aStringSearchTool client textView: self codeView.
!
+postBuildTabContentView: tabContentView
+ <resource: #uiCallback>
+
+ builder componentAt:#TabContentView put:tabContentView.
+ self navigationState tabContentView: tabContentView.
+
+ "Modified: / 28-08-2010 / 10:37:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
postBuildWith:aBuilder
"/ no need to fixup here - I am always installed as subcanvas
"/ (via noteBookView)
@@ -42744,14 +45806,16 @@
Smalltalk addDependent:self.
self codeInfoVisible value ifTrue:[ self codeInfoVisibilityChanged ].
- self toolBarVisibleHolder value ifTrue:[ self toolBarVisibilityChanged ].
+ (self toolBarVisibleHolder value or:[self bookmarkBarVisibleHolder value])
+ ifTrue:[ self toolBarOrBookmarkBarVisibilityChanged ].
"/ self editorNoteBookCanvasHolder value:(navigationState scrollableCodeView).
"/ self codeView formatAction:[:code | self formatCode ].
"/ self codeView menuHolder:self; menuMessage:#codeViewMenu.
- "Modified: / 24.2.2000 / 16:11:27 / cg"
+ "Modified: / 24-02-2000 / 16:11:27 / cg"
+ "Modified: / 18-05-2011 / 17:30:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
postOpenWith:aBuilder
@@ -42766,7 +45830,11 @@
!
searchFieldCreated:anInputField
- anInputField emptyFieldReplacementText:(resources string:'Class Search & History').
+ anInputField emptyFieldReplacementText:
+ "/(resources string:'Class Search & History').
+ (resources string:'Class Search (Ctrl-L)').
+
+ "Modified: / 09-02-2010 / 21:56:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
searchFieldPanelCreated:aPanel
@@ -43193,13 +46261,31 @@
!
backToLastClass
- |history entry|
-
- history := self class classHistory.
- history size > 0 ifTrue:[
- entry := history first.
- self switchToFindHistoryEntry:entry
- ]
+ |localHistory globalHistory entry|
+
+ "/ try local history
+ localHistory := self navigationHistory.
+ localHistory canGoBack ifTrue:[
+ self goBack.
+ ^ self
+ ].
+
+ "/ try global history
+ globalHistory := self class classHistory.
+ globalHistory size > 0 ifTrue:[
+ entry := globalHistory first.
+ self switchToFindHistoryEntry:entry
+ ]
+
+ "Modified: / 01-11-2010 / 18:17:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-07-2011 / 16:13:29 / cg"
+!
+
+bookmarkBarVisibilityChanged
+
+ self toolBarOrBookmarkBarVisibilityChanged
+
+ "Created: / 18-05-2011 / 17:29:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
classCategoryDoubleClicked
@@ -43299,10 +46385,11 @@
codeView := self codeView.
cls := self classOfSelectedMethodOrSelectedClass.
- cls isNil ifTrue:[
- self showInfo:'No class'.
- ^ self.
- ].
+"/ cls isNil ifTrue:[
+"/ self showInfo:'No class'.
+"/ ^ self.
+"/ ].
+
UserInformation handle:[:ex |
self showInfo:(ex messageText).
ex proceed.
@@ -43357,7 +46444,7 @@
"/ self showInfo:'Node is neither variable nor message.'.
"Modified: / 04-07-2006 / 18:48:26 / fm"
- "Modified: / 20-11-2006 / 12:30:59 / cg"
+ "Modified: / 03-07-2011 / 16:18:31 / cg"
!
codeCompletionForMessage:node inClass:cls
@@ -43856,6 +46943,12 @@
self methodVisibilityHolder value:#class.
!
+hideBookmarkBar
+ self bookmarkBarVisibleHolder value:false
+
+ "Created: / 18-05-2011 / 17:33:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
hideToolbar
self toolBarVisibleHolder value:false
@@ -44085,27 +47178,74 @@
self organizerModeForMenu changed
!
-toolBarVisibilityChanged
- |visible toolBar noteBook topOffset|
+toolBarOrBookmarkBarVisibilityChanged
+ |toolBarVisible toolBar bookmarkBarVisible bookmarkBar pageContent topOffset h|
toolBar := self componentAt:#ToolBar.
- toolBar isNil ifTrue:[
- topOffset := 0.
- ] ifFalse:[
- visible := self toolBarVisibleHolder value.
- DefaultToolBarVisible := visible.
- visible ifTrue:[
- topOffset := toolBar height.
- ]
- ].
-
- noteBook := self componentAt:#NoteBook.
- noteBook notNil ifTrue:[
- noteBook layout topOffset:topOffset.
- noteBook container notNil ifTrue:[
- noteBook containerChangedSize.
- ].
- ].
+ bookmarkBar := self componentAt:#BookmarkBar.
+ topOffset := 0.
+ toolBar isNil ifFalse:[
+ toolBarVisible := self toolBarVisibleHolder value.
+ DefaultToolBarVisible := toolBarVisible.
+ toolBarVisible ifTrue:[
+ topOffset := topOffset + toolBar height.
+ ]
+ ].
+ bookmarkBar isNil ifFalse:[
+ bookmarkBarVisible := self bookmarkBarVisibleHolder value.
+ UserPreferences current showBookmarkBar:bookmarkBarVisible.
+ bookmarkBarVisible ifTrue:[
+ h := bookmarkBar height.
+ bookmarkBar layout topOffset:topOffset.
+ bookmarkBar layout bottomOffset:topOffset + h.
+ bookmarkBar container notNil ifTrue:[
+ bookmarkBar containerChangedSize.
+ ].
+ topOffset := topOffset + h.
+ ]
+ ].
+
+
+ pageContent := (browserPageCanvas notNil or:[builder spec name == #browserPageSpec])
+ ifTrue:[(self componentAt: #BrowserPageContents)]
+ ifFalse:[(self componentAt:#NoteBook)].
+ pageContent notNil ifTrue:[
+ pageContent layout topOffset:topOffset.
+ pageContent container notNil ifTrue:[
+ pageContent containerChangedSize.
+ ].
+ ].
+
+ "Created: / 18-05-2011 / 17:28:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-06-2011 / 16:58:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+toolBarVisibilityChanged
+
+ self toolBarOrBookmarkBarVisibilityChanged
+
+"/ |visible toolBar noteBook topOffset|
+"/
+"/ toolBar := self componentAt:#ToolBar.
+"/ toolBar isNil ifTrue:[
+"/ topOffset := 0.
+"/ ] ifFalse:[
+"/ visible := self toolBarVisibleHolder value.
+"/ DefaultToolBarVisible := visible.
+"/ visible ifTrue:[
+"/ topOffset := toolBar height.
+"/ ]
+"/ ].
+"/
+"/ noteBook := self componentAt:#NoteBook.
+"/ noteBook notNil ifTrue:[
+"/ noteBook layout topOffset:topOffset.
+"/ noteBook container notNil ifTrue:[
+"/ noteBook containerChangedSize.
+"/ ].
+"/ ].
+
+ "Modified: / 18-05-2011 / 17:29:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
variableDoubleClicked
@@ -44139,14 +47279,24 @@
!NewSystemBrowser methodsFor:'user actions-accepting'!
-acceptMethod:codeArg inClass:cls check:doCheck
+acceptMethod:codeArg inClass:cls language: languageOrNil check:doCheck
"accept a new method.
+
Return false, if NOT accepted (i.e. compilation canceled)"
- |code cat returnValue newSelector existingMethod|
+ |code cat returnValue newSelector existingMethod language |
code := codeArg.
returnValue := false.
+ language := languageOrNil
+ ifNotNil:
+ [languageOrNil]
+ ifNil:
+ [self hasMethodSelected
+ ifTrue:[self selectedMethods value first programmingLanguage]
+ ifFalse:[cls programmingLanguage]].
+
+
"/ a quick parse for the selector ...
newSelector := self selectorOfMethodFromCode:code in:cls.
@@ -44316,7 +47466,8 @@
Class nameSpaceQuerySignal
answer:(self currentNamespace)
do:[
- (self canUseRefactoringSupport and:[(Smalltalk at:cls theNonMetaclass name)==cls]) ifTrue:[
+ ("self canUseRefactoringSupport"
+ (language isSmalltalk) and:[(Smalltalk at:cls theNonMetaclass name)==cls and:[cls programmingLanguage == language]]) ifTrue:[
"/ cg: Q: is the AddMethodChange prepared for languages ?
change := InteractiveAddMethodChange compile:code in:cls classified:cat.
change controller:codeView.
@@ -44325,9 +47476,9 @@
RefactoryChangeManager performChange: change.
rslt := cls compiledMethodAt:newSelector.
] ifFalse:[
+ rslt := language compilerClass
"/ cg: I am not sure, if this is correct; shouldn' we ask the old method
"/ for its progLanguage/compilerClass if we accept an old method ???
- rslt := cls compilerClass
compile:code
forClass:cls
inCategory:cat
@@ -44396,6 +47547,7 @@
^ returnValue.
"Modified: / 17-07-2010 / 14:54:53 / cg"
+ "Created: / 30-12-2009 / 20:01:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
askForInitialApplicationCodeFor:aClass
@@ -44773,8 +47925,8 @@
^ false
!
-doAcceptMethod:theCode
- "accept a new/modified method"
+doAcceptMethod:theCode language: languageOrNil
+ "accept a new/modified method using given language"
|codeWithoutEmphasis classOrClassCollection|
@@ -44799,16 +47951,20 @@
self
acceptMethod:codeWithoutEmphasis
inClass:eachClass
+ language: languageOrNil
check:false.
].
] ifFalse:[
self
acceptMethod:codeWithoutEmphasis
inClass:classOrClassCollection
+ language: languageOrNil
check:true.
].
]
].
+
+ "Created: / 30-12-2009 / 20:02:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
doSaveInSpecialEditors
@@ -44817,8 +47973,9 @@
self navigationState doSaveInSpecialEditors.
!
-enforceCodeStyle
+enforceCodeStyle
^ UserPreferences current enforceCodeStyle
+
!
enforceComment
@@ -44827,6 +47984,22 @@
"Created: / 17-07-2010 / 14:18:26 / cg"
!
+nameOfMethodFromCode:someCode in:aClass
+ |parser|
+
+ parser := aClass parserClass
+ parseMethodSpecification:someCode asString
+ in:aClass
+ ignoreErrors:true ignoreWarnings:true.
+ (parser notNil and:[parser ~~ #Error]) ifTrue:[
+ ^ parser name.
+ ].
+ ^ nil
+
+ "Modified: / 23-04-2009 / 09:32:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 24-08-2009 / 09:31:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
openDiffViewForText:theCode againstSourceOfMethod:aMethod
|originalSource changedSource v|
@@ -44868,6 +48041,24 @@
^ cat
!
+selectorAndNameOfMethodFromCode:someCode in:aClass
+ |parser|
+
+ parser := aClass parserClass
+ parseMethodSpecification:someCode asString
+ in:aClass
+ ignoreErrors:true ignoreWarnings:true.
+ (parser notNil and:[parser ~~ #Error]) ifTrue:[
+ ^Array
+ with: parser selector asSymbol
+ with: parser name
+ ].
+ ^ nil
+
+ "Modified: / 23-04-2009 / 09:32:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 24-08-2009 / 09:40:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
selectorOfMethodFromCode:someCode in:aClass
"a quick parse for the selector - is done BEFORE we actually compile something,
to be able to get the existing method's category (q: is that really needed - can change
@@ -44892,6 +48083,22 @@
"Modified: / 23-04-2009 / 09:32:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+selectorOfMethodFromCode:someCode in:aClass language: language
+ |parser|
+
+ parser := language parserClass
+ parseMethodSpecification:someCode asString
+ in:aClass
+ ignoreErrors:true ignoreWarnings:true.
+ (parser notNil and:[parser ~~ #Error]) ifTrue:[
+ ^ parser selector asSymbol.
+ ].
+ ^ nil
+
+ "Modified: / 23-04-2009 / 09:32:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Created: / 30-12-2009 / 20:06:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
setAcceptAction:aBlockOrNil
"tell the codeView what to do on accept"
@@ -44989,18 +48196,36 @@
!
setAcceptActionForMethod
+
+ " means class's own language"
+ self setAcceptActionForMethodUsingLanguage: nil
+
+ "Modified: / 30-12-2009 / 20:04:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setAcceptActionForMethodUsingLanguage: languageOrNil
"tell the codeView what to do on accept"
- |codeView|
-
- self setAcceptAction:[:theCode | self doAcceptMethod:theCode].
+ | codeView |
+
+ self setAcceptAction:[:theCode | self doAcceptMethod:theCode language: languageOrNil ].
(codeView := self codeView) notNil ifTrue:[
codeView
explainAction:[:theCode :theSelection |
self explain:theSelection inCode:theCode
].
- ]
+ codeView isCodeView2 ifTrue:[
+ languageOrNil ifNotNil:[
+ codeView languageHolder value: languageOrNil.
+ ]
+
+ ]
+
+ ]
+
+ "Created: / 30-12-2009 / 20:03:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-07-2010 / 15:55:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
setAcceptActionForNothing
@@ -45393,13 +48618,16 @@
"filter keyboard events for Find key (unless typed into the codeView).
Return true, if I have eaten the event"
- key == #CodeCompletion ifTrue:[
- "/ complete the word before/under the cursor.
- self
- enqueueMessage:#codeCompletion
- for:self
- arguments:#().
- ^ true
+ UserPreferences current useCodeView2InTools ifFalse:[
+ "/ old-style codeView
+ key == #CodeCompletion ifTrue:[
+ "/ complete the word before/under the cursor.
+ self
+ enqueueMessage:#codeCompletion
+ for:self
+ arguments:#().
+ ^ true
+ ].
].
key == #Rename ifTrue:[
self hasLocalVariableSelectedInCodeView ifTrue:[
@@ -45411,6 +48639,9 @@
^ true
].
^ false
+
+ "Modified: / 16-02-2010 / 10:55:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 03-07-2011 / 15:48:44 / cg"
!
keyInMethodCategoryListView:key rawKey:rawKey
@@ -45548,10 +48779,14 @@
codeView := self codeView.
evView := anEvent targetView.
evView notNil ifTrue:[
- anEvent isKeyPressEvent ifTrue:[
+ anEvent isKeyPressEvent ifTrue:[
key := anEvent key.
rawKey := anEvent rawKey.
+ rawKey == #Ctrll ifTrue:
+ [(self componentAt: #SearchedClassNameComboBox) takeFocus.
+ ^true].
+
(evView isSameOrComponentOf:codeView) ifTrue:[
^ self keyInCodeView:key rawKey:rawKey
].
@@ -45630,17 +48865,139 @@
^ false
- "Modified: / 10.12.2001 / 21:02:48 / cg"
+ "Modified: / 10-12-2001 / 21:02:48 / cg"
+ "Modified: / 09-08-2009 / 09:40:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 09-02-2010 / 19:59:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NewSystemBrowser methodsFor:'user actions-helpers'!
+
+hideMessagePane
+
+ | messagePaneView tabContentView |
+ messagePaneView := self navigationState messagePaneView.
+ tabContentView := self navigationState tabContentView.
+
+ messagePaneView isVisible ifFalse:[^self]."/already hidden"
+ messagePaneView isVisible: false.
+ tabContentView layout:
+ (tabContentView layout topOffset: 0; yourself)
+
+ "Created: / 28-08-2010 / 10:49:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+hideMessagePaneAndAbort
+ self navigationState worker terminate.
+ self navigationState worker:nil.
+
+ "Created: / 28-08-2010 / 20:50:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+hideMessagePaneIn: givenNavigationState
+
+ | messagePaneView tabContentView |
+ messagePaneView := givenNavigationState messagePaneView.
+ tabContentView := givenNavigationState tabContentView.
+
+ messagePaneView isVisible ifFalse:[^self]."/already hidden"
+ messagePaneView isVisible: false.
+ tabContentView layout:
+ (tabContentView layout topOffset: 0; yourself)
+
+ "Created: / 28-08-2010 / 20:39:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showMessage: aString
+
+ self messageHolder value: aString.
+ self showMessagePane: #messageInfoSpec.
+
+ "Created: / 28-08-2010 / 11:47:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showMessage:message while:block
+ |state workerBlock worker|
+
+ state := self navigationState.
+ workerBlock := [
+ self showMessagePane:#progressInfoSpec in:state.
+ block on:UserNotification
+ do:[:notification |
+ self messageHolder value:notification description.
+ (notification isKindOf:ProgressNotification) ifTrue:[
+ self progressHolder value:notification progressValue
+ ].
+ notification proceed
+ ]
+ ].
+ worker := workerBlock newProcess
+ addExitAction:[ self hideMessagePaneIn:state ].
+ state worker:worker.
+ worker resume.
+
+ "Created: / 28-08-2010 / 20:10:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showMessagePane: spec
+
+ ^self showMessagePane: spec in: self navigationState
+
+ "Created: / 28-08-2010 / 20:37:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showMessagePane: spec in: givenNavigationState
+
+ | messagePaneView tabContentView |
+ messagePaneView := givenNavigationState messagePaneView.
+ tabContentView := givenNavigationState tabContentView.
+ messagePaneView isVisible ifTrue:[^self]."/already shown"
+ messagePaneView isVisible: true.
+ tabContentView layout:
+ (tabContentView layout topOffset: 40; yourself).
+ self messageSpecHolder value: spec.
+
+ "Created: / 28-08-2010 / 20:37:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showMessageWhileTest
+ self showMessage:'Tools::NewSystemBrowser >> testProgressAction'
+ while:[
+ (1 to:100) do:[:i |
+ (ProgressNotification new)
+ messageText:('Tools::NewSystemBrowser >> testProgressAction (%1 done)'
+ bindWith:i);
+ parameter:i;
+ raiseRequest.
+ Delay waitForMilliseconds:30.
+ ].
+ Transcript showCR:'Tools::NewSystemBrowser >> testProgressAction done!!'
+ ]
+
+ "Created: / 28-08-2010 / 10:32:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NewSystemBrowser methodsFor:'user actions-profiler'!
+
+spawnProfilerStatistics:statistics in: where
+
+ self
+ newBrowserOrBufferDependingOn: where
+ label:'Visual Profiler'
+ forSpec:#visualProfilerSpec
+ setupWith: [:browser|
+ browser profilerStatistics value: statistics]
+
+ "Created: / 09-10-2007 / 22:05:36 / janfrog"
! !
!NewSystemBrowser class methodsFor:'documentation'!
-version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1536 2011-06-22 11:52:31 stefan Exp $'
-!
-
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1536 2011-06-22 11:52:31 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1537 2011-07-03 14:26:37 cg Exp $'
+!
+
+version_SVN
+ ^ '§Id: Tools__NewSystemBrowser.st 7797 2011-06-28 07:45:06Z vranyj1 §'
! !
NewSystemBrowser initialize!