[updates] 71 for 2.9alpha

Dan Ingalls Dan.Ingalls at disney.com
Tue Nov 21 06:21:59 UTC 2000


Folks -

The promised updates are now available.
If you did not read the preceding cautionary message, please do so now.

Highlights include...
	All morphs can now align their submorphs
	Projects can now be organized in multiple threads
	Project threads (think presentations) can be edited using book page sorters
	Any method can now be viewed and almost edited as text/tiles
	All of the Etoy scripting can almost be done with the new text/tiles
	Files needed to run with the J3 VM are now included
	Fixes a case of extremely long garbage collection lock-out.
Enjoy
-----------------------------
2916WnldMoreTweaks -- Andreas Raab -- 6 November 2000
Allow mouse navigation when first person controls are enabled. Fixes a problem in the alarm scheduler."

2917newRollover-raa -- Bob Arning -- 7 November 2000
- change morph rollover indicator to use similar implementation to new drop shadows so that the shape can be better mimiced"

2918TransformTweaks-ar -- Andreas Raab -- 7 November 2000
A quick tweak for matrix transforms based on the fast primitive failure mechanism. Should do this for all the primitive specializations but I've got a demo at hand so it'll just fix the place that hurts."

2919OpaqueImages-ar -- Andreas Raab -- 7 November 2000
Allow ImageMorphs to be flagged as being opaque so that #drawImage instead of #paintImage is used."

2920WnldBackgrounds-ar -- Andreas Raab -- 7 November 2000
Allows Wonderlands to use statically cached images 'under' the Wonderland as optimized backgrounds."

2921BgTweak-ar -- Andreas Raab -- 7 November 2000
Fixes an accidental cache hit from the last CS."

