can Spec applications add additional items to standard SystemWindow menu
I want a Spec application to add an additional item to the System Window Menu. Is this possible? So far I have missed how it might be done. This System Window Menu seems to come from... SystemWindow>>offerWindowMenu | aMenu | aMenu := self buildWindowMenu. model ifNotNil: [model addModelItemsToWindowMenu: aMenu]. aMenu popUpEvent: self currentEvent in: self world where #buildWindowMenu produces a standard menu from pragmas and custom model specific menu items can be added with #addModelItemsToWindowMenu:. In the case of PharoLauncher, 'model' is a MorphicWindowAdapter for which #addModelItemsToWindowMenu: is a null-method inherited from Object. So maybe 'model' needs to be a different class somehow? Alternatively, I see that SpecWindow inherits from SystemWindow, so maybe #buildWindowMenu can be overridden to add menu items from subclasses of ComposableModel ? cheers -ben
Now, you can :P See case 11958[1] Ben [1] https://pharo.fogbugz.com/default.asp?11958 On Oct 19, 2013, at 6:49 AM, btc@openInWorld.com wrote:
I want a Spec application to add an additional item to the System Window Menu. Is this possible? So far I have missed how it might be done.
This System Window Menu seems to come from...
SystemWindow>>offerWindowMenu | aMenu | aMenu := self buildWindowMenu. model ifNotNil: [model addModelItemsToWindowMenu: aMenu]. aMenu popUpEvent: self currentEvent in: self world
where #buildWindowMenu produces a standard menu from pragmas and custom model specific menu items can be added with #addModelItemsToWindowMenu:.
In the case of PharoLauncher, 'model' is a MorphicWindowAdapter for which #addModelItemsToWindowMenu: is a null-method inherited from Object. So maybe 'model' needs to be a different class somehow? Alternatively, I see that SpecWindow inherits from SystemWindow, so maybe #buildWindowMenu can be overridden to add menu items from subclasses of ComposableModel ?
cheers -ben
XXXX new openWithSpec is usually the magic :P Ben On Oct 19, 2013, at 5:56 PM, btc@openInWorld.com wrote:
wow. so fast!!! So I am trying to do my bit and test this in a fresh image. I see the Spec-Examples category, but how do I run these. There is not something obvious on the class side like #open.
cheers -ben
Benjamin wrote:
Now, you can :P
See case 11958[1]
Ben [1] https://pharo.fogbugz.com/default.asp?11958
On Oct 19, 2013, at 6:49 AM, btc@openInWorld.com wrote:
I want a Spec application to add an additional item to the System Window Menu. Is this possible? So far I have missed how it might be done.
This System Window Menu seems to come from...
SystemWindow>>offerWindowMenu | aMenu | aMenu := self buildWindowMenu. model ifNotNil: [model addModelItemsToWindowMenu: aMenu]. aMenu popUpEvent: self currentEvent in: self world
where #buildWindowMenu produces a standard menu from pragmas and custom model specific menu items can be added with #addModelItemsToWindowMenu:.
In the case of PharoLauncher, 'model' is a MorphicWindowAdapter for which #addModelItemsToWindowMenu: is a null-method inherited from Object. So maybe 'model' needs to be a different class somehow? Alternatively, I see that SpecWindow inherits from SystemWindow, so maybe #buildWindowMenu can be overridden to add menu items from subclasses of ComposableModel ?
cheers -ben
participants (2)
-
Benjamin -
btc@openinworld.com