(name 'ToolBuilder-Kernel-cwp.53' message 'Added icon support for ToolBuilder-Morphic.' id '1f09affc-a701-45ed-9224-925fc91a13a2' date '8 December 2011' time '1:00:37 pm' author 'cwp' ancestors ((name 'ToolBuilder-Kernel-cmm.52' message 'Fix ability to safely catch Notification so that, if #displayProgressAt:from:to:during:  is sent, will actually execute the during block.' id '54416a65-63c1-4ba4-959e-7f1f7db3aa62' date '18 October 2011' time '8:12:42.168 pm' author 'cmm' ancestors ((name 'ToolBuilder-Kernel-dtl.51' message 'Provide updating button for "what to show" button on CodeHolder, similar to Squeak 3.8 behavior. This button activates a menu, and displays the resulting menu selection. For the default look, normal buttons are rounded and the menu activation button is square (vice versa if the "Rounded Button Corners" preference is disabled). When menu selection is changed, the button label displays the selected mode (''source'', ''decompile'', ''bytecodes'' etc).

Changes are in four packages.

ToolBuilder-Kernel:
- Add PluggableButtonSpec>>style to provide style hint. Used to suggest that a button should be rendered differently, in this case rounded versus square corners.
- Add changeLableWhen: to connect pluggable button with change notification, in this case to allow update: #contents to result in a label update in the dependent button.

ToolBuilder-Morphic:
- Add #whenChanged:update: as a mechanism for hooking change events to button updates, allowing an individual button to respond to e.g. self changed: #contents in the model.
- Update MorphicToolBuilder>>buildPluggableButton to make use of style and changeLabelWhen in the widget spec.

Tools:
 - Update CodeHolder>>buildCodeProvenanceButtonWith: to add style hint for round/ square corners and changeLableWhen: for change notification to the widget spec.

Note: ToolBuilder has PluggableDropDownListSpec which is presumably intended to describe a drop-down list widget. This is currently unused in the image, but in future might provide a better approach than the current action button with menu approach.

Morphic:
- Let style hint control rounded versus square corners for a PluggableButtonMorph. May be used as a visual cue to distinguish simple action buttons from buttons that invoke a selection menu (e.g. "what to show" button for a CodeHolder).
- Instance var #style was added to PluggableButtonMorph, so must also update #veryDeepInner: to match (problem detected by DeepCopier>>checkClass: called from ChangeSet>>fileOutClassDefinition:on:).' id '16fa4b50-f267-4772-bc5e-c1af7472cde0' date '28 September 2011' time '7:46:21.041 pm' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-cmm.49' message '- Moved ProgressInitiationException to this package from Exceptions.
- Moved String>>#displayProgressAt:  from:  to:  during: to this package.
- Removed UIManager>>#screen in favor of #screenBounds, since that was all that was needed at this level.' id 'd98e6d48-baa2-ea48-9617-15c9eb24f58d' date '15 June 2011' time '3:09:22.146 pm' author 'cmm' ancestors ((name 'ToolBuilder-Kernel-cmm.48' message 'Added UIManager>>screen to provide access to the Display.  ToolBuilder subclasses already have several dependencies on Graphics, so this does not, in a practical sense, add a new dependency on Graphics.' id 'b0bc3b05-7fe2-8847-8af3-5831ca1777aa' date '15 June 2011' time '11:23:16.939 am' author 'cmm' ancestors ((name 'ToolBuilder-Kernel-ul.47' message 'No changes, just merge with dtl.41 to avoid manual merging.' id 'cee71418-a835-ac43-92f1-afc9dd56143c' date '13 March 2011' time '11:28:42.904 pm' author 'ul' ancestors ((name 'ToolBuilder-Kernel-dtl.46' message 'A Project has a UIManager, and a UIManager has a ToolBuilder, so add #toolBuilder ivar to UIManager and initialize accordingly. This facilitates setting up the appropriate UIManager and ToolBuilder to allow SMxMorphicProject to host a SimpleMorphic world.

Change Toolbuilder class>>default to always ask the default UI manager for its tool builder. Remove class var Default (this was provided in the ToolBuilder package but never used in Squeak). Deprecate ToolBuilder class>>default:

Background: In previous Squeak usage, ToolBuilder class>>default always invoked a search for the appropriate ToolBuilder subclass, and class var Default was unused (this is awkward if more than one kind of ToolBuilder could be used in a project that #isMorphic). This change makes the default tool builder an explicit attibute of the active UI manager.' id '5a2e8628-078c-4aed-a441-b9f9fb844e32' date '5 March 2011' time '1:05:35.352 pm' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-dtl.45' message 'Resubmit for update stream' id 'e818b263-f3cf-4da2-a087-1c6543b891f6' date '5 March 2011' time '11:06:48.05 am' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-dtl.44' message 'ToolBuilder-Kernel-cmm.40' id 'd4335023-a6c6-4d97-a427-dc5c1aa0e5ae' date '5 March 2011' time '10:33:48.024 am' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-cmm.40' message 'Fix regression trying browse a type-suggesting parameter name.' id 'b4aa2013-24a9-47e1-844f-e8cf6fcb0485' date '23 December 2010' time '2:17:48.534 pm' author 'cmm' ancestors ((name 'ToolBuilder-Kernel-ul.39' message '- added UIManager >> #chooseClassOrTrait:from: as a common way to select a class or trait from an environment (SystemDictionary)' id '68b3bc0b-91c7-8e4c-8ad1-1f9a1ae18f3a' date '12 December 2010' time '11:18:16.463 pm' author 'ul' ancestors ((name 'ToolBuilder-Kernel-ar.38' message 'Merging ToolBuilder-Morphic-rww.68:

I added PluggableDropDownListMorph and the infrastructure to build one.  PluggableDropDownListMorph>>#installDropDownList is the method that builds the Morphs.   I am currently building a label with a button.  There is no drop down list.  I was thinking a Menu would work, but a list would be better.' id '8926588c-0e9a-9a4b-9fff-f6f8629ad0f4' date '23 September 2010' time '9:12:49.045 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-dtl.37' message 'MVC fixes by Florin Mateoc to address debugger opening, including low space interrupt and user interrupt in MVC.' id '5143c819-3218-47df-a786-3be5a3ab0793' date '12 September 2010' time '3:44:20.172 pm' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-eem.36' message 'ToolBuilder support for browser multi-windows.
2 of 4 (Morphic, ToolBuilder-Kernel, ToolBuilder-Morphic, Tools).' id '0eabb89d-7ae2-45a8-808d-8bc867f71b5a' date '1 July 2010' time '11:51:06.882 am' author 'eem' ancestors ((name 'ToolBuilder-Kernel-ar.35' message 'Merging ToolBuilder-Kernel-fbs.34:

Add #color to the PluggableListSpec.

Since PluggableButtonSpec and PluggableTextSpec already have #color, so #color and #color: and the instvar have been pulled up into PluggableWidgetSpec.' id 'b970d4a1-310a-884b-82f1-b7e69868de1b' date '5 May 2010' time '10:37:08.882 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-dtl.34' message 'Associate an instance of UIManager with each project, such that UIManager current refers to an appropriate instance for that type of project. Remove incomplete implementation of caching the current UIManager instance in class UIManager.

Update class comment for UIManager.' id 'd9bb885a-17d0-45ae-b93e-04cdf4e05a9f' date '2 May 2010' time '6:15:49.448 pm' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-MAD.33' message 'added support for keystroke preview for lists' id 'd44bfd93-b4c4-6148-98d4-222ef74b9903' date '15 March 2010' time '11:50:52.079 am' author 'MAD' ancestors ((name 'ToolBuilder-Kernel-cmm.32' message '- Support for newly introduced AlternatePluggableListMorphOfMany.' id '6fcc688b-054c-499a-a77c-63d7aa2ad763' date '2 March 2010' time '5:38:33.25 pm' author 'cmm' ancestors ((name 'ToolBuilder-Kernel-dtl.31' message 'Add UIManager>>request:initialAnswer:centerAt: to remove MVC dependency from MessageSet.' id '9c0d4906-e5f8-4b7b-9c11-281e9f8ed8eb' date '12 February 2010' time '9:58:39.069 pm' author 'dtl' ancestors ((name 'ToolBuilder-Kernel-mtf.30' message 'Merged in Cobalt branch of ToolBuilder. This includes the addition of a few properties, and moving the help ivar all the way to the top of the spec heirarchy, since so many subclasses used it' id 'a504d465-9fe6-4a72-8977-15ba06a84a78' date '22 January 2010' time '7:35:18.042 pm' author 'mtf' ancestors ((name 'ToolBuilder-Kernel-jrd.29' message 'Changed:

- Added cinfirm with label dialog method to UIManager' id 'b347b9f9-ec5f-4fa0-800e-7c6407bb0869' date '17 May 2009' time '11:17:09 pm' author 'jrd' ancestors ((name 'ToolBuilder-Kernel-jrd.28' message 'Changed:

- Added isDialog ivar and accessors to the PluggableWindowSpec.  Purpost of the flag it to hint that the window look and feel should be that of a dialog box.' id '199bf868-0792-4460-829a-f901e31528b9' date '10 December 2008' time '11:59:52 pm' author 'jrd' ancestors ((name 'ToolBuilder-Kernel-mvdg.27' message 'Reshuffle inst vars to hopefully avoid package loading bug (related to removing and adding instvars)' id 'ee1a03c2-d41b-478c-84f0-a858efa11698' date '21 March 2008' time '9:02:33 pm' author 'mvdg' ancestors ((name 'ToolBuilder-Kernel-mvdg.26' message 'Re-arrange instance variable declarations to make package load properly. Removed Gulik-ism (self assert: [ x isKindOf: Y }).' id 'a35d2e30-e289-40e6-b685-bc4c0bc3b627' date '21 March 2008' time '6:13:24 pm' author 'mvdg' ancestors ((name 'ToolBuilder-Kernel-dc.25' message '- Fixes 6684: No way of specifying okLabel and cancelLabel in UIManager>>confirm:' id 'a0a370a8-ead8-4ff3-ab92-034e53c01b2a' date '10 January 2008' time '8:21:14 am' author 'dc' ancestors ((name 'ToolBuilder-Kernel-mvdg.24' message 'Remove bogus assertion.' id '93eddcc9-598f-45bf-93c8-c42a831afb6b' date '24 November 2007' time '4:37:05 pm' author 'mvdg' ancestors ((name 'ToolBuilder-Kernel-mtf.23' message 'merged my list size and item plugs with latest changes from SqueakSource and 3.10' id '946aec6a-b4c1-4ec0-82c6-5f97fbd17c5b' date '21 October 2007' time '2:53:27 am' author 'mtf' ancestors ((name 'ToolBuilder-Kernel-mtf.22' message 'added list size and list item hints for PluggableLists' id 'f84a0ed1-529a-46b8-a36f-2fceb3777157' date '21 October 2007' time '2:47:52 am' author 'mtf' ancestors ((name 'ToolBuilder-Kernel-mtf.21' message 'added an addList: method to PluggableListSpec. This turns a literal, easy-to-read array into a menu' id '7c20f14f-ce41-e346-88f5-fb25b057c52a' date '10 October 2007' time '3:50:26 pm' author 'mtf' ancestors ((name 'ToolBuilder-Kernel-mtf.20' message '- renamed PluggableListSpec>>size to listSize
- added PluggableListSpec>>listItem, as an optimization to only fetch items in view rather than the whole list, when scrolling' id '2ec5bc95-64ec-074a-865f-cf92494e9a5c' date '27 September 2007' time '11:31:14 am' author 'mtf' ancestors ((name 'ToolBuilder-Kernel-mtf.19' message 'added a #size variable to PluggableListSpec. This is a quick way to get the list size without computing the whole list. It is already supported in Morphic' id 'e7d5e3fa-e596-0c4d-bc9e-fd9f65d62e78' date '27 September 2007' time '10:47:10 am' author 'mtf' ancestors ((name 'ToolBuilder-Kernel-rej.18' message 'Get rid of a bad test.' id 'd2ff1d0e-7711-4396-abe3-d096e95bf109' date '5 March 2007' time '9:49:50 am' author 'rej' ancestors ((name 'ToolBuilder-Kernel-cwp.17' message 'Changed ToolBuilderTests to use #subclassResponsibility rather than ''assert: false'' to indicate that it''s an abstract class. 

The fix to mantis issue #3588 was totally bogus, and probably stems confusion over this use of ''assert: false''.' id '101a0378-c42e-4ffc-a7a3-679c88f66ee4' date '14 July 2006' time '11:39:11 am' author 'cwp' ancestors ((name 'ToolBuilder-Kernel-ar.16' message '- merge  3.9 changes' id '0b9a3032-30c7-384a-9d15-78b4cdfae6f7' date '12 July 2006' time '5:20:08 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.15' message '- add PluggableMenuItemSpec' id '0ba5fa66-9b5b-3a43-b335-bb98409c457a' date '28 February 2006' time '5:49:48 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.14' message '- add a closeAction to window spec so clients can be informed when a window is closed.
- update tests to include close action.
' id '0c12020a-a85e-cc4d-be89-6e1d5ec6ed44' date '17 September 2005' time '9:09:48 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.13' message 'New features for UIManager:
- request to edit a text and (optionally) perform an action when accepted
- request a directory
- request a file name matching some pattern
' id '56343c4a-474f-5640-a3cd-0c97010e3df0' date '17 July 2005' time '12:30:49 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.12' message '- add drag and drop support for lists
- add drag and drop support for trees
- add UIManager interface for choosing from specific values' id 'c0d71b92-0e46-0849-b42d-26527313e73c' date '16 July 2005' time '12:56:16 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.11' message '- allow retrieving widgets via their #name in using #widgetAt: and #widgetAt:ifAbsent:
- add the tests for all ToolBuilder variants.' id '10a63514-340e-304f-ad76-08a0fb7b0fdc' date '14 July 2005' time '10:43:24 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.10' message '- add tests for initially enabled/disabled selectors' id 'c2b6731a-3a2c-e147-b0be-3c40cc328b18' date '21 June 2005' time '11:02:45 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.9' message '- add tests for buttons being statically enabled/disabled
- revert ToolBuilderSpec>>buildWith: to subclass responsibility
- add PluggableMenuSpec>>buildWith: instead
- make PluggableButtonSpec>>enabled default to true.' id '75deb73c-c7e5-a749-8263-cbe9eca3c38a' date '21 June 2005' time '10:49:27 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-cwp.8' message 'Merge in PluggableMenuSpec.' id 'fddf812b-bdf1-bf4c-a501-9ff4cfc31ca7' date '17 June 2005' time '9:36:57 pm' author 'cwp' ancestors ((name 'ToolBuilder-Kernel-ar.7' message '- added some comments
- added ToolBuilder>>close: closing widgets programatically
- added ToolBuilder>>runModal: to support modal dialogs' id 'b18374f5-32bf-9c47-a581-84a8bb200dbd' date '5 June 2005' time '12:49:24 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.6' message '- fix typo in pane vs. panel' id 'f8d22e81-ebca-0f45-89a2-5b8ae9b8a3b5' date '5 June 2005' time '12:33:52 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-cwp.5' message 'Added a name ivar to all specs so that the corresponding widgets can be found by name for testing. ' id '81d4f69b-cc38-4b6e-8bd8-d7903a12cfd3' date '25 April 2005' time '4:44:08 am' author 'cwp' ancestors ((name 'ToolBuilder-Kernel-ar.4' message 'Added #informUser:during: from Utilities.' id 'a227b18d-c9e0-ac46-8b21-8e04631efc28' date '28 February 2005' time '8:54:04 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.3' message 'Added:
* multiLineRequest:
* displayProgress:
* informUserDuring:' id '4fdf1faa-59f9-5245-adc0-c702fba760bb' date '28 February 2005' time '5:22:40 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.2' message 'Some cleanup.' id 'b5084ec3-50c1-ad4e-b1f4-c2022bc1c27e' date '12 February 2005' time '11:17:41 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.1' message 'Initial Version.' id '0ece5810-aaf5-2147-8981-eaa64863037e' date '12 February 2005' time '9:35:34 pm' author 'ar' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-cwp.6' message 'Implemented the basics of PluggableMenuSpec' id '0f267f63-d8e7-11d9-aa4e-000d937adc5a' date '9 June 2005' time '9:04:48 am' author 'cwp' ancestors ((id '81d4f69b-cc38-4b6e-8bd8-d7903a12cfd3')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-sd.15' message '003513: [ENH] ToolBuilderBldEnh-KR
Description
ToolBuilder>>(class)build: 
enable default builder to build objects without opening.
It''s useful for building authoring prototypes for ToolBuilder-based tools in parts bin.' id '25da5c6d-dda5-47f5-9b17-12bc6d4b530c' date '29 April 2006' time '10:42:29 pm' author 'sd' ancestors ((name 'ToolBuilder-Kernel-stephaneducasse.14' message 'fixing underscores' id '2bb9889a-d5d2-4710-82ec-3927c38c3d9f' date '3 February 2006' time '10:37:11 pm' author 'stephaneducasse' ancestors ((id '56343c4a-474f-5640-a3cd-0c97010e3df0')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-mvdg.20' message 'Drag and drop support for tree widgets added.' id '8a8c2335-2cae-4fe2-ad05-0539933148b6' date '14 March 2007' time '10:10:22 pm' author 'mvdg' ancestors ((name 'ToolBuilder-Kernel-mvdg.19' message 'Added drag+drop support for trees. This is a spec change that someone will have to approve (I guess..?)' id 'a48dec0f-0101-4537-9f91-9cd70b44bdc7' date '14 March 2007' time '10:08:14 pm' author 'mvdg' ancestors ((name 'ToolBuilder-Kernel-ar.18' message '- integrate http://bugs.impara.de/view.php?id=5522

0005522: ToolBuilderSpec help support restricted to tree, menu item, and button specs.

Only PluggableMenuItemSpec, PluggableTreeSpec, and PluggableButtonSpec classes have a instvar #help with accessors and corresponding buildWith: handler method that provide help-text rendering. This should be generalized to any element and rendered wherever possible.

Attached is a suggested changeset for refactoring the instvar and accessors up to the generic ToolBuilderSpec class, as well as adding a generic handler for setting the balloon text for Morphic UI specs. I cannot say how well this will work for Tweak, but I imagine it is not difficult.' id 'eee7c28a-63c7-d546-a9db-eb7a0041cc8b' date '26 November 2006' time '4:19:23 pm' author 'ar' ancestors ((id '101a0378-c42e-4ffc-a7a3-679c88f66ee4')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-ar.25' message 'Fix tests for side effects on button signals.' id 'ade917bf-05a0-0b4a-94a1-3de9ba276897' date '15 December 2009' time '3:10:07.742 pm' author 'ar' ancestors ((name 'ToolBuilder-Kernel-jcg.24' message 'Add PluggableListSpec support for double-click.' id 'af05980f-4ce2-419d-9aa7-95ea2b66406a' date '12 December 2009' time '10:53:03 am' author 'jcg' ancestors ((name 'ToolBuilder-Kernel-ar.23' message 'PluggableMenuSpec>>addList: for convenience.' id 'be2fd63e-f920-4145-a355-3a4a01f07b17' date '5 October 2009' time '11:31:13 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.22' message 'Text specs need to be able to turn off noisy questions about whether it''s okay to discard edits or not. Add a property to that effect.' id 'c726b2f0-3012-094c-8a4f-5f2aeeff69c0' date '4 October 2009' time '9:26:15 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.21' message 'Analyze menu labels to strip of the Morphic <on>/<off>/<yes>/<no> markers.' id 'ad91b06f-0ea1-4343-9546-da8a29b4ee9b' date '7 September 2009' time '3:17:26 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.20' message 'Add UIManager support for a font-chooser dialog, based on the FreeTypePlus FontChooser interface.' id 'e874090d-db4c-d34e-ac06-a760b7466c8d' date '30 August 2009' time '5:27:11 am' author 'ar' ancestors ((name 'ToolBuilder-Kernel-ar.19' message 'Styling hooks:
- Provide PluggableCodePaneSpec which is a sub-type of PluggableTextSpec and assumed to be used specifically for code editing tools.' id '7ed3a061-a2c9-cb47-acd2-6a0acb8de5e3' date '18 August 2009' time '12:13:49 pm' author 'ar' ancestors ((id 'd2ff1d0e-7711-4396-abe3-d096e95bf109')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-fbs.34' message 'Add #color to the PluggableListSpec.

PluggableButtonSpec and PluggableTextSpec already have #color, so #color and #color: and the instvar should be pulled up into PluggableWidgetSpec.' id '9528ee05-1809-424c-b546-9b5b3346a5a8' date '2 May 2010' time '8:53:53.49 pm' author 'fbs' ancestors ((id 'd44bfd93-b4c4-6148-98d4-222ef74b9903')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-rww.37' message 'I added PluggableDropDownListSpec and the infrastructure to build one.' id '2c0d2bd0-65f5-254d-bd59-bdbd9ffb407e' date '11 September 2010' time '4:11:56.085 pm' author 'rww' ancestors ((id '0eabb89d-7ae2-45a8-808d-8bc867f71b5a')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'ToolBuilder-Kernel-dtl.41' message 'A Project has a UIManager, and a UIManager has a ToolBuilder, so add #toolBuilder ivar to UIManager and initialize accordingly. This facilitates setting up the appropriate UIManager and ToolBuilder to allow SMxMorphicProject to host a SimpleMorphic world.' id 'e63cb488-9f69-4799-b501-4a112f592b3a' date '4 March 2011' time '5:19:11.522 pm' author 'dtl' ancestors ((id 'b4aa2013-24a9-47e1-844f-e8cf6fcb0485')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())