[updates] 38 new ones for 2.9alpha

Dan Ingalls Dan.Ingalls at disney.com
Tue Sep 12 21:53:14 UTC 2000

Folks -

I have just released the first set of updates (mainly from SqC) as previously anticipated.  The summaries follow below.

	- Dan
2571FixCurveGribblies-di -- Dan Ingalls -- 5 September 2000
Fixes a bug that has been present for a looong time, causing gribblies to appear if you move a curve after showing its handles.  Added a call to layoutChanged in CurveMorph>>addHandles.

2572systemWindowStep-jg -- Joshua Gargus -- 6 September 2000
Fixes bug in changeset 2532 which caused SystemWindows not to step.  I first noticed this when my Inspectors weren't updating."

2573graphpaperFix-raa -- Bob Arning -- 7 September 2000
- restore functioning of the 'graph paper' background (remove nested InfiniteForms"

2574RepairGraphPaper-di -- Dan Ingalls -- 7 September 2000
Restores the ability to make a graph-paper-style background for playfields and the world.  It had been broken by accidental double-nesting of the infiniteForm introduced in update #2537BetterGridding.

2575UnifiedPolygons-di -- Dan Ingalls -- 7 September 2000
Refactors PolygonMorph, CurveMorph and the subclasses of CurveMorph to all be a single class with optional curve state.  To be followed by a similar refactoring of PolygonMorphDashed.
This anticipates, among other things, Connectors being able to be a simple subclass that can inherit all these properties.  

2576FixArrows-nk -- Ned Konz -- 2 September 2000
This change set fixes the arrow offset caused by bad geometry, and factors out the arrow shape so that it can be overridden by subclasses."

2577newTell-raa -- Bob Arning -- 8 September 2000
- updates the Tell! button on the ProjectNavigatorMorph to use Michael Rueger's new project loader from his server. It will become more generic once we understand the options better."

2578httpLoader-mir -- Michael Rueger -- 6 September 2000
This change set adds access to parts of the netscape browser API (also supported in IE).
When Squeak is running inside a web browser http puts and gets can be routed through the API. This way the browser's proxy settings, cookies and cache will be used.
Part of this change set adds a small framework to load files and (signed) image segments through the plugin API if available. Several requests can be issued at the same time and are executed in the background. 
CAVEAT: IE 5 tries to do something *smart* about files ending with gz, so the default ending is set to 'sgz' (see CodeLoader>>fileExtension)."

2579launcher-mir -- Michael Rueger -- 6 September 2000
mir 9/6/00: Fixed two bugs concerning parameter extraction and launcher startup.
This AutoStart/Launcher change set provides a small framework for starting Squeak from the command line or a web page. Parameters on the command line or in the embed tag in the web page a parsed and stored in the lauchner's parameter dictionary.
Subclasses can access these parameters to determine what to do.
The PluginLauchner is an example how to use this framework to start Squeak as a browser plugin. It looks for a parameter 'src' which should point to a file containing a squeak script. You need the http-loader package in order to use this plugin as it is."

2580pluginActivate-raa -- Bob Arning -- 8 September 2000
- I forgot one little bit to make the image suitable for browser plugin
and that is:--->"		PluginLauncher activate

2581worldMorphMenu-sw -- Scott Wallace -- 8 September 2000
The world's halo now gives access to the regular halo menu for the World thought of as just another morph (up until now, it had always put up the desktop menu); there's an item in that world-halo menu, which will take you to the desktop menu.
 (At Nathanael Schaerli's suggestion)"

2582projectHierarchy-sw -- Scott Wallace -- 8 September 2000
Produce structures derived from the inherent containment hierarchy of projects, and on request (from a new cmd in project menu) place that hierarchy information in a window"

2583steplistTools-sw -- Scott Wallace -- 8 September 2000
Some tools for tracking down and repairing problems with steplists."

2584scriptAndSlotNames-sw -- Scott Wallace -- 8 September 2000
Instead of tormenting the etoy user about unacceptable script and inst-var names, now takes whatever the user submits and converts it into something that's acceptable and uses that; no error message will ever be generated after the user submits a putative slot or script name -- a suitable name will always be produced
Caution: prerequisite is eToyAdditions at present"

2585updateViewer-sw -- Scott Wallace -- 8 September 2000
Allows viewers in flaps to feel changes made even when the flaps are closed."

2586pickerRefactor-sw -- Scott Wallace -- 8 September 2000
Refactors ColorPickerMorph so that the modality/nonmodality can be specified as a parameter in an initialization call, rather than being predetermined as soon as the supermost initialize is run.  This allows us to have occasional non-modal pickers even though the modalColorPickers preference is set to true, for the benefit of, e.g., specifying both colors of a gradien fill."

2587misc-sw -- Scott Wallace -- 8 September 2000
* Drop the long-standing feature (more often an annoying unfeature than not nowadays) that used the label of a submorph that is a StringMorph to help document a morph in printOn:.
* When the user chooses cancel in a tool code pane that has an associated annotation pane, that annotaiton pane is now updated.
* Subtle improvement to the wording on the message informing the user that a method may have been changed elsewhere.
* Some changes to the standard Supplies flap
* Add #seventh, #eighth, & #ninth to SequenceableCollection protocol (responding to an explicit need"

2588eToyAdditions-sw -- Scott Wallace -- 8 September 2000
Additions to the etoy scripting vocabulary:
For playfields/holders:
  *  append: -- adds the object provided to the playfield, after all other morphs already on the playfield.
  *  removeAll -- empties out the container.
  *  shuffleContents -- rearranges subparts in random order.
  *  numberAtCursor -- delivers the number represented by the morph at the current cursor position.  A direct numeric counterpart for valueAtCursor.
For every morph
  *  copy -- returns a sibling object with appearance and behavior the same as the original.
  *  elementNumber -- tell which element-number an object is from the perspective of its container.
  *  numericValue -- (primarily for TextMorphs and Sliders, which have ways of displaying that value, but generically implemented for all morphs.
  *  obtrudes -- a true/false value for use in TEST panes; true if any part of the object sticks out beyond the bounds of its container
For text morphs
  *  characters -- returns the string of characters held.
  *  firstCharacter -- returns the initial character.
There is also a complete reworking of the way that the contents of Viewers are defined, the point being to centralize all the changes you need to make to add a new item or category or to change any one is concentrated in one method.  See implementors of #additionsToViewerCategories.
Balloon help is now provided both for viewer and scriptor phrase tiles.
This update also contains numerous other fixups and feature additions and changes in etoyland, primarily in preparation for forthcoming classroom use 10/00.

2589ActiveEssay-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."

2590B3DFixes-ar -- Andreas Raab -- 9 September 2000
The change set fixes a very bad problem in the shader and makes alpha blends behave correctly. The shader modification in this change set is not installed (so that current images will continue to run). Installation is part of a later update but can be manually executed by evaluating:
	B3DPoolDefinier initPool.

2591fasterHand-raa -- Bob Arning -- 10 September 2000
- reduce the number of times #worldUnderCursor is sent for a given event since it is expensive to calculate in some cases"

2592fasterYet-raa -- Bob Arning -- 10 September 2000
- yet another improvement in #worldUnderCursor to avoid expensive calculations"

2593GeeMail-raa -- Bob Arning -- 6 September 2000
- a text-with-morphs-on-the-side widget for Alan. You can get one from the new morph menu under GeeMail.
- to add a morph, just drop it on the right side
- to link/unlink a morph's y pos to some text or to delete the morph,
--select a word in the text
--pick the appropriate item from the red menu on the morph
7 Sept 2000 
- enabled drag selection of multiple morphs
- removed the blue handle and moved link commands to red menu
- adjust x position of morphs?
- overlap of morphs??"

2594IntersectsFix-ar -- Andreas Raab -- 10 September 2000
The change set fixes Rectangle>>intersects: to report false if queried for something like
	(0 at 0 corner: 100 at 100) intersects:
		(100 at 100 corner: 200 at 200).
This behavior is consistent with the general definition of class Rectangle to not include the right and bottom border. E.g., since
	(0 at 0 corner: 100 at 100) containsPoint: 100 at 100.
reports false, Rectangle>>intersects: should report false for the aforementioned case. The change also results in noticable speedups in cases where some heavily changing morph is pixel-positioned right next to a static morph (due to the use of #intersects: in Canvas>>isVisible:).
The change also restores the consistency with the comment in Rectangle>>intersects: saying that the code is an optimization for some older code. Before this change set the code wasn't an optimization but rather a completely different test.
Note that it's unclear if there are clients actually relying on the old definition of intersects: - so far I haven't found any but absence of evidence is no evidence of absence, eh?

2595WnldHack-ar -- Andreas Raab -- 10 September 2000
A hack for faster #containsPoint: in Wonderlands w/o backgrounds. Since on each morphic cycle there are between 3-6 sends of #containsPoint: and since a mouse event is generated on each morphic cycle (even if nothing whatsoever happens) this hack gives much better responsiveness.

2596PolygonFixes-di -- Dan Ingalls -- 10 September 2000
Installs proper conversion routines for polygons and curves created before changeSet 2575.
Undoes an earlier change so that shapes created as Curves will be instances of class Curve.  "

2597BlockEnablement-di -- Dan Ingalls -- 9 September 2000
Allows menu item enablement to be specified as a block as well as with a unary sleector.  This frequently avoids a proliferation of unnecessary methods.

2598DashedPolygons-di -- Dan Ingalls -- 9 September 2000
Makes dashed borders be a property of *any* Curve, Polygon, or Line.  The earlier dash spec is replaced by one that does not allow different widths, but does allow an offset and stepping control for animated 'marching ants' effect.
Class PolygonMorphDashed is removed, and its only use has been converted to the new equivalent.
Also includes a fix for a recent bug in

2599CurveCleanup-di -- Dan Ingalls -- 9 September 2000
Localizes the Polygon state associated with curves in a single variable, 'curveState'.  Also undoes an earlier change so that Curves will be instances of class Curve.  Removes obsolete instance variables.

2600PolygonFlex-di -- Dan Ingalls -- 4 September 2000
Supports rotation of Polygon vertices without loss of resolution, instead of the old bitmap flex.

2601minExtentFix-di -- Dan Ingalls -- 10 September 2000
There had been a problem in resizing morphs descended from AlignmentMorph due to special treatment in Halos (for instance MoviePlayerMorph and MonthMorph).  This change simply asks every morph for its minExtent, which is defined as previously for AlignmentMorphs.  However now any subclass can override this method.
In the process 5 methods were simplified and Halos no longer need to remember their target's minExtent.

2602ResizeMonthMorph-di -- Dan Ingalls -- 10 September 2000
Makes MonthMorphs be resizable in anticipation of their being used as components in other applications.





2607heightFix-sw -- Scott Wallace -- 12 September 2000
A quick fix regarding height in viewers"

2608SimplifiedUndo-di -- Dan Ingalls -- 11 September 2000
Introduces a simplified protocol for undoing and redoing simple changes of state.
Uses that protocol to implement undo for the SameGame application.
Also simplifies some existing undo code.

More information about the Squeak-dev mailing list