[UPDATES] 22 for 2.8alpha

Dan Ingalls Dan.Ingalls at disney.com
Fri Feb 25 16:09:08 UTC 2000


Folks -

Herewith a bunch of new updates for test pilots.

A couple of notes:
Most simple Fabrik examples should now work again.

We are about to release Andreas's new BitBlt, and these changes include a lot of compatibility work.  There is a fair chance that something will not work exactly right (esp in MVC) after these changes, but also some nice things (like translucency in 8 bits) now DO work.  We've been running with it for a week, but let us know of anything strange in this area.

It is now possible to swap out inactive environments, and some first steps in loading/storing applets from/to a server now owrk.  These capabilities are still extremely experimental.

Here are the summaries.  Enjoy.

	- Dan

--------------------------
1853toggleSoundEnabling -- Scott Wallace -- 9 February 2000
Fixes a typo in Prefrences.toggleSoundEnabling.  Thanks to Sam Adams for reporting this."

1854segmentGC-tkND

1855FabrikTweaks -- Dan Ingalls -- 11 February 2000
This change set makes a number of tweaks to restore the Component framework to basic operability:
[Note: a number of these overlap with the recent changeSet that Helge Horch sent out to the mailing list]
	Create model in ComponentLayout initialize
	Don't activate scroll bars when mouseover pins
	PinMorph drag (position:) has been fixed so it is pixel-perfect.
	PlaceFromSpec now uses position:
	Sharing problems now fixed in text components.
	Used removeKey:ifAbsent: in Player class removeInstVar to fix delete.

1856Cmd-q-tkNF -- Ted Kaehler -- 14 February 2000
Alt-q (Command-q) does name completion.  Extends name completion to class names, global variables, and category names.  If the text starts with an uppercase letter, then non-selector symbols (class names, etc.) are searched."

1857StdFileMenuPattern-tk -- Ted Kaehler -- 14 February 2000
Adds patterns to Andrew Greenberg's Standard File Menus.  Just as in the pattern pane of a file list, if you specify '*.cs', you will see only the files ending in 'cs' in the menu.  A separate optional message, pattern:, sets the pattern.
Project loading logic and tests are removed from FileList and put into ProjectViewMorph."

1858saveProject-tkNG -- Ted Kaehler -- 14 February 2000
Defines commands in support of menu items Save Project and Load Project forthcoming in the World menu."

1859simpleMenuPref-sw -- Scott Wallace -- 15 February 2000
Adds a preference 'simpleMenus', governing whether a more elementary (end-user-oriented) set of menus should be used.  This flag is honored in the morphic world menu, for starters."

1860EnvironmentChgs1-di -- Dan Ingalls -- 11 February 2000
Several bug fixes, and changes to environments.  Restores the
	ability to partition the squeak image by executing...
		Environment reorganizeEverything
When an environment is swapped out using storeSegment,
	now the name structure remains resident.
Records the traceback of any fault on a non-resident environment.
Here is a sample sequence (in a partitioned image)...
	ImageSegmentRootStub startLoggingFaults.
	Smalltalk storeAll.  -- Write all Environments to disk. -- 
	Smalltalk stillOut.  -- Lists in the Transcript, who is still out. -- 
	ImageSegmentRootStub faultLogs inspect.
		-- This brings up an inspector that shows, for each fault,
		the call stack that caused that segment to be brought in. -- 
Several changes reduce the need to bring in non-resident environments...
	Waking up a fileList no longer requires Network envt.
	Opening an inspector in Morphic doesnt bring in ST80 envt.
	Using ScreenController for world menu doens't bring in ST80 envt.
	Changes StartupStamp logic so it doesn't search Smalltalk dict each time.
NOTE:  This is still extreme test pilot material.

1861TranslucentPatterns-ar -- Andreas Raab -- 17 February 2000
First part of Canvas rework. Installs the translucent patterns in Color so the next part will work."

1862CanvasRework -- Andreas Raab -- 17 February 2000
This (rather large) change set modifies many of the internals of Canvases and cleans up drawing related parts of Morphic. The primary intent is to provide a stronger fence between Morphic and BitBlt (since BitBlt is subject to change very soon). Everyone using lots of drawing methods from Canvas - repeat after me:
	'I will not use combination rules with a Canvas'
	'I WILL use a Color where I mean a Color'
