Added support for custom menu building and injecting into class browser's menus.
Added CustomPerspective, an enum-like class describing a use's view `perspective` - class,
instance variable, method, package etc. Added methods here and there to make to bring
whole thing to life. Added CustomFooBarBazGenerator as an example.
"{ Package: 'jn:refactoring_custom' }"!
!Tools::NewSystemBrowser methodsFor:'menus extensions-custom refactorings'!
classMenuExtensionCustomRefactorings:aMenu
<menuextension: #classMenu>
| item index perspective context |
item := MenuItem label:(resources string:'Generate - Custom').
perspective := CustomPerspective classPerspective.
context := CustomContext perspective:perspective
state:self navigationState.
item submenuChannel:[ CustomMenuBuilder buildMenuForContext:context ].
index := aMenu indexOfMenuItemForWhich:[:each | each label = 'Generate' ].
index ~~ 0 ifTrue:[
aMenu addItem:item beforeIndex:index + 1.
] ifFalse:[
aMenu addItem:item.
].
"Created: / 26-01-2014 / 13:22:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 26-01-2014 / 23:36:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!jn_refactoring_custom class methodsFor:'documentation'!
extensionsVersion_HG
^ '$Changeset: <not expanded> $'
! !