Squeak Goodies README File -- Updated 1997.07.09 The file STP11.build.1.2 files these in to Squeak 1.2. =========================================================================== Graphics BitBlt-setDestForm.st This handles a nil srcForm. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 13, 1996 Color-depth.st This is the 'depth' method for colors. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE December 5, 1996 Color-random.st This is the random instance creation method for colors. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE July 8, 1997 display-compatibility.st These are for backward compatibility. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE December 5, 1996 Graphics-3D.st This is Hans-Martin Mosner's 3-D graphics example. It creates wire-frame models and can display and rotate them. It also serves as a cool screen saver. It requires the 3-D point class ZPoint and the two additional Zpoint methods in this directory. AUTHOR Hans-Martin Mosner, ported by Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.02 PREREQUISITES ZPoint.st, ZPoint-perspective.st DISTRIBUTION world VERSION ID 1 VERSION DATE December 5, 1996 Graphics-Containers.st This is a minimal 'wrapper' framework. It is a pre-cursor to my new MVC implementation. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 BETA PREREQUISITES Kernel-Values.st, Object-testing.st DISTRIBUTION world VERSION ID 1 VERSION DATE November 21, 1996 Graphics-DisplayLists.st This is the Squeak Siren DisplayList Framework. It is written to support the MODE's music editing tools, and is not the world's most comprehensive and elegant structured graphics hierarchy. It is, however, one of the simplest and most easily extensible. One could easily add support for regular polygons, better arcs, more kinds of paths, etc. Note also that the display item hierarchy is separate from the display list editing framework. The class DisplayList has loads of example methods; try, DisplayList testAll for a good sampler AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.2 PREREQUISITES STP's system changes DISTRIBUTION world VERSION ID 1 VERSION DATE July 8, 1997 Graphics-DisplayListViews.st This is a very simple display list editor (i.e., structured graphics drawing program) that lets one scroll, select, drag and re-size items in a display list. It is not intended for general use, but rather to serve as the basis for more sophisticated tools that are implemented as subclasses. The red mouse button selects, drags, and rubber-bands items in the display list. The yellow button brings up a simple menu of basic functions ()only redraw has been tested so far). The blue button is used for 'drag-scrolling' of the view--try it... For a simple demo, try DisplayListView openOnList: (DisplayLine linesX: 800 byY: 800) DisplayListView openOnList: (DisplayRectangle rectanglesX: 800 byY: 800) DisplayListView openOnList: (DisplayRectangle rectanglesX: 800 byY: 800) size: 400@300 withGrid: 32@16 inColor: Color lightBlue AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.01 BETA PREREQUISITES Graphics-DisplayLists.st, Kernel-Values.st, STP system additions DISTRIBUTION world VERSION ID 1 VERSION DATE July 8, 1997 Rectangle-corners.st This is what it looks like--answers an array of 4 points. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 14, 1996 Squeak icons based on drawings by Tim Rowledge AUTHOR Georg Gollmann (gollmann@edvz.tuwien.ac.at) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 20, 1996 ZPoint-perspective.st These are a few additional ZPoint methods that are needed by the 3D graphics or fractal surface code. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES ZPoint.st DISTRIBUTION world VERSION ID 1 VERSION DATE November 14, 1996 =========================================================================== GUI CRLF.st This makes CR and LR display the same (real useful on UNIX machines). AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 19, 1996 DesktopColor.st Here's a quick hack to make the desktop more colorful. More work is needed to bring it to full 'goodie' status. AUTHOR Georg Gollmann (gollmann@edvz.tuwien.ac.at) VERSION 1.0 BETA PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 25, 1996 P.Ed.ctrlKeys.st For UNIX keyboards--treat like for accel keys. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 18, 1996 Preferences-userPlacement.st User places windows on open. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 19, 1996 SelectionMenu-confirm.st This simply puts spaces around the yes/no prompt in the simply confirmer.. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 25, 1996 StandardSystemController-open.st This is for compatibility... AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE December 5, 1996 View-addSubViewinborderWidth.st This is for compatibility... AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE December 5, 1996 ViewSizes.st This makes the default sizes of most of the standard views a bit larger--edit to taste. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE July 8, 1997 WindowColors.st Set your favorite colors for the standard applications here. The pre-defined colors are: black blue cyan darkGray gray green lightBlue lightBrown lightCyan lightGray lightGreen lightMagenta lightOrange lightRed lightYellow magenta red veryDarkGray veryLightGray white yellow AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 17, 1996 =========================================================================== Packages changesForOutlines.st These are the simple changes necessary to make the outline browser application work. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 25, 1996 changesForPluggableText.st These are the simple changes necessary to make pluggable text views work. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES Object-testing.st (IMPORTANT) DISTRIBUTION world VERSION ID 1 VERSION DATE November 25, 1996 ExceptionJunta.st The *real* use of exception handling--only partially complete. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE 06/30/97 ExceptionSupport.st Support for exception handling: BlockContext forking. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE 06/30/97 Interface-PluggableMVC.st Here's a simple pluggable text view/controller. The outline browser application is a good example of its use. I put it in a separate class category in the hope that the 'powers that be' would move the pluggable list there in the next release as well. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES changesForPluggableText.st DISTRIBUTION world VERSION ID 1 VERSION DATE November 25, 1996 Kernel-Exceptions.st Curt's simple exception handling from GNU Smalltalk. AUTHOR Curt McKelvey (ported by Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE 06/30/97 Kernel-Values.st This is a minimal value framework. It has useful items such as indirect values (AKA PluggableAdaptors), lazy-block values, range values, and index values. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES Object-testing.st DISTRIBUTION world VERSION ID 1 VERSION DATE November 20, 1996 LauncherView.st Add buttons to the Transcript view to open the standard applications. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none (Uses PackageBrowser) DISTRIBUTION world VERSION ID 1 VERSION DATE 06/15/96 PackageBrowser.st This is a basic 6-paned browser, i.e., it parses the system categories into a 2-level hierarchy. There are still a few bugs. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.1 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE July 8, 1997 Tools-Outlines.st This is my simple outline view application. An outline is just a keyed collection of texts (with local variable dictionaries). The outline browser lets one move between these 'chapters' and read/write outlines from/to files (saving local variables in the process). In this version, outlines are only 1 level deep--are there any volunteers to make it hierarchical? Two outline files are included as demonstrations: a simple test, and one that includes the contents of the 3 default Squeak text views (welcome, Squeak UI, change management). AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES changesForOutlines.st, Interface-PluggableMVC.st, Kernel-Values.st DISTRIBUTION world VERSION ID 1 VERSION DATE November 26, 1996 =========================================================================== System ClassDescription-subclassOf.st This fixes a bug that made it impossible to re-define Object.. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE July 8, 1997 CaseStatement.st Adds a neat shorthand for immediate dictionaries and a case statement; a useful example, but don't use it too often. Example: ( (#a -> [Transcript cr; show: 'a'; cr]), (#b -> [Transcript cr; show: 'b'; cr]), (#c -> [Transcript cr; show: 'c'; cr]) ) case: #b Note that there is a similar structure already in Squeak, but that it uses curly-braces as special characters, and can only have blocks as keys/values. I prefer this method. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE April 14, 1987 CollectionAdds.st Several useful collection extensions--second, third, etc., with:with:with:with:with:, etc. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE December 7, 1994 CompiledMethod-frameSize: Increases the frame size by changing > to >= LargeFrame. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE 06/30/97 Object-dependency.st This extends the changed/update messages for passing along new values. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 14, 1996 Object-safeHalt.st This makes a left-shift hack out of halt (i.e., it is different than break:) AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 10, 1996 Object-testing.st These are a few random testing methods (e.g., isString isSymbol) plus value coercion (asValue). AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE June 4, 1988 Printing.st A few modified printing methods: Time without seconds, Dates with leading 0's (e.g., 1995.04.08). AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE October 3, 1992 RandomAdds.st A few new messages for generating random numbers in limited ranges, or selecting from collections at random. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE December 7, 1994 ScreenAdds.st Adds a few utility methods to class DisplayScreen for determining the current screen size and getting default rectangles for view opening. This is very useful for applications that are supposed to be portable between desk- and lap-top machines. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE April 28, 1995 StreamIO.st Code to support external I/O in floats, longs, 96-bit doubles, etc. Some of this is from the Kyma system thanks to Kurt Hebel. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE April 26, 1995 StringAdds.st Adds many useful string crunching methods--stripTrailingSpaces, padTo:, breakIntoLinesOf:, stripCRs. cr. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE December 7, 1994 SystemReorganization.st This reorganizes the system categories for easier use with the package browser. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES All the rest of STP11 DISTRIBUTION world DATE July 9, 1997 TextEmphasis-storeOn.st This code makes storing texts a bit more compact by storing the emphasis and font changes in a 'native' form. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world DATE December 5, 1996 ZPoint.st 3-D points, i.e., one can say 3@4@7. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE February 5, 1985 =========================================================================== Tools BrowserFix.st Check for empty class list. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE 06/15/96 CodeGen.st Adds the 'publish' method for automatically generating instance variable accessors. You simply need to edit and accept the class definition of a class with instance variables, and then do 'ClassName publish.' AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE May 19, 1985 FileModel-put.st This removes the prompter before overwriting a file. Notifier-ProcessRedButton.st Make the red button act like the yellow one within a notifier. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 7, 1996 RedComments.st Simple changes to the Browser to make the selector of a method appear in bold blue and make comments red (or italics, your choice) so that they stick out more; edit to taste. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 18, 1996 TextCollector-characterLimit.st Increase the size of the transcript's log to 50 k chars. AUTHOR Stephen T. Pope (stp@create.ucsb.edu) VERSION 1.0 PREREQUISITES none DISTRIBUTION world VERSION ID 1 VERSION DATE November 10, 1996 ===========================================================================