Peter Easthope submitted (3 Dec 1999) the following case study entitled "A gadget for correspondence". It is the result of a cooperation between Douglas Danforth, Chris Glur, Pieter Muller, JosefSedlacek and Hal Weaver. Further suggestions and comments are welcome.
This is a case study of a systematic means of storing and accessing correspondence in Oberon. A few simple concepts are used. For each correspondent there is a file containing text received and sent. The name of the file is the name of the correspondent with blanks removed -- JaneSmith for example. The user finds and opens correspondence files using a gadget which displays the file names in a scrollable list. This is how the gadget is created. No programming is required; the description should be useful to novices. This recipe is portable, that is can be implemented in various ports of the ETH Oberon system.
The electronic documents which accompany Gadgets, "Gadgets Introduction" and "Oberon Companion", are beneficial.
Note: There is no way to open a viewer for a PanelDoc with the Gadgets.Panel.
Note 1: Though a "bare" Organizer can readily be constructed using the Gadgets.Panel, you have to use the ListGadgets.InsertVScrollList command to create an Organizer containing two visual gadgets and a model gadget.
Note 2: Oberon Companion: The Standard Gadgets Reference: ListGadget: Commands describes the command ListGadgets.InsertVScrollList ListGadget model ~. The second argument must be spelled "ModelGenerator", and you may choose among "Dag", "ListModel" or "Tree".
In the Cmd attribute field, type "Desktops.OpenDoc #Point". This command which will be executed when MM is applied on a name in the list of the correspondence gadget. MM on the [Apply] Button in Columbus.
With blanks excluded from the name it is a legal Oberon file name.
The list is maintained in lexicographical order regardless of the location of the insertion point. Try pasting Zebra to the beginning of the list.
If there is a file with name matching a name in the ListGadget, deleting the name from the ListGadget will not delete the file.
Desktops.OpenDoc ^ ... Correspondence
AsciiCoder.DecodeFiles % Correspondence ~ OC`kO@X6FgFFfBdg>fijBWFfkBdg>64PV;O:`];dTFDYFn0XF5P7hAXLHXX[h^HF3PB>04PUP780 2@1:`0<0ooooooK0180=7ooo`0lO7b0<5lPK05@0BPooo6hooooX42ioKWTioo?09P10:P7P4@02 `QD0P1P3i0R92PMnoT9In?1@06P5hoogQnFg>Gj:g`VFgBgiDP`4T`4Ta4WP467JK9C1Bdb>geBg g2gijbW2gbjFRnfa2bA2egVFgBG@H0E0M`7l1E0180OZH;[LO[KS9<MiD7[KMYAM;MBP281:P0@0 >01d0601H14@nooY0noo?PooookoBPcP1\0d02h1@U6FgFfYffdBGd@0H1XBO;JM;AOKI2P0408P 7b2\9<P1P0406@0201P>H0707`oo?oGb\coG2934P0<05`oM800KI<a98Q98Q982@0JP@=\^]<W[ ;MJI2e`j61hCUkI3[KC[N;[LW[;MJI0:d`>gd>fS6FbNfbBgijBWHBM;M;kI;[Lbdd>GjNd`Bfc0 dXb=\]]<IJJWcVnFbFFf>GG@VVfiBG0>ea:ggbFf:f`:gij22`ooO04@#22 Jul 2001 - Copyright © 2001 ETH Zürich. All rights reserved.