I have just posted 22 new updates, which are summarized here below.
2525EToyComm3-raa -- Bob Arning -- 18 August 2000
- fixed the 'send on return' option in multi-chat
- made cachedObjects an instance var instead of class var in CanvasEncoder to better support multiple clients. There is probably still room for improvement in the handling multiple clients.
--some actual code---"
2526paintBox4-tk -- Ted Kaehler -- 22 August 2000
Changes to the PaintBox:
When you start painting, the PaintBox will do its best to pick a position fully within the current world. All flop-out parts will appear in bounds. (PaintBox may sometimes appear on top of the painting. If you accidentally make that happen, tell me how.)
Both the 'shapes' and 'stamps' drawers can show at once, as Kim asked.
ColorPicker and PaintBox both come to the front when used. (Could go behind painting before)
The PaintBox itself has a new item on its menu (via the red handle). 'Grab stamp from screen' allows you to grab any section of the screen and make it a stamp. Very useful for combining two images into one sketch. A normal stamp can't do this because it leaves pickup mode when it leaves the paint area. When you want to make a stamp from within the picture, use the normal stamp icon on the blank stamp.
2527tileLayout-tk -- Ted Kaehler -- 28 August 2000
A previous update made EToy tiles slightly narrower than they were before. Existing scripts did not know to re-lay themselves out. This tells them to do it.
Change color of Fancy Watchers and make them not as tall."
2528specialDrag-sw -- Scott Wallace -- 28 August 2000
Changes the behavior of cmd-drag so that in no circumstances is a mouseUp: issued to the draggee at the end of the drag. This now generically circumvents a long-standing problem that various morphs have had to work around in various ad-hoc ways. Those old workarounds are not however removed by this fileout, though someone should do that sometime."
2529polygonMenus-sw -- Scott Wallace -- 28 August 2000
Makes the wording and availability of menu items relating to polygons be more dynamically responsive to changing circumstances, thus allowing persistent menus to remain correct as polygon properties change."
2530paintingGoof-raa -- Bob Arning -- 29 August 2000
- fixed a few problems occurring after use of scale or rotate buttons"
2531InfiniteNebraska-raa -- Bob Arning -- 28 August 2000
- support for drawing InfiniteForms through Nebraska
- reduced memory requirements on client side"
2532miscellany-sw -- Scott Wallace -- 29 August 2000
* A workaround for a recently-introduced bug in Morph.submorphNamed:ifNone:.
* Don't step the models of collapsed system windows.
* The programmatic compilations of Preferences methods no longer clutter up the current change set.
* Performance improvements relating to computationof referencePlayfield"
2533miscellanyFixup-sw -- Scott Wallace -- 29 August 2000
Reincorporates code omitted from the recent miscellany fileout because of a mechanical error:
* Fixed bug in ChangedMessageSet -- was not getting annotation panes invalidated properly.
* Adds #selectAll to ParagraphEditor"
2534undo-sw -- Scott Wallace -- 29 August 2000
Provides a simple foundation for implementation of UNDO in morphic.
* If you have an action that you want to make undoable, you need to create a Command object, and arm it so that it preserves state needed for undo/redo, and give it blocks for carrying out undo and redo (see HandMorph.grabMorphInner and ColorPickerMorph.selector: for two examples of how to do this -- the first for undoing morph-move commands, the second for undoing a morph recolor command.)
* When the command is to be *done*, you tell the system to install it as the current command; this is done by sending the message
Command rememberCommand: aCommand
* If you field a user request that makes the last command no longer undoable, you can send the message Command cannotUndo.
In this initial burst of Undo implementation, full undo is provided for:
- All color changes, including:
Second gradient color
An architecture is also in place for 'infiniteUndo', but the preference governing this is currently hard-coded to false, pending further work.
A mechanism is added to intercept unfocusedKeystrokes, i.e. keystrokes typed when no morph clalims the focus. Used, for example, for cmd-z implementation for undo, as well as for a tab-among-fields feature."
2535fastColorChange-sw -- Scott Wallace -- 29 August 2000
Drastically reduces the number of steps required to change a color in morphic.
Adds a halo item on recolorable morphs that gives you a color picker right away.
Adds a preference that allow you to specify the use of modal color pickers. A modal picker goes away once you have made your choice; and until you've made your choice, it keeps control of the mouse. It shows an eyedropper cursor.
When the modal picker is present, it continuously reports (in its little feedback box) the color under the mouse, waiting for the mouse to go down. Once the mouse goes down, and as long as it stays down, the color under the mouse is applied to the target continuously. The color under the mouse when the button comes back up will be the color selected, with the degree of transparency prevailing at the time."
2536MorphicDraw-di -- Dan Ingalls -- 29 August 2000
Sundry changes to make Morphic a more useful environment for graphical ccomposition.
Ability to make synthetic bold for fonts with chars that have 0 leading.
Introduces LineMorph as a macro for degenerate polygons.
Introduces shift-click for showing and hiding handles of curves and polygons
Shift-click near a hidden vertex shows vertices, and starts drag, then hides vertices.
Introduces a menu item to mutate a polygon to a curve and back again.
Fixes resize so that it no longer clips a pixel when extending the bounds.
Introduces a selection morph for deletion, moving, duplication, color change, etc.
Use by dragging in an empty place in the world,
or choose 'make a selection' from a PasteUpMorph's menu.
Replicate feature: duplicate/move/duplicate of a selection repeats the same spacing.
[Note: the changed order of #layoutChanged and #changed in Morph>>extent: and Morph>>position: is fundamental, and could cause strange behavior almost anywhere. It should only be an improvement -- it fixes a long-standing bug that would clip pixels while extending morphs with either the resize command or by the halo -- but it could break dependent code].
2537BetterGridding-di -- Dan Ingalls -- 29 August 2000
Gridding is now specified in PasteUpMorphs rather than the hand -- see 'playfield options...'.
Grid origin can be specified as well as the modulus.
The grid can be made visible or hidden.
2538EnvelopeEdChgs-di -- Dan Ingalls -- 13 June 2000
A couple of simple changes to the timbre editor.
2541bookAsProject-raa -- Bob Arning -- 23 August 2000
- added full-screen option to BookMorph. When in full-screen mode, there is a set of page controls floating in front of the book.
- reverted BookMorph pageSize to 160@300 from 1060@800
- changed internal title in ProjectViewMorph to Helvetica and changed rectangular background to more of a drop-shadow
- changed URLMorph to add a TextMorph rather than a StringMorph in response to change label... This will allow the user to make prettier bookmarks.
- changed ProjectNavigatorMorph to remember user's preference for top vs. bottom edge"
2542dataIsValid-raa -- Bob Arning -- 30 August 2000
- added #dataIsValid in a couple of places where bookmorphs write themselves to remote servers since these are essentially new files, even if they are not created exactly that way."
2543pvmTweaks-raa -- Bob Arning -- 30 August 2000
- a few appearance tweaks for Alan"
2544RecolorLines-di -- Dan Ingalls -- 30 August 2000
Allows convenient recoloring of lines from the halo handle.
2545AlternateUndo-di -- Dan Ingalls -- 30 August 2000
This changeSet provides an alternate protocol and representation for undoable commands
Selectors and argument arrays are used in place of blocks and parameter dictionaries.
2546UndoGroups-di -- Dan Ingalls -- 30 August 2000
Allows any morph to override its default undo behavior (needed for selections).
Supports undo for border width of BorderedMorphs.
Supports undo for color and border changes in multiple selections.
Supports undo for move of multiple selections.
Fixes a bug in display of command to undo when last command has been undone.
Yet to do...
[ ] undo duplicate for normal morphs
[ ] undo duplicate for groups.
[ ] undo delete for normal morphs
[ ] undo delete for groups.