Skip to content
21 changes: 20 additions & 1 deletion src/NewTools-MethodBrowsers/StMethodBrowser.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,12 @@ StMethodBrowser >> addHighlightedSegments [
yourself) ]
]

{ #category : 'private - scopes' }
StMethodBrowser >> allScopes [

^ methodList allScopes
]

{ #category : 'to remove' }
StMethodBrowser >> autoSelect: aString [
"this is just to absorb system navigation for now"
Expand All @@ -357,6 +363,12 @@ StMethodBrowser >> classRenamed: anAnnouncement [
self handleClassRenamed: anAnnouncement ]
]

{ #category : 'accessing' }
StMethodBrowser >> codeEditor [

^ textPresenter
]

{ #category : 'initialization' }
StMethodBrowser >> connectPresenters [

Expand Down Expand Up @@ -573,9 +585,15 @@ StMethodBrowser >> initializeDropList [
{ #category : 'initialization' }
StMethodBrowser >> initializePresenters [

| methodCodePresenter |
super initializePresenters.


methodCodePresenter := self instantiate: StMethodCodePresenter.
methodCodePresenter methodBrowser: self.

textPresenter := self newCodeEditor.
textPresenter codePresenter: methodCodePresenter.
refreshingBlock := [ :item | true ].
filterPresenter := self instantiate: SpFilteringListPresenter.
filterPresenter matchSubstring.
Expand Down Expand Up @@ -822,7 +840,8 @@ StMethodBrowser >> selectItem: item [
| text |

toolbarPresenter method: item.
textPresenter beForMethod: item.

textPresenter codePresenter beForMethod: item.
text := (self textConverter
method: item;
getText).
Expand Down
51 changes: 51 additions & 0 deletions src/NewTools-MethodBrowsers/StMethodCodePresenter.class.st
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
"
I represent a code presenter used for the method browser, as I provide a refactoring command group
"
Class {
#name : 'StMethodCodePresenter',
#superclass : 'SpCodePresenter',
#instVars : [
'methodBrowser'
],
#category : 'NewTools-MethodBrowsers-Base',
#package : 'NewTools-MethodBrowsers',
#tag : 'Base'
}

{ #category : 'commands' }
StMethodCodePresenter class >> buildCommandsGroupWith: presenter forRoot: aCmCommandsGroup [

presenter methodBrowser ifNotNil: [ aCmCommandsGroup register: presenter refactoringCommandsGroup ].
super buildCommandsGroupWith: presenter forRoot: aCmCommandsGroup
]

{ #category : 'accessing' }
StMethodCodePresenter >> methodBrowser [

^ methodBrowser
]

{ #category : 'accessing' }
StMethodCodePresenter >> methodBrowser: aBrowser [

methodBrowser := aBrowser
]

{ #category : 'intialization' }
StMethodCodePresenter >> refactoringCommandsGroup [

| group |
group := (CmCommandGroup named: 'Source Code') asSpecGroup
beDisplayedAsSubMenu;
iconName: #smallAuthoringTools;
yourself.
{
StRenameClassCommand.
StExtractTempCommand.
StConvertTempToInstVarCommand.
StInlineMethodCommand.
StRenameArgOrTempCommand.
StGenerateVariableAccessorCommand.
StMoveInstanceVariableToClassSideCommand } do: [ :cmdClass | group register: (cmdClass forSpecContext: methodBrowser) ].
^ group
]
Loading