Skip to content

Commit

Permalink
Add a menu entry for browsing class references
Browse files Browse the repository at this point in the history
  • Loading branch information
chisandrei committed Jul 17, 2024
1 parent 3415845 commit 6c14a57
Showing 1 changed file with 45 additions and 16 deletions.
61 changes: 45 additions & 16 deletions src/GToolkit-Pharo-Coder-AddOns/GtPharoSourceCoder.extension.st
Original file line number Diff line number Diff line change
Expand Up @@ -58,25 +58,54 @@ GtPharoSourceCoder >> addBaselinePackageMenuItemsFor: anAst to: coderAddOns from
{ #category : #'*GToolkit-Pharo-Coder-AddOns' }
GtPharoSourceCoder >> addClassMenuAddOnsAst: anAst to: coderAddOns from: aCoderViewModel [
<gtCoderContextMenuAddOns: 13>

(self extractableNodesFrom: aCoderViewModel)
ifNotEmpty: [ :nodes |
self
addClassNodeLinkMenuAddOnsTo: coderAddOns
node: nodes first
selector: #browseBehaviorAt:requesterObject:
shortcut: GtSourceCoderBrowseBehaviorShortcut new
requesterObject: aCoderViewModel ]
]

{ #category : #'*GToolkit-Pharo-Coder-AddOns' }
GtPharoSourceCoder >> addClassNodeLinkMenuAddOnsTo: coderAddOns node: node selector: sel shortcut: aShortcut requesterObject: aRequester [
| foundClass |


node isVariable ifFalse: [ ^ self ].
self
variableNodeToBehavior: node
ifFound: [ :aClass | foundClass := aClass ]
ifNone: [ ^ self ].

coderAddOns
addContextMenuItem: (self
createLabel: aShortcut name
description: foundClass name)
hover: (self highlightNodeBlock: node)
leave: self removeHighlightBlock
action: [ :aTextualViewModel |
self
perform: sel
with: node startPosition
with: aRequester ]
shortcutKey: aShortcut combinationForPlatform gtDisplayString
]

{ #category : #'*GToolkit-Pharo-Coder-AddOns' }
GtPharoSourceCoder >> addClassReferencesMenuAddOnsAst: anAst to: coderAddOns from: aCoderViewModel [
<gtCoderContextMenuAddOns: 13>

(self extractableNodesFrom: aCoderViewModel)
ifNotEmpty: [ :nodes |
| node |
node := nodes first.
node isVariable ifFalse: [ ^ self ].
self
variableNodeToBehavior: node
ifFound: [ :aClass | foundClass := aClass ]
ifNone: [ ^ self ].
coderAddOns
addContextMenuItem: (self
createLabel: 'Browse class'
description: foundClass name)
hover: (self highlightNodeBlock: node)
leave: self removeHighlightBlock
action: [ :aTextualViewModel |
self browseBehaviorAt: node startPosition requesterObject: nil ]
shortcutKey: GtSourceCoderBrowseBehaviorShortcut new combinationForPlatform gtDisplayString ]
self
addClassNodeLinkMenuAddOnsTo: coderAddOns
node: nodes first
selector: #browseReferencesAt:requesterObject:
shortcut: GtSourceCoderBrowseReferencesShortcut new
requesterObject: aCoderViewModel ]
]

{ #category : #'*GToolkit-Pharo-Coder-AddOns' }
Expand Down

0 comments on commit 6c14a57

Please sign in to comment.