Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions src/NewTools-MethodBrowsers/StMethodBrowser.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ Class {
'refreshingBlock',
'textPresenter',
'highlight',
'filterPresenter',
'reuseWindowCheckbox'
'filterPresenter'
],
#classVars : [
'NavigateInPlace',
Expand Down Expand Up @@ -544,7 +543,6 @@ StMethodBrowser >> horizontalLayout [
add: (SpBoxLayout newTopToBottom
add: methodList;
add: filterPresenter filterInputPresenter expand: false;
add: reuseWindowCheckbox expand: false;
yourself);
add: (SpBoxLayout newTopToBottom
add: textPresenter;
Expand Down Expand Up @@ -578,11 +576,7 @@ StMethodBrowser >> initializePresenters [
filterPresenter := self instantiate: SpFilteringListPresenter.
filterPresenter matchSubstring.
filterPresenter display: [ :m | (self methodClassNameForItem: m) , ' >> ' , m selector ].
reuseWindowCheckbox := self newCheckBox
label: 'Reuse window';
help: 'If checked, new searches will replace current results.';
state: self class navigateInPlace;
whenChangedDo: [ :state | self class navigateInPlace: state ].

self initializeDropList
]

Expand Down Expand Up @@ -951,7 +945,6 @@ StMethodBrowser >> verticalLayout [
add: (SpBoxLayout newTopToBottom
add: methodList;
add: filterPresenter filterInputPresenter expand: false;
add: reuseWindowCheckbox expand: false;
yourself);
add: (SpBoxLayout newTopToBottom
add: textPresenter;
Expand Down
9 changes: 6 additions & 3 deletions src/NewTools-MethodBrowsers/StMethodBrowserTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -214,14 +214,17 @@ StMethodBrowserTest >> testRefreshingBlockWithLiteralString [
{ #category : 'tests' }
StMethodBrowserTest >> testReuseWindowCheckboxInitialState [

| presenter |
| presenter initialSetting |
initialSetting := StMethodBrowser navigateInPlace.
[
StMethodBrowser navigateInPlace: true.
presenter := StMethodBrowser new.
self assert: (presenter instVarNamed: #reuseWindowCheckbox) state.
self assert: presenter toolbarPresenter reuseWindowButton state.
StMethodBrowser navigateInPlace: false.
presenter := StMethodBrowser new.
self deny: (presenter instVarNamed: #reuseWindowCheckbox) state ] ensure: [ presenter ifNotNil: [ presenter delete ] ]
self deny: presenter toolbarPresenter reuseWindowButton state ] ensure: [
StMethodBrowser navigateInPlace: initialSetting.
presenter ifNotNil: [ presenter delete ] ]
]

{ #category : 'tests' }
Expand Down
72 changes: 49 additions & 23 deletions src/NewTools-MethodBrowsers/StMethodToolbarPresenter.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ Class {
'versionButton',
'dropList',
'toolbarPresenter',
'messageList'
'messageList',
'reuseWindowButton'
],
#category : 'NewTools-MethodBrowsers-Base',
#package : 'NewTools-MethodBrowsers',
Expand Down Expand Up @@ -97,48 +98,67 @@ StMethodToolbarPresenter >> emptyDropList [
dropList emptyList
]

{ #category : 'as yet unclassified' }
StMethodToolbarPresenter >> iconForReuseState: aBoolean [

^ aBoolean
ifTrue: [ self iconNamed: #checkboxSelected ]
ifFalse: [ self iconNamed: #checkboxUnselected ]
]

{ #category : 'initialization' }
StMethodToolbarPresenter >> initializePresenters [

(browseButton := self newToolbarButton)
label: 'Browse';
label: 'Browse';
icon: (self iconNamed: #smallSystemBrowser);
help: 'Browse current selected method';
action: [ self doBrowseMethod ].
(usersButton := self newToolbarButton)
label: 'References';
(usersButton := self newToolbarButton)
label: 'References';
icon: (self iconNamed: #smallFind);
help: 'Browse references of current selected class';
action: [ self doBrowseUsers ].
(sendersButton := self newToolbarButton)
label: 'Senders';
(sendersButton := self newToolbarButton)
label: 'Senders';
icon: (self iconNamed: #smallFind);
help: 'Browse senders of current selected method';
action: [ self doBrowseSenders ].
(implementorsButton := self newToolbarButton)
label: 'Implementors';
(implementorsButton := self newToolbarButton)
label: 'Implementors';
icon: (self iconNamed: #smallFind);
help: 'Browse implementors of current selected method';
action: [ self doBrowseImplementors ].
(versionButton := self newToolbarButton)
label: 'Versions';
(versionButton := self newToolbarButton)
label: 'Versions';
icon: (self iconNamed: #history);
help: 'Browse versions of current selected method';
action: [ self doBrowseVersions ].

toolbarPresenter := self newToolbar
displayMode: self application toolbarDisplayMode;
add: browseButton;
add: usersButton;
add: sendersButton;
add: implementorsButton;
add: versionButton;
yourself.

reuseWindowButton := self newToolbarToggleButton
label: 'Reuse window';
help: 'If checked, new searches will replace current results.';
state: StMethodBrowser navigateInPlace;
icon: (self iconForReuseState: StMethodBrowser navigateInPlace);
whenActivatedDo: [
StMethodBrowser navigateInPlace: true.
reuseWindowButton icon: (self iconForReuseState: true) ];
whenDeactivatedDo: [
StMethodBrowser navigateInPlace: false.
reuseWindowButton icon: (self iconForReuseState: false) ].
toolbarPresenter := self newToolbar
displayMode: self application toolbarDisplayMode;
add: browseButton;
add: usersButton;
add: sendersButton;
add: implementorsButton;
add: versionButton;
add: reuseWindowButton;
yourself.

dropList := self newDropList
display: [ :item | item label ];
whenSelectedItemChangedDo: [ :item | item value ];
yourself
display: [ :item | item label ];
whenSelectedItemChangedDo: [ :item | item value ];
yourself
]

{ #category : 'accessing' }
Expand Down Expand Up @@ -166,6 +186,12 @@ StMethodToolbarPresenter >> replaceVersionWithLabel: aString action: aBlock [
action: aBlock
]

{ #category : 'accessing' }
StMethodToolbarPresenter >> reuseWindowButton [

^ reuseWindowButton
]

{ #category : 'accessing' }
StMethodToolbarPresenter >> selectFirst [

Expand Down
Loading