Clients that require effects that are currently not part of the Canvas interface should setup their own BitBlt operations, fetching and restoring the portions of the destination form explicitly (see CornerRounder for an example). For getting the contents of the Canvas the methods #contentsOfArea: and #contentsOfArea:into: have been provided.
For stating the intent of displaying an image more clearly, the following methods have been added:
* drawImage:at:[sourceRect:]
Plainly draw the image (e.g., what used to be represented as Form>>over).
* paintImage:at:[sourceRect:]
Draw an image that has a certain source key to be treated as transparent (e.g., what used to be represented as Form>>paint)
* translucentImage:at:[sourceRect:]
Draw an image that might contain transparency values. This is an explicit hint for the canvas to choose a representation which is best suited for the target device (e.g., in a FormCanvas this may result in different combination rules depending on the source and target depth).
The public use of the following methods is highly disapproved:
* image:at:
  [replaced by #paintImage:at:]
* imageWithOpaqueWhite:at:
  [replaced by #drawImage:at:]
* image:at:rule:
  [Obsolete]
* image:at:sourceRect:rule:
  [Considered to be PRIVATE]
The methods are still kept for compatibility but will definitely go away at some time.
Additional notes: 
* You will get errors when attempting to pass a bit pattern as a color. This is intentional - Canvases are smart enough to figure out how to represent any given color best. 
* The change set has one minor known glitch - gradients look ugly in 8bit depth or less. The problem will be addressed later; once the BitBlt modifications are completed it will go away all by itself.
"Close Transcripts (just to be sure...)"
Smalltalk isMorphic ifTrue:[
	(World submorphs 
		select:[:m| (m isKindOf:SystemWindow) and:[m model == Transcript]]) 
			do:[:win| win delete]].

1863FastSketchInit-di -- Dan Ingalls -- 17 February 2000
Dramatically speeds up the creation of SketchMorphs by eliding default intializaiton when the form to be used can be supplied upon creation.
	Now 'SketchMorph withForm: zz' is MUCH faster
	than 'SketchMorph new form: zz'.

1864clsBldrFault-tkNG -- Ted Kaehler -- 15 February 2000
Keep ClassBuilder from bringing in all SqueakPages and Segments when its is just looking for AnObsoleteClass we just modified."

1865MasterSlides-tkNH

1866activeClasses -- Dan Ingalls -- 17 February 2000
Numerous small changes to restore operation of ImageSegment>>discoverActiveClasses.

1867NilColors-ar -- Andreas Raab -- 18 February 2000
Bullet proofing against passing nil as colors."

1868ParaColors-ar -- Andreas Raab -- 18 February 2000
Fixes a problem with colored paragraphs."

1869HandFixes-ar -- Andreas Raab -- 18 February 2000
Two fixes to HandMorph: Prevent the creation of a shadowForm when using #nonCachingFullDrawOn: (faster since we don't have to do the addl blt) and also made the translucency test work in any display depth (necessary since since translucency is allowed in any depth)." 

1870ShadowFixes-ar -- Andreas Raab -- 18 February 2000
Fixes for shadow drawing - removing the computation of the shadowForm in HandMorph does not work as expected for compound morphs since drawing the morphs multiple times results in multiply drawing using a translucent color with the effect that shadows can look quite strange. The change set also adds a comment stating the purpose for computing the shadow form."

1871PlugBtnView1 -- Andrew C. Greenberg -- 23 February 2000
Fixes a bug that caused labels of PluggableButtonView to be improperly centered in some cases.  Previously, PluggableButtonView labels were centered as though installed within the window parent View, but without a border.  
This appeared harmless when the PluggableButtonView is relatively centered with respect to the enclosing View and the borderWidth is symmetric (as is the case with existing system windows), PluggableButtonViews will otherwise display with an out-of-center label.
Additionally, this change set replaces a magic number in the previous code which catered to leading of the default font with the actual leading of the font in which the leading was displayed."

1872PlugFileLst2 -- Andrew C. Greenberg -- 23 February 2000
This is a revised version of the PluggableFileLIst2, and incorporates PluggableFileLIst as originally posted to the listserv, with modifications and fixes.  For best results, this should be used together with PluggableButtonView changeset posted contemporaneously with this changeset.  The changesets may be loaded in any order.
1) Implements a more graphically attractive 'standard file dialog' service similar to those found in Windows, MacOS and many Unix GUIs.  It is basically a highly pluggable modal FileList with buttons -- See the class comment for more detail.
Sample doIts:
	x _ PluggableFileList getFile
	y _ PluggableFileList putFile
	z _ PluggableFileList getFolder
2) PluggableFileList is installed as the MVC operation for the 'file...' menu selection as well.  In time I hope to build a Morphic-side dialog, so to replace the present menu-based interface used there.
3) This changeset introduces a ModalSystemWindowView for building Modal dialogs in MVC.
4) The changeset also fixes a typo in ScreenController, in which an earlier change set had inadvertently elided the words 'dual change sorter' to 'chang'"

1873projServer-tkNI







More information about the Squeak-dev mailing list