2922ProjStore4-tk -- Ted Kaehler -- 7 November 2000
	Make loading a project work when one class has been converted to another (not simply renamed).  ImageSegments are hard in this case.
  	When collecting objects with a DummyStream, don't enumerate non-pointer objects (thanks Andreas).
	Make the original class name available to conversion methods. (varDict at: #ClassName)."

2923RenderTweaks-ar -- Andreas Raab -- 7 November 2000
A little tweak for the renderer, rejecting vertex buffers completely outside the view before shading."

2924DragFix-ar -- Andreas Raab -- 7 November 2000
Quick fix for multi selection list morphs."

2925paintButton-raa -- Bob Arning -- 8 November 2000
- add a button to invoke painting from the Project Navigator"

2926fewerWarnings-raa -- Bob Arning -- 8 November 2000
- change project publishing so that it only warns about newer versions the first time we try to publish a given project
- also restore the check for 'Unnamed...' projects when publishing (why did I remove that??)"

2927leavingNebraska-raa -- Bob Arning -- 8 November 2000
- expanding UI for Nebraska clients with Quit button to end Nebraska session. Controls now in floating navigator bar."

2928bookSearch-tk

2929AutoScrollFix-ar -- Andreas Raab -- 8 November 2000
Fixes auto-scrolling in texts."

2930cartesianBounds-raa -- Bob Arning -- 8 November 2000
- change top, left, bottom and right setters and getters in players to use cartesian coordinates relative to their container (as x and y do presently)"

2931TwoForHackers-di -- Dan Ingalls -- 3 November 2000
Extends the 'show...' command in the changeSorter so that it offers the currently active changeSet as the first choice.
Adds a feature in the emergency evaluator that makes it easy to revert the last method change you made.  More importantly, it tells you that this feature is available.

2932InsetPoints-di -- Dan Ingalls -- 4 November 2000
Quick and dirty support for AlignmentMorph inset being a point as well as a scalar."

2933MessageTallyValue-di -- Dan Ingalls -- 4 November 2000
Allows messageTally expressions,
	MessageTally spyOn: []
and
	TimeProfileBrowser onBlock: []
to return the value of their block in case it is desired for completing a computation.  Note that this capability is only usable in Morphic, since MVC will kill the process when it opens the window.

2934AlignmentPreps-ar -- Andreas Raab -- 8 November 2000
Preparations for the alignment work to come. Makes all direct accessors of alignment related state use messages so they can be rewritten during the conversion."

2935KbdResize-ar -- Andreas Raab -- 8 November 2000
Allow resizing a morph using cursor keys when over the resize handle. Very useful for accurately resizing some morph just a few pixels."

2936paintButton2-raa -- Bob Arning -- 9 November 2000
- make paint button in navigator start new painting automatically"

2937ScriptorChanges-di -- Dan Ingalls -- 8 November 2000
A number of changes to tile scriptors, including...
	Grab highlight was not consistently visible - fixed
	Drop highlight stayed on sometimes - fixed
	Neither highlights showed on multi-keyword exprs - fixed
	Selector parts now highlighted
	Selector parts were extra high - not now
	Reduced inset on all nodes
	Sliding stmt insertion space was too slow - now use pop-up caret
	Stmt nodes now duplicate on drag like everything else
	Lays groundwork for folded messages
Note Prerequisite: InsetPoints.cs

2938ScriptorChanges2-di -- Dan Ingalls -- 8 November 2000
A number of fixes including...
	No longer shows a blank line after inserting a statement in a block.
	If drop a temp name anywhere in a block, it will become a temp or arg.
	If grab an item from within a block the insertion caret now appears
		without requiring a trip out and back in.
	Scriptor windows now come to the front when clicked on as expected.
		We'll restore DnD later.
	CursorBase offset gets removed when a tile is dropped on the world.
	Wide expressions are now folded as in pretty printing.
Also includes a rewrite of doIfNotNil: to ifNotNilDo:.

2939DangerAhead -- Andreas Raab -- 8 November 2000
Cross your fingers..."

2940GenericLayouts-ar -- Andreas Raab -- 9 November 2000
The first round of the layout changes. 
What it does:
* Establish the new layout policies
* Convert everything from old to new layouts
* Make most of the stuff accessible from the UI.
What it does NOT:
* No classes are being reshaped yet.
* Speed issues are not touched yet (e.g., it DOES slow down things)
* Fix up classes still relying on the old mechanisms.

2941RenameMethods-ar -- Andreas Raab -- 9 November 2000
Renames some methods that were to dangerous to put into the previous update."

2942AlignmentMorphCleanup-ar -- Andreas Raab -- 9 November 2000
A first pass on cleanups within alignment morphs. Removes the inst vars and provides conversion methods. Also fixes some of the top-level #shrinkWrap alignments (more need to be found...)"

2943ScriptorLayoutFix-ar -- Andreas Raab -- 10 November 2000
A quick fix for tile scriptors centering problem."

2944bookOfProjects-raa -- Bob Arning -- 9 November 2000
A beginning of books of projects. You can
- get a InternalThreadNavigationMorph from the new morph/navigators menu
- use the '?' button and choose 'edit this thread' to get a BookMorph containing project views of each the thread (which is all morphic projects by default).
- use the book sorter to re-order or remove projects from this book
- choose the last item in the book menu (make a thread of projects in this book) to begin a named thread. This will give you a green thread navigator that will let you roam through the projects in that thread.
- once a named thread has been established, you can reopen its UI with 
	InternalThreadNavigationMorph openThreadNamed: 'the name of the thread'
or from the '?' button menu on an existing navigator.
- more than one thread can exist. Click on the '?' button on the thread navigator to switch to another thread.
--- another way to get a thread is
	ProjectHistory currentHistory mostRecentThread

2945MoreAlignment-ar -- Andreas Raab -- 10 November 2000
More alignment related stuff, in particular aiming at AlignmentMorphBob1 and its uses."

2946BookSorterFix -- Andreas Raab -- 10 November 2000
Fixes BookSorter weirdness and also an issue in #shrinkWrap morphs with no children. Some more issues are left open but I suspect that they relate much more to when the layout is computed than anything else (and I will look into these issues later on)"

2947SyntaxQuickies -- Andreas Raab -- 10 November 2000
Two more SyntaxMorph quickies..."

2948LinkedTimbres-di -- Dan Ingalls -- 7 November 2000
Rewrites AbstactSound>>updateScorePlayers and associated code so that score players that share a sound with an active envelope editor will retain that binding rather than have it overridden by a new copy from the sound library.

2949moreThreads-raa -- Bob Arning -- 11 November 2000
- make InternalThreadNavigationMorph smaller and translucent"

2950threadsAgain-raa -- Bob Arning -- 11 November 2000
<your descriptive text goes here>"

2951ScriptorChanges3-di -- Dan Ingalls -- 10 November 2000
Several more changes to the new tile scriptors, including...
	Establishes uniform vertical offset.
	Eliminates extra vertical spacing in blocks.
	Extends message folding to case where arg is wide as well.
	But also unfolds keyword messges that are not too wide.
	Drops horizontal inset of all morphs.
	Introduces a vertical bar icon for block scope.

2952prettyThreads-raa -- Bob Arning -- 11 November 2000
- make InternalThreadNavigationMorph prettier"

2953unbooking-raa -- Bob Arning -- 11 November 2000
- thread editing goes directly to page sorter
- thread name displayed at bottom ala PVM"

2954OwnerTraversal-di -- Dan Iingalls -- 12 November 2000
Adds a couple of convenience methods for owner traversal to Morph, and rewrites a dozen methods to use them.
The new methods are...
	<Morph>allOwnersSuchThat: conditionBlock do: aBlock
		'Stops when owner == nil'
	<Morph>firstOwnerSuchThat: conditionBlock
		'Returns the morph or nil' 	<Morph>withOwnersSuchThat: conditionBlock do: aBlock
		'Does self as well as all owners' 	<Morph>orOwnerSuchThat: conditionBlock
		Includes self and returns the morph or nil 

2955FasterLayouts-ar -- Andreas Raab -- 12 November 2000
Speeds up the common layouts by roughly a factor of five."

2956OwnerTraversal2-di -- Dan Ingalls -- 13 November 2000
Consolidates prior cleanup with preexisting methods so the basic set is
	<Morph>allOwnersDo: aBlock
		'Stops when owner == nil'
 	<Morph>withAllOwnersDo: aBlock
		'Does self as well as all owners' 
	<Morph>firstOwnerSuchThat: conditionBlock
		'Returns the morph or nil'
	<Morph>orOwnerSuchThat: conditionBlock
		Includes self and returns the morph or nil 
Removes the redundant ...SuchThat:do: variants.

2957Invalidations-ar -- Andreas Raab -- 12 November 2000
A whole new run on invalidations. Fixes up the #addMorph: #removeMorph: methods to suppress unneeded sends of #layoutChanged and also invalidates the regions rather than sending #changed, since we know that the region needs to be redrawn but we don't know if that other guy has changed or not.
Also changes the #invalidRect: protocol to use #invalidRect:from: so that it easier for morphs to figure out if an invalidation came from a child or not (useful for transforms and clipping).

2958threadsForever-raa -- Bob Arning -- 12 November 2000
- restore use of #restoreSuspendedEventHandler when grabbing from parts bin
- changed menus in thread nav a bit, also they appear on mouseDown rather than mouse up
- added rollovers to prev & next images
- changed resizing of EToyHistoryMorph
- stack new navigators up the right side of the screen"

2959ScorePlayer-fade-mir -- Michael Rueger -- 10 November 2000
Implements adjustVolumeTo:overMSecs: for ScorePlayer."

2960etoycom-mir -- Michael Rueger -- 10 November 2000
This change set includes two small cleanups:
- Moves the transmit call to EToyPeerToPeer.
- introduces a class instance variable to hold the known message types. New application now can register their message type without modifying code in class EToyincomingMessage."

2961ScriptorChanges4-di -- Dan Ingalls -- 11 November 2000
Introduces a notion of successive clicks to expand a selection
Makes 'tearing off' a copy require a 5-pixel drag.
Many state variables removed.
Tile coloring defaults to none -- the other choice is temporarily broken.

2962fileList2fix-raa -- Bob Arning -- 14 November 2000
- fix an old kludge that relied on how drop shadows wre done."

2963limbo-raa -- Bob Arning -- 14 November 2000
- try real hard to keep the project thumbnails a reasonable size in the sorter
- provide a different collapse/expand mechanism for sketches
- ensure that InternalThreadNavigationMorphs update themselves is their thread is altered elsewhere"

2964ScorePlayerFix-ar -- Andreas Raab -- 15 November 2000
Fixes the menu in score players."

2965SysWindowFixes-ar -- Andreas Raab -- 14 November 2000
Two fixes for system windows - makes pane resizing work again and fixes label positioning."

2966LayoutProperties-ar -- Andreas Raab -- 15 November 2000
Groups the prominent layout properties together so that they're no longer spread out in the other properties."

2967ScorePlayerFit -- Andreas Raab -- 15 November 2000
Make the score player #shrinkWrap rather than #spaceFill."

2968ParseScript5-tk -- Ted Kaehler (with Dan Ingalls) -- 15 November 2000
Installs SyntaxMorph tiles in the EToy viewer and into EToy scripts.  Choose 'use new universal tiles' from the script menu to irreversibly use new tiles in this world.
Removes several classes not really needed.
[ ] 	Opens up the parse of BraceNodes (Had been just a single tile with text).
[ ] 	Takes another tack on the default display as colored tiles.
[ ] 	Verified that most allowable pastes are reasonable, and that most reasonable pastes are allowable.

2969MthFinder2-tk -- Ted Kaehler -- 9 November 2000
Fix up the Method Finder to properly insert the results when a ProjectNavigationMorph is present (in front of it).
Make Command-G continue a complex search inside a BookMorph."

2970allProjects-raa -- Bob Arning -- 16 November 2000
- modify Project to keep a list of all instances so that enumeration via #allInstances or #allSubInstances (and the #garbageCollect required to make these accurate) will not be necessary. This will also enable us to implement other models of deciding whether to keep a Project in the image rather than depending on there being a ProjectViewMorph to serve as the anchor reference.
If you find any anomalies in the enumeration of projects, please let me know."

2971ScriptorChanges6-di -- Dan Ingalls -- 15 November 2000
Tweaks the blue block margin.
Eliminates the block margin on the method as a whole.
Adds a fine brown line between method header and body.
Tiles dropped in world stay bevelled, and grab as a unit.
Makes the statement insertion caret into a real arrow.
Makes insertion arrows only show in the nearest block.
Fixes paste into a block (used to leave a blank line).

2972ScriptorChanges7-di -- Dan Ingalls -- 16 November 2000
Quick fix to SC6 which introduced a bug that proliferated insertion arrows.

2973sysWindowRename-sw -- Scott Wallace -- 16 November 2000
For the first time attempts to establish a bridge between the titles of SystemWindows and object names as seen and changed in Halos.  An attempt is made to keep the two in synch."

2974genericRefine-sw -- Scott Wallace -- 16 November 2000
Elevates the refineUndo... and refineRedo.. methods to class Object, so that arbitrary objects can implement undo."

2975privateDataFix-sw -- Scott Wallace -- 16 November 2000
Makes instance-specific morphs in a stack accurately feel changes in the stack's position."

2976J3-CCodeGen-ikp

2977J3-Contexts-ikp

2978J3-Exceptions-ikp

2979J3-Support-ikp

2980J3-Interpreter-ikp

2981ScriptorChanges8-di -- Dan Ingalls -- 16 November 2000
Prevents selecting entire method, so can't get stuck with it that way.
Makes temp var spacers transparent.
Makes method selector unselect properly.
ParseNode for method selector is no longer the methodNode.
Introduces a framework for popup literal editors.
Yet to do....
Make del delete current highlight or selection.
Make drop replace current selection if any.
Register dropped morph as selected.
Keep replacee as a property for undo until deselected.

2982MoreSysWindow-ar -- Andreas Raab -- 17 November 2000
Provides a little smarter layout conversion for system windows. Also includes Bob's fix for resizing panes."

2983GameFixes-ar -- Andreas Raab -- 20 November 2000
Fixes for free cell and the same game."

2984FullBoundsFix-di -- Dan Ingalls -- 20 November 2000
Reestablishes the layout paradigm in TransformMorph, which had overridden fullBounds with no propagation of ownerChanged.

2985RolloverTweak-di

2986FixGCTooSlow-di -- Dan Ingalls -- 18 November 2000
Provide a margin of one byte per object to be used for forwarding pointers at GC time.  Since fwd blocks are 8 bytes, this means an absolute worst case of 8 passes to compact memory.  In most cases it will be adequate to do compaction in a single pass.
Thanks to John McIntosh and Bob Arning for help with this analysis and building new VMs.







More information about the Squeak-dev mailing list