A new version of ToolBuilder-Kernel was added to project The Inbox: http://source.squeak.org/inbox/ToolBuilder-Kernel-nice.50.mcz
==================== Summary ====================
Name: ToolBuilder-Kernel-nice.50 Author: nice Time: 30 June 2011, 9:04:23.466 pm UUID: 793c6ce7-f33e-455a-9fa0-eb21ab0db0de Ancestors: ToolBuilder-Kernel-cmm.49
Enrich the PluggableMenuItemSpec.
Is it a good idea ? Either the specs are the intersection or the union of various builder capabilities.
If intersection, then toolbuilderized GUI will be poor, but it will be easier to bring up a new builder (less features to implement).
If union, then we can be richer AND bring up a new builder gradually. BUT applications shall be prepared deal with absence of a feature...
=============== Diff against ToolBuilder-Kernel-cmm.49 ===============
Item was changed: ToolBuilderSpec subclass: #PluggableMenuItemSpec + instanceVariableNames: 'label action checked enabled separator subMenu icon enablement wordingProvider wordingSelector enablementSelector wordingArgument' - instanceVariableNames: 'label action checked enabled separator subMenu' classVariableNames: '' poolDictionaries: '' category: 'ToolBuilder-Kernel'!
Item was added: + ----- Method: PluggableMenuItemSpec>>enablementSelector (in category 'accessing') ----- + enablementSelector + ^enablementSelector!
Item was added: + ----- Method: PluggableMenuItemSpec>>enablementSelector: (in category 'accessing') ----- + enablementSelector: aSelector + enablementSelector := aSelector!
Item was added: + ----- Method: PluggableMenuItemSpec>>hasCheckBox (in category 'accessing') ----- + hasCheckBox + ^ checked notNil!
Item was added: + ----- Method: PluggableMenuItemSpec>>icon (in category 'accessing') ----- + icon + ^ icon!
Item was added: + ----- Method: PluggableMenuItemSpec>>icon: (in category 'accessing') ----- + icon: aForm + icon := aForm!
Item was added: + ----- Method: PluggableMenuItemSpec>>isUpdating (in category 'testing') ----- + isUpdating + "Answer whether this menu item requires being dynamically updated." + + ^wordingSelector notNil or: [enablementSelector notNil]!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingArgument (in category 'accessing') ----- + wordingArgument + ^ wordingArgument!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingArgument: (in category 'accessing') ----- + wordingArgument: anArgument + wordingArgument := anArgument!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingProvider (in category 'accessing') ----- + wordingProvider + ^ wordingProvider!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingProvider: (in category 'accessing') ----- + wordingProvider: anObject + wordingProvider := anObject!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingProvider:wordingSelector: (in category 'accessing') ----- + wordingProvider: anObject wordingSelector: aSelector + wordingProvider := anObject. + wordingSelector := aSelector!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingSelector (in category 'accessing') ----- + wordingSelector + ^ wordingSelector!
Item was added: + ----- Method: PluggableMenuItemSpec>>wordingSelector: (in category 'accessing') ----- + wordingSelector: aSelector + wordingSelector := aSelector!
Item was added: + ----- Method: PluggableMenuSpec>>add:selector:argumentList: (in category 'construction') ----- + add: aString selector: aSelector argumentList: anArray + ^self add: aString action: (MessageSend + receiver: model + selector: aSelector + arguments: anArray).!
squeak-dev@lists.squeakfoundation.org