Look & Feel 3.2 Help File Copyright (c) 1989, 1990 by Oakland Group, Inc. ALL RIGHTS RESERVED. Revision History: ----------------- 11/14/89 jmd fixed main menu screen 2/2/90 jql added hi-char information 2/15/90 jql added new field functions for lnf 3.2 2/19/90 jql added Field Edit box's Ctrl-N feature 6/27/90 jql added screen on mouse w/ block commands and field marking added the blocks/mouse screen to the index added a reference to mousing in the Field Edit screen added a reference to mousing in the intro to Block commands added a reference to mousing in the Block menu screen added a reference to mousing in the Mouse Handler screen added Cfg file field to the Global Settings box screen reorganized the Global Settings box screen gave the Screen Edit screen cross references for ted parms reorganized Screen Edit box screen added information on Ansi code to Code Generate box screen added bd_mouse2 to the list of standard borders added third screen for standard borders changed "Line" to "Line Drawing" in the Tools menu screen changed this revision history to say lnf 3.2 (not 3.1) 8/10/90 jql added detail to the Screen Open box & reference to "bigsed" 8/14/90 jql added screen, quick key, menu ref to Screen-Freshen 8/14/90 jql added information to Disk-Save and Screen-Open about not using periods in screen names; also added cross references; added additional information to ted, sed screens 8/20/90 jql fixed alphabetical order of the index (highlighting chars was in the wrong place) 8/25/90 jdc preened 8/27/90 jdc preened 10/30/90 jmd fixed bottom of first index screen 12/04/90 jql added 3.1/3.2 sfile compatibility info to disk-import screen 12/06/09 jql fixed bottom and one word of the Screen Freshen help screen removed freshen from screen pulldown fixed lines in screen pulldown 12/12/90 jql added info about idata and ufuncs to field list screen added info about idata and field list to ufunc screen %% 1,0:14 2,0:22 3,0:4 4,0:5 5,0:3 6,0:102 7,0:102 8,0:83 9,0:62 10,0:66 11,0:67 12,0:72 13,0:99 14,0:35 15,0:68 16,0:1 17,0:52 18,0:50 20,0:43 21,0:38 22,0:2 23,0:20 24,0:16 25,0:17 26,0:10 27,0:30 28,0:27 29,0:26 30,0:74 31,0:20 32,0:103 33,0:6 34,0:7 35,0:44 36,0:23 37,0:8 38,0:11 39,0:10 40,0:35 41,0:38 42,0:83 43,0:65 44,0:70 45,0:29 46,0:31 47,0:42 48,0:99 49,0:62 50,0:76 51,0:9 52,0:19 53,0:25 54,0:37 55,0:32 56,0:41 57,0:47 58,0:46 59,0:43 60,0:29 61,0:31 62,0:42 63,0:22 %% .1 Look & Feel Help Welcome to the Look & Feel help system. Each help screen contains keywords which appear in boldface. These words are cross references to other help screens which discuss the topics of the boldface words. Press Enter while over a particular word or words to pass control to the new screen. For instance, you can get information about the Main Menu by selecting the following boldface words: @103[Main Menu] The help system is context-sensitive. This means that calling help from different parts of Look & Feel pops up different help screens. You can move to and select any keyword with the keyboard or with the mouse. With the keyboard, move with the arrow keys. With the mouse, place the mouse cursor over the choice and click it. To check the help index, select the "Index" field. If you have called one help screen from another, return to the calling screen by selecting the "Previous" field (or pressing Backspace). To leave help, select the "Exit Help" field. @111[Index] @-1[Previous Screen] @0[Exit Help] .2 Quick Key Listing @31[Ctrl-A] Mark a region and set its color @13[Ctrl-N] Call next screen or field @33[Ctrl-B] Embed one screen in another @11[Ctrl-O] Open a new screen @43[Ctrl-C] Use a special character @28[Ctrl-P] Paste a block at the cursor @20[Ctrl-E] Edit a field @47[Ctrl-Q] Quit @21[Ctrl-F] Mark a field @17[Ctrl-R] Resize a screen @45[Ctrl-G] Go to specified line number @5[Ctrl-S] Save a screen @2[Ctrl-H] Get a list of Quick Keys @30[Ctrl-T] Mark and move region @60[Ctrl-I] Toggle INSERT/OVERWRITE mode @35[Ctrl-U] Attach a user function @4[Ctrl-J] Load a screen @34[Ctrl-W] Attach one screen to another @26[Ctrl-K] Mark and copy a region @27[Ctrl-X] Mark and cut a region @42[Ctrl-L] Draw a line @12[Ctrl-Y] Close the current screen @16[Ctrl-M] Move a screen @118[Ctrl-Z] Refresh the screen @1[F1] Call Look & Feel's help system @38[F6] Load a file to edit @10[F2] Edit a screen @39[F7] Search for a word or phrase @14[F3] List all screens @40[F8] Search for and replace a string @22[F4] List fields @15[F9] Simulate a screen's behavior @22[F5] Move a field in the field list @103[F10] Call Look & Feel's main menu or highlight a field character @111[Index] @-1[Previous Screen] @0[Exit Help] .3 Disk Menu The Disk submenu of the @103[Main Menu] allows you to import, load, and save screens, and generate code and symbol tables. ÚÄÄÄÄÄLoad a screen with the Screen Load box. ³ Disk Commands ³ ÚÄÄÄSave a screen to disk with the Screen Save box. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ ³ º @4[Load (Ctrl-J)] º ÄÙ ³ ÚÄImport a screen from @51[Dan Bricklin's Demo] º @5[Save (Ctrl-S)] º ÄÄÄÙ ³ program, ASCII, or old versions of Look & Feel. º @8[Import ] º ÄÄÄÄÄÙ º @6[Code ] º ÄÄÄÄÄÄÄGenerate C code from the active screen. º @7[Table ] º ÄÄÄÄÄ¿ º About º ÄÄÄ¿ ÀÄGenerate a symbol table for all the screens in ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ a particular screen file. ³ ÀÄÄÄFind out about the origin of Look & Feel. @111[Index] @-1[Previous Screen] @0[Exit Help] .4 Screen Load box Look & Feel stores its screens in @65[sfiles]. To load a screen from an sfile, call Disk-Load or press Ctrl-J, which places the Screen Load box on the display. To load a screen, enter the appropriate information in the fields in this dialogue box and press Enter. You can press the Plus key to see a list of available files and screens in the File and Screen fields, respectively. To manipulate a screen, call the @10[Screen Edit box]. To remove a screen from the display, use the @12[Screen-Close] command. To create a new screen, use the @11[Screen-Open] command. @111[Index] @-1[Previous Screen] @0[Exit Help] .5 Screen Save box To save a screen to an @65[sfile], use the Disk-Save command, or Ctrl-S, which pops up the Screen Save box. This will save the current state of the screen. A screens basic parameters can be set in the @10[Screen Edit box]. Press Enter to save the screen into its present sfile with its present name. If you want to give the screen a new name or save it to a new file, enter these values and press Enter. You cannot include the "." (period) character in screen names. If you do this, Look & Feel will truncate the name; for instance, the name "input.screen" will become "input". This is because Look & Feel uses the period to indicate that a screen is @49[nested]. For instance, if you @33[embed] a @58[text editor] called "my_edit" in a data entry @57[screen] called "my_data", Look & Feel will call the text editor "my_data.my_edit". While in the Screen Save box, you can also @63[delete screens]. @111[Index] @-1[Previous Screen] @0[Exit Help] .6 Code Generate box The Disk-Code command pops up the Code Generate box, for generating code from a screen and setting parameters for it. The code consists of a single function, which displays the screen, starts it running, and returns the data to the calling function--all using calls to C-scape library. The top File and Screens fields take the name of the sfile and screen for which you are creating code (the active screen, by default). The "Output" Dir and File fields take the directory and file for the code that is to be created, and the Routine field below them takes the name for the routine to be created. By default, the name of the Output file will be the same as that of the screen from which the table is created (with an added .c suffix and its name truncated to eight letters) and the table will have the same name as the screen. The "Template" Dir and File fields take a directory and file name for a custom header. By default, Look & Feel will only include cscape.h and stdio.h. "Yes" in the Generate Test Code field creates a main() to call your function. "Yes" in the Quote Non-Printables field uses C's octal quoting syntax. "Yes" in the Generate Ansi Code field creates source with Ansi prototyping. @111[Index] @-1[Previous Screen] @0[Exit Help] .7 Generate Symbol Table box If you wish to load screens from .lnf files (@65[sfiles]) for use in your application, you must create an accompanying symbol table. Look & Feel will automatically do this from the Generate Symbol Table box. The uppermost Dir and File fields take the name of the sfile for which you wish to create code. The "Output" Dir and File fields take the directory and file for the table that is to be created, and the Table field below them takes the name for the symbol table to be created. By default, the name of the Output file will be the same as that of the sfile from which the table is created (with its suffix changed to .c from .lnf) and the table will have the same name as the sfile, with _syms added to its end. The "Template" Dir and File fields (on the right) take a directory and file name for a custom header. Look & Feel will only include cscape.h and stdio.h in your code unless you give it a custom template file. When you have selected a file, a screen, and an output file name, press Enter to generate the symbol table. Look & Feel will scan your .lnf file and create a symbol table with entries for each @82[field function], @98[border], @72[mouse handler], or other function it encounters. @111[Index] @-1[Previous Screen] @0[Exit Help] .8 Disk Import box To import ASCII files, slides from Dan Bricklin's Demo Program, or screens from the old Look & Feel, use the Disk-Import command, which places the Disk Import box on the display. The first field in the Disk Import box is the Directory field, which displays the path of Look & Feel's present working directory. If you want to load a screen from a different directory, type that directory's path in the Directory field. Press Enter to enter the new path in the Directory field. In the Source field, enter the name of the file from which you want to load a screen. Press Enter to select the file. The last field in this box is the Import From field. In this field, space bar toggles between "ASCII", "@51[DBD]" (for "Dan Bricklin's Demo"), and "OLDLNF" (for files from versions of Look & Feel prior to 3.1). Files from versions 3.1 and 3.2 of Look & Feel are compatible and can be loaded with the @4[Disk-Load] command. Once you have set values for all these fields, press Enter to import the screen. @111[Index] @-1[Previous Screen] @0[Exit Help] .9 Screen Menu The Screen submenu of the @103[Main Menu] allows you to manipulate screens. ÚÄÄÄÄÄCreate a new screen with the Screen Open box. ³ Screen Commands ³ÚÄÄÄÄEdit a screen with the Screen Edit box. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³³ º @11[Open (Ctrl-O)] º ÄÙ³ÚÄÄÄClose a screen (remove it from the display). º @10[Edit (F2)] º ÄÄÙ³ º @12[Close (Ctrl-Y)] º ÄÄÄÙÚÄÄMove to the next screen. º @13[Next (Ctrl-N)] º ÄÄÄÄÙ º @14[List (F3)] º ÄÄÄÄÄÄÄList all screens on the display. º @15[Go (F9)] º ÄÄÄÄÄÄÄEnter GO mode. º @16[Move (Ctrl-M)] º ÄÄÄÄÄ¿ º @17[Resize (Ctrl-R)] º ÄÄÄ¿ ÀÄÄEnter MOVE mode. º @18[Wipe ] º ÄÄ¿³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ÀÄÄÄEnter RESIZE mode. ³ ÀÄÄÄÄRemove all fields and text from the current screen. @111[Index] @-1[Previous Screen] @0[Exit Help] .10 Screen Editing A @9[screen] contains text and fields, and manages the flow of control and movement between fields. To edit a screen's parameters, use the Screen-Edit command or F2 to call the Screen Edit box. The Screen Edit box displays the @70[screen's name] and the file from which it is loaded. If you specified a path when you loaded the screen, the path will appear in the File field; if you loaded the screen from your current working directory, only the screen's @65[sfile] will appear there. It has fields to set the parameters to control size, position, @66[explode function], @98[border], border title, @101[border features], @67[special function], @72[mouse handling], help @71[labeling], color @74[attributes], @73[shadow], and an @68[auxiliary function]. In the Screen Edit box, you can also set @58[ted] parameters: @61[maximum length], @60[insert mode], @59[wrap width], and @62[movement mode]. @111[Index] @-1[Previous Screen] @0[Exit Help] .11 Opening a Screen To open a new screen, use the Screen-Open command, or Ctrl-O, which puts the Screen Open box on the display. The Type field allows you to select the @64[screen type] which you will open. You can open a menu (a horizontal or vertical @53[slug] or a @55[framer]), a scrolling list editor (@113[sled]), a text editor (@58[ted]), or a screen editor (@57[sed]). The sed is the most simple screen, and can serve most purposes. You can open either a small sed (called "sed") or a sed as large as the editing area (called "bigsed"). When you open a screen, you must both give it a name and place it in an sfile (use the Screen, File, and Directory fields to set these values). You cannot include the "." (period) character in screen names. If you do this, Look & Feel will truncate the name; for instance, it will change the name "input.screen" to "input". This is because it uses the period to indicate that a screen is @49[nested]. Once on the display, you can manipulate a screen with the @10[Screen Edit box]. To load an already existing screen from an @65[sfile], call the @4[Screen-Load] command. @111[Index] @-1[Previous Screen] @0[Exit Help] .12 Closing a Screen To remove a screen from the display, use the Screen-Close command or press Ctrl-Y. If the screen has never been saved, or you changed it since it was last saved, Look & Feel will ask you if you want to save the newest version before closing it. A closed screen leaves the @14[Screen List] and is no longer be available for @10[editing]. @111[Index] @-1[Previous Screen] @0[Exit Help] .13 Moving Between Screens and Fields If you have several screens on the display, you can move among them with the Screen-Next command, Ctrl-N. This command both passes control to the next screen and brings it to the foreground. Control passes among screens in their order in the @14[Screen List]. If you are in the Field Edit box for one of several fields in a screen, you can move among them by pressing Ctrl-N. This command passes control to the the next field and keeps the @20[Field Edit box] on the display, keeping the cursor in the same position in the box. Control passes among fields in their order in the @22[Field List]. @111[Index] @-1[Previous Screen] @0[Exit Help] .14 Listing Screens To see which screens are on the display, use the Screen-List command, or press F3. This displays a lists of screens by name. The topmost screen in the table is the active screen. The @13[Screen-Next] command will pass control among the screens in the order listed in the table. You can use this list to close a screen, or make a screen active. To remove a screen from the display, press the Delete key. If you have made changes to a screen since you last saved it, Look & Feel will ask you if you want to save your changes before it removes your screen from the display. This process is identical to calling @12[Screen-Close]. To make a screen active, move to it in the list and press Enter. This will remove the list and place control in the screen you selected. A @49[nested screen] will not appear in the screen list. Only its parent screen will appear. @111[Index] @-1[Previous Screen] @0[Exit Help] .15 GO mode To see how a screen will function as part of a running program, you can simulate its operation with Look & Feel's GO mode. Enter this mode by calling Screen-Go, or by pressing F9. In GO mode, the "#"s in each field become writeable positions and the keyboard behaves as it would in @6[generated code] or if the screen were called as an @65[sfile], so that you can enter data in fields. You can return to EDIT mode by calling Screen-Go (or F9) again or by exiting the screen with the Escape or Enter keys. In GO mode, only borders with enabled @101[border features] do not support the mouse. GO mode will only be able to simulate the behavior of functions that are linked into Look & Feel (such as the @83[standard field functions]). If Look & Feel encounters an unlinked field function, it will treat it as string_funcs. For @98[borders], @72[mouse handlers], @35[user functions] and other functions, Look & Feel will treat the unlinked function as if it has a NULL value. @111[Index] @-1[Previous Screen] @0[Exit Help] .16 MOVE Mode To move the active screen to a new position on the display, enter MOVE mode with the Screen-Move command, or by pressing Ctrl-M. You can return to EDIT by pressing Enter or repeating the command sequence that entered it. In MOVE mode, each arrow key moves the screen one row or column in its direction. The Home key moves the screen to the left edge of the display. The End key moves the screen to the right edge of the display. PgUp and PgDn move the screen to the top and bottom of the display, respectively. If you decide, while in MOVE mode, that you do not want to change your screen's position, press Escape to return to EDIT mode without moving your screen. To move a screen with the mouse, click the mouse on the edge of the border (but not any of its corners) and hold it down while dragging the screen to its new position. When you release the mouse, the screen will have a new position. @111[Index] @-1[Previous Screen] @0[Exit Help] .17 RESIZE Mode To resize a screen, use the Screen-Resize command, Ctrl-R. This command takes Look & Feel from EDIT mode and puts it in RESIZE mode. In this mode, the Right and Down arrow keys enlarge the screen's border horizontally and vertically, respectively. Left and Up shrink the border horizontally and vertically, respectively. When you like the new size, press Enter to set it and return you to EDIT mode. To resize a screen with the mouse, click on one of its corners and drag it to a new position. Release the mouse to set the screen's new size. To make a screen one character wide, press the Home key. To expand it to the right edge of the display, press End. To make it one character tall, press PgUp. For it to reach the bottom of the display, press PgDn. To make a screen the size of the display (or larger), simply enlarge it to whatever size you want for it. As it becomes taller, it will obscure the main menu and the status bar, but you can still call the main menu by pressing F10. To leave RESIZE mode without changing your screen's size, press Escape. This will return Look & Feel to EDIT mode and the screen to its original size. @111[Index] @-1[Previous Screen] @0[Exit Help] .18 Wiping a Screen To clear or wipe the contents of a screen, use the Screen-Wipe command. This includes all fields and text. This command does not remove the title string or reset the @98[border] or any @74[attributes]. @111[Index] @-1[Previous Screen] @0[Exit Help] .19 Field Menu The Field submenu of the @103[Main Menu] contains commands for creating, manipulating, listing, and sorting fields. Field Commands ÚÄÄÄEdit a field with the Field Edit box. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ º @20[Edit (Ctrl-E)] º ÄÄÄÙ ÚÄMark a field. º @21[Mark (Ctrl-F)] º ÄÄÄÄÄÙ º @22[List (F4)] º ÄÄÄÄÄÄÄList all fields in the active screen. º @23[Global Edit ] º ÄÄÄÄÄ¿ º @24[Row Sort ] º ÄÄÄ¿ ÀÄSet parameters for all fields in the active screen. º @24[Column Sort ] º Ä¿ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ ÀÄÄÄSort fields in the current screen by row. ³ ÀÄÄÄÄÄSort fields in the current screen by column. @111[Index] @-1[Previous Screen] @0[Exit Help] .20 Field Edit box To edit a field, use the Field-Edit command (or Ctrl-E), which calls the Field Edit box. The Field Edit box also appears when you finish @21[marking] a field. Within the Field Edit box, you can set and change a field's parameters: @80[spec], @82[field function], @92[variable type], @93[variable], @94[name], @79[regular and selected] @74[attributes], @114[highlighted character], @96[protection], @81[width], @95[number], and @97[data pointers]. In it, you can also see if a field has a @77[bob] attached to it. You can use the Field Edit box to move to @104[editing the next field]. @111[Index] @-1[Previous Screen] @0[Exit Help] .21 Field Marking When creating a field, you can either write its spec to the screen from within FIELD mode or write its spec to the screen and then mark it. To mark a spec that is already on the screen, select the Field-Mark command, or press Ctrl-F, which will highlight the cursor. As you move the cursor away from its original position, the highlighted area will expand and contract. When you begin marking, make sure the cursor is at the extreme left or right end of the field. Otherwise, you will not be able to mark the entire area, since you can only move the cursor in one direction for marking. When the entire field is marked, press Enter to set the field and pass control to the @20[Field Edit box]. You can also @116[mark a field with the mouse]. @111[Index] @-1[Previous Screen] @0[Exit Help] .22 The Field List (and Changing It) To see a list of the fields in the active screen, use the Field-List command, F4. This command displays a table with all the fields in it, and shows their names, numbers, field functions, variable types, variables, and protection states (in that order). In it, you can also see a field's idata (the value it returns as a menu choice) and @35[user function] by pressing the Left arrow key. You can use this list to change the order of the fields, delete a field, or edit a field. To edit a field, select Ctrl-E while control is in it or click the mouse on it. This will call the @20[Field Edit box]. If you want to move a field to a new position in the field list, move to it with the arrow keys and press F5, which selects it for movement. You can now use the arrow keys to move the field to a new position in the list. Press Enter when the field has the position you want. You can change the order of the fields this way or by @24[sorting] them. @111[Index] @-1[Previous Screen] @0[Exit Help] .23 Global Field Edit If you wish to set parameters for all the fields in a screen, you can use the Global Field Edit box. You can declare a global @82[field function], @92[variable type], @81[field width], @96[protection setting], or common @79[field attributes] for all a screen's fields. If you like, these settings can include the screen's @77[bobs]. For field function, variable type, width, and protection, you can select a value or setting as in the @20[Field Edit box]. To enable a global change, select a value for the parameter in question and mark the field to the left of the field label by pressing the space bar. This will cause a check to appear. To set global field attributes to the screen's defaults, check the field next to "Unmark". To include the fields in a screen's bobs, check the field next to "Include Bobs". @111[Index] @-1[Previous Screen] @0[Exit Help] .24 Sorting Fields Look & Feel can automatically sort your fields for you. To perform a sort based on the vertical alignment of fields, select Fields-Column Sort. To perform a sort based on the horizontal alignment of fields, select Fields-Row Sort. You can also manually change the order of your screen's fields by manipulating the @22[field list]. @111[Index] @-1[Previous Screen] @0[Exit Help] .25 Block Menu This is the Block submenu of the @103[Main Menu]. Block commands allow you to manipulate regions of screens containing fields and/or text. ÚÄÄÄÄÄCut a block from a screen. Block Commands ³ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ ÚÄÄÄCopy a block in to the cut buffer. º @27[Cut (Ctrl-X)] º ÄÙ ³ º @26[Kopy (Ctrl-K)] º ÄÄÄÙ ÚÄMove a block within a screen. º @30[Move (Ctrl-T)] º ÄÄÄÄÄÙ º @29[Delete ] º ÄÄÄÄÄÄÄPermanently delete a block. º @31[Attr (Ctrl-A)] º ÄÄÄÄÄ¿ º @28[Paste (Ctrl-P)] º ÄÄÄ¿ ÀÄChange the attributes of a block. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ ÀÄÄÄPaste the contents of the cut buffer back to a screen. You can also use @116[block commands with the mouse]. @48[About block commands] @111[Index] @-1[Previous Screen] @0[Exit Help] .26 Copying a Block To copy a @48[block] into the cut buffer, select the Block-Copy command, or Ctrl-K. Mark the block and press Enter. This will copy the marked block to the cut buffer, but leave the original block intact. Block-Copy is useful if you need several copies of an area, but you do not want to draw it repeatedly. It can also be more convenient to copy an area and modify it than to start from scratch each time. To paste the block back to a screen, use the @28[Block-Paste] command. If you copy the block, copies of it will have fields with the same parameters as the original. Give each set of fields unique variable names before converting the screen to code, or you will have do so manually after the conversion. @111[Index] @-1[Previous Screen] @0[Exit Help] .27 Cutting a Block To remove a @48[block] from its screen and save it into the cut buffer, use the Block-Cut command or press Ctrl-X. Mark the block and press Enter. This will remove the marked block from its screen and place a copy of it in the cut buffer. You can later paste the block back on the screen with the @28[Block-Paste] command. If you cut a block and do not paste it back to a screen, any fields in it will be @102[deleted]. @111[Index] @-1[Previous Screen] @0[Exit Help] .28 Pasting a Block To paste a @27[cut] or @26[copied] @48[block] to the screen from the cut buffer, place the cursor at the upper-left corner of its new location and select Block-Paste or Ctrl-P. This command will place the block back on the display. If you paste a block on top of an area with text, any text the pasted block has covered will be overwritten and cannot be retrieved. Fields will not disappear and can be manipulated from the @22[Field List]. @111[Index] @-1[Previous Screen] @0[Exit Help] .29 Deleting a Block To permanently remove a @48[block] from the screen, use the Block-Delete command. This command allows you to eliminate a marked block from the screen without losing the contents of the cut buffer. It also @102[deletes] all fields within the block. Begin by calling Block-Delete. Mark the block and press Enter. This will permanently destroy the marked block and remove it from its screen. A deleted block cannot be retrieved; Look & Feel does not copy it to the cut buffer. @111[Index] @-1[Previous Screen] @0[Exit Help] .30 Moving a Block To move a @48[block], select the Block-Move command or press Ctrl-T. Mark the block and press Enter. With the arrow keys, move the cursor to the upper-left corner of its new position. Press Enter to paste it back to the screen. The block will then have the position you have selected. With the Block-Move command, you cannot move a region from one screen to another. This is only possible by @27[cutting] a block and then @28[pasting] it back to a new screen. If you are moving a block on top of text and fields and are editing in @60[OVERWRITE mode], you will destroy the text which originally occupied the region. In @60[INSERT] mode, the text will be pushed to the right. @111[Index] @-1[Previous Screen] @0[Exit Help] .31 Coloring a Block To change the background @74[attribute] for a @25[block], use the Block-Attr command or press Ctrl-A. Mark the block and press Enter. When you press Enter, Look & Feel will pop up its dialogue box in which you can @76[change color attributes]. When you select the color you want, the box will leave the screen and the block will have a new attribute. This command does not affect the @19[fields] within the block. You can set their colors in the @20[Field Edit box] or with the @23[Global Field Edit] command. @111[Index] @-1[Previous Screen] @0[Exit Help] .32 Nesting Menu This is the Nesting submenu of the @103[Main Menu]. With its commands, you can attach or embed one screen to or in another, link a user function to a field, or detach an attached or embedded screen. Nesting Commands ÚÄÄÄAttach a screen to another screen. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ º @34[Attach (Ctrl-W)] º ÄÄÄÙ ÚÄDetach a @77[bob] from its parent screen. º @36[Detach ] º ÄÄÄÄÄÙ º @33[Embed (Ctrl-B)] º ÄÄÄÄÄÄÄEmbed a screen in another screen. º @35[UserFunc (Ctrl-U)] º ÄÄÄÄÄ¿ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÀÄLink a user function to a field. @49[More information on nesting] @111[Index] @-1[Previous Screen] @0[Exit Help] .33 Embedding a Screen To embed one screen in another, use the Nesting-Embed command, or Ctrl-B. First, ensure that both the parent and child screens are both on the display. Next, put control into the screen that will be the child screen. Then move it directly over the position you want it to have in the parent screen. Selecting Nesting-Embed anchors the child screen on a virtual field in the parent screen. (A virtual field is a field without any writeables or non-writeables.) It also pops up the @20[Field Edit box] so you can set the parameters of the virtual field. Because this is an embedded sed, you must set the field function to bob_funcs and the field's variable to NULL. Finally, set the @67[special function] for the bob to spc_Embed. @111[Index] @-1[Previous Screen] @0[Exit Help] .34 Attaching a Screen To attach one screen to another, move to the field in the parent screen where you wish to attach the child and call the Nesting-Attach command, Ctrl-W. This command pops up a list of all the screens presently on the display. Move to the screen you want to attach and press Enter. The @20[Field Edit box] will then appear and you can select a @82[field function] for the field to which the child is attached. You must either use @55[framer_funcs] or @53[slug_funcs]. Otherwise, the attached screen will be unusable unless you link in your own custom field function. When you exit the Field Edit box, the process is finished. You can @36[detach] a child from its parent with the Nesting-Detach command. @111[Index] @-1[Previous Screen] @0[Exit Help] .35 Attaching User Functions If you wish to attach user functions to your @53[slug] and @55[framer] menus, use the Nesting-UserFunc command, or Ctrl-U. Move to the field which will hold the function and press Nesting-UserFunc. If there is a bob already attached to the field, Look & Feel will first ask you if you wish to delete the bob (or not attach the function). Press Y to attach the user function and pop up the User Function box. This dialogue box takes the name of the function to be attached and an idata value, which is an integer. The menuing system (@55[framer] or @53[slug]) pass the idata to the field's user function or (if the user function is NULL) to whatever called the menuing system. Once you enter these values and press Enter again, they are set as the user function's name and return value. Both appear in fields to the left of the field number in the @22[field list] Until you link in your user function, @15[GO mode] treats the field as if its @82[field function] is string_funcs. Look & Feel comes with the sample user function lnf_Beep. lnf_Beep beeps at a frequency determined by its idata. @111[Index] @-1[Previous Screen] @0[Exit Help] .36 Detaching a Screen To remove a @77[bob] from its parent and make it autonomous, you can use the Nesting-Detach command to extract a nested screen from its parent screen. First, pass control into the screen you want to detach. To do this, press F9 to enter @15[GO mode] and move through the fields into the bob. Once control is in the bob, return to EDIT mode by pressing F9 again. Now, select Nesting-Detach. Before Look & Feel extracts the child screen from the parent, it asks you to supply a name for the screen that will be extracted. If you do not enter a name, you cannot detach the screen. After you enter the new screen's name, press Enter. This sets the screen's new name, removes the popup box, and detaches the screen. @111[Index] @-1[Previous Screen] @0[Exit Help] .37 Editor Menu This is the Editor submenu of Look & Feel's @103[Main Menu]. It contains commands for opening an editor window, searching for a string, and performing a search and replace. Editor Commands ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ÚÄOpen a file for text editing. º @38[Open (F6)] º ÄÄÄÄÄÙ º @39[Search (F7)] º ÄÄÄÄÄÄÄSearch for a string. º @40[Replace (F8)] º ÄÄÄÄÄ¿ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÀÄSearch for a string and replace it. @50[More information on the editor] @111[Index] @-1[Previous Screen] @0[Exit Help] .38 Editor Open box To open a window and load a file for text editing, use the Editor-Open File command, F6. This will pop up its Editor Load box. The Editor Load box takes the name of a file (in the File field) and the directory in which the file is located (in the Directory field). If you leave the Directory field empty, you will be working in the directory where you have installed Look & Feel. You can press the Plus key in the File field to pop up a list of the files available for editing in your working directory. The list will include any @65[.lnf files] in the directory. Do not edit these, as you may corrupt them and destroy the screens in them. @111[Index] @-1[Previous Screen] @0[Exit Help] .39 Search You can perform a case-sensitive search with the Editor-Search command, or by pressing F7. A "Search:" prompt will appear at the bottom of the screen. Enter the word or string you want and press Enter. The editor will then move the cursor to the first character after its first instance. You can perform searches in @58[teds], @50[Look & Feel's editor], and other screens. For @57[seds], @53[slugs], and @55[framers], Look & Feel will only search for the pattern in the text buffer. Look & Feel will only perform a forward search. To ensure finding all cases of a string, start at the beginning of a file. @111[Index] @-1[Previous Screen] @0[Exit Help] .40 Search and Replace You can search for a string and replace it with another by pressing F8 or calling Editor-Replace. A "Search:" prompt will appear at the bottom of the screen. Enter the word you want to replace and press Enter. A "Replace:" prompt will replace the search prompt. Enter the new text and press Enter. The editor will then move the cursor to the first instance of the search string and request an action. Press Y to replace it and move to its next instance; N to move to its next instance without replacement; or G to replace the rest of its instances. Pressing Escape ends the process. You can perform searches in @58[teds], @50[Look & Feel's editor], and other screens. For @57[seds], @53[slugs], and @55[framers], Look & Feel will only search for the pattern in the text buffer. This function is case sensitive. It also will only search forward in a file. @111[Index] @-1[Previous Screen] @0[Exit Help] .41 Tools Menu This is the Tools submenu of the @103[Main Menu]. It gives you access to special utilities for manipulating your screens. Tools ÚÄÄÄEnter Line Drawing mode. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ º @42[Line Drawing (Ctrl-L)] º ÄÄÄÙ ÚÄUse an ASCII special character. º @43[Special Char (Ctrl-C)] º ÄÄÄÄÄÙ º @44[Global Settings ] º ÄÄÄÄÄÄÄChange Look & Feel's global settings. º @45[Top (Ctrl-Home)] º ÄÄÄÄÄ¿ º @45[Bottom (Ctrl-End)] º ÄÄÄ¿ ÀÄPlace control at the top of the active screen. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ ÀÄÄÄPlace control at the end of the active screen. @111[Index] @-1[Previous Screen] @0[Exit Help] .42 Drawing Lines Look & Feel provides an easy way to draw single, double, or character lines. They are a supplement to (and not a replacement for) Oakland border functions. The Tools-Lines command, Ctrl-L, places Look & Feel in LINE mode. Moving the cursor with the arrow keys draws a line that automatically connects with lines it crosses. You can change the type of line by pressing 0, 1, 2, or 3. If you wish to draw a single line, press 1. To draw a double line, press 2. To move within LINE mode without changing the screen, 0. If you press 0 and move on top of a character and press 3, Look & Feel will then draw a line consisting of the character that you were over. Enter and Escape return Look & Feel to EDIT mode. Backspace removes lines and restores the previous contents of the screen. @111[Index] @-1[Previous Screen] @0[Exit Help] .43 Using Special Characters Certain ASCII characters cannot be typed from the keyboard. You can include these in a screen with the Tools-Characters command, or Ctrl-C. This command will pop up the Special Character box. This box has all special characters in it. You can move around in this screen with the arrow keys and select the character you want by pressing Enter. The character will then appear at the current cursor position. You can exit this screen without selecting a character by pressing the Escape key. @111[Index] @-1[Previous Screen] @0[Exit Help] .44 Global Settings The Tools-Settings command calls the Global Settings box, in which you can modify or set values for Look & Feel's global variables. Unless otherwise specified, the fields use the space bar to toggle between their two positions. The Cfg File field displays the file from which Look & Feel is getting its dialogue boxes. If Look & Feel finds lnf.oak in your path, it lists the path here; if lnf.oak is in your current working directory, no path is listed. In the @60[Input Mode] field, you can toggle between the modes for text input. (You can also use the Ctrl-I quick key to perform this action.) In the Tab Size field, you can set the size of tabs. In the Show Tabs and Show Newlines fields, you can display or hide the tab and newline markers. In the Sound field, you can turn on or off sound. The Overwrite Prompt field lets you choose whether or not Look & Feel will ask you if you want to overwrite screens and files when you save them. In the Monochrome field, you can toggle between color and monochrome modes. (Monochrome mode allows you to see how your color screens will appear on a monochrome monitor.) The 43 Line Mode field lets you choose to have Look & Feel use 43 line mode on your VGA monitor. @111[Index] @-1[Previous Screen] @0[Exit Help] .45 Moving the Cursor within a Screen You can move the cursor within a screen by using the mouse or arrow keys. Either move the cursor to a new position with the arrow keys, or click the mouse on whatever new position you want it to have. You can move the cursor to the beginning of a screen by selecting the Tools-Top command or pressing Ctrl-Home. You can move the cursor to the end of a screen by selecting the Tools-Bottom command or pressing Ctrl-End. You can also put the cursor on a particular line with the Ctrl-G command. This command prompts you a line number. After receiving it, the cursor will move to the specified line. When using this command, remember that the topmost line in a screen is line 0 (zero). @111[Index] @-1[Previous Screen] @0[Exit Help] .46 Help Menu This is the Help submenu of the @103[Main Menu]. Help ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ÚÄProvides an entry point to Look & Feel's help º @1[Help (F1)] º ÄÄÄÙ system through the menu. º @2[Quick Keys (Ctrl-H)] º ÄÄÄ¿ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÀÄDisplays a list of Look & Feel's Quick Keys. @111[Index] @-1[Previous Screen] @0[Exit Help] .47 Quitting Look & Feel This is the Quit submenu of the @103[Main Menu]. Move into it and press Enter to leave Look & Feel. Quit ÚÄLeave Look & Feel and return to your operating ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ system. If you have edited any screens since º Quit (Ctrl-Q) º ÄÄÄÙ last saving them, Look & Feel will prompt you ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ with the @5[Screen Save box]. @111[Index] @-1[Previous Screen] @0[Exit Help] .48 Block Commands Block commands allow you to manipulate, duplicate, @30[move], and @29[delete] sections of text. You can use them on any region within a screen. Some block commands use the cut buffer. Whenever you @27[cut] or @26[copy] a block, a replica of it goes into the cut buffer. The @28[paste] command copies the contents of the cut buffer back to the screen. The cut buffer can only hold one block at a time, so when you cut or copy a new block, the new block replaces whatever was there. Pasting does not affect the cut buffer. To cut, copy, delete, or @31[color a block], begin by marking it. The current cursor position should be at one end of the marked region. (Marked areas appear on the display in reverse video.) Move the cursor to the other end of the region you wish to mark and press Enter to finish marking the block. Look & Feel will then perform whatever action on the block you have requested. If you mark a block with fields, the block commands will affect those fields. For instance, if you move a block that contains fields, they will move with the block. Also, marking one character of a field marks the entire field. You can also use @116[block commands with the mouse]. @111[Index] @-1[Previous Screen] @0[Exit Help] .49 About Nesting The Nesting commands allow you to link screens. If you want two screens always to appear and disappear together, you can @33[embed] one within the other. If you @34[attach] one screen to another, the attached screen can appear when the screen to which it is attached is visible (but will not appear automatically). In both cases, the relationship is parent-child and you cannot call the child directly. The relationship is also parent-child insofar as the parent can have more than one child, while a child can have only one parent. For instance, a menu has several submenus, but each submenu is attached to the same menu. Each child's name appears after the parent's name and a dot, such as "parent.child". A nested screen has a shell around it, which makes the child a "basic object," or @77[BOB]. Because an embedded screen appears and disappears with its parent, it is a DEPENDENT bob. An attached screen may behave differently from its parent and is therefore an INDEPENDENT bob. You can also link a function from outside of Look & Feel to a field with the Nesting-UserFunc command. This command is useful for attaching @35[user functions] to @55[framer] or @53[slug] menus. @111[Index] @-1[Previous Screen] @0[Exit Help] .50 Look & Feel's Editor The text editor in Look & Feel has functions for @39[searching], @40[searching and replacing], @59[word wrap], and @48[block commands]. You can use it to edit @6[generated source code] or other files. In the editor, you can view tab and newline markers by making the appropriate selections from the @44[Global Settings box]. The editor operates in the ted_Past @62[movement mode], in @60[insert mode] for input, and has no @61[maximum length]. You can open an editing window with the Editor-Open command To move from an editing window to another window, use the @13[Screen-Next] command. To remove an editing window from the display, use the @12[Screen-Close] command, which will ask you if you want to save the contents of the window. @111[Index] @-1[Previous Screen] @0[Exit Help] .51 Importing Files from Dan Bricklin's Demo Program To @8[import] a screen designed with Dan Bricklin's Demo Program (DEMO), you must use Demo's Print command to save the screen in a special format. Enter DEMO, and select the screen that you wish to convert to C code. Look & Feel will only be able to load the screen (1) as text with CR/LF interspersed, (2) has its attributes set as separate, and (3) is printed to a file. If the file you are printing already exists, do not append the new file to the old one. Either replace the old file or give the new file a different name. Look & Feel can now load the resulting .TXT file. Consult the Look & Feel manual for a detailed discussion of this process. @111[Index] @-1[Previous Screen] @0[Exit Help] .52 GO mode You are now in Look & Feel's @15[GO mode], which simulates the behavior of a screen when it is operational. You can leave GO mode by either calling Screen-Go, pressing F9, or by pressing Escape. @111[Index] @-1[Previous Screen] @0[Exit Help] .53 Slugs The slug menu system can create nested menuing systems. These can be either horizontal or vertical. When activated, a slug menu lets the user move through menu choices. Descriptive prompt messages appear for each menu choice. When the user presses Enter, a value is returned to the program or control passes into either another menu or a user-supplied function. Pressing Escape returns the user to the previous menu level. You can manipulate a slug menu with the @10[Screen Edit box]. If you wish to use a slug, you can either load a simple slug with the @11[Screen-Open] command and modify it or @54[build one]. @111[Index] @-1[Previous Screen] @0[Exit Help] .54 Building a Slug Building a slug takes several steps: (1) Create the main menu from a sed where every field has slug_funcs for its @82[field function]. Mark fields across or down the main menu with the @21[Field Mark] command. (2) Using other seds, create submenus with choices in them. The fields in the submenus should also have slug_funcs as their field functions. You can also give your choices @35[user functions]. (3) Link each submenu to the main menu with the @34[Nesting-Attach] command. You will now have a functioning slug menu. @111[Index] @-1[Previous Screen] @0[Exit Help] .55 Framers With the framer menuing system, you can create submenus that drop down from a menu bar at the top of the display. The user can move horizontally through the menu bar and then vertically through the submenus. A menu choice can either return a value to the program or call a user-supplied function. To create a framer menuing system, you can either @56[build] it from a sed or load a simple framer with the @11[Screen-Open] command and modify it. You can manipulate a framer menu with the @10[Screen Edit box]. @111[Index] @-1[Previous Screen] @0[Exit Help] .56 Building a Framer Building a framer takes several steps: (1) Create the main menu from a sed where every field has framer_funcs for its @82[field function]. Mark fields across the main menu with the @21[Field Mark] command. (2) Using other seds, create submenus with choices in them. The fields in the submenus should also have framer_funcs as their field functions. You can also give your choices @35[user functions]. (3) Link each submenu to the main menu with the @34[Nesting-Attach] command. You will now have a functioning framer menu. @111[Index] @-1[Previous Screen] @0[Exit Help] .57 Seds (Screens) A sed (Screen EDitor) is a screen with text and/or fields. A sed manages its own flow of control. It processes keystrokes and controls data entry within fields and movement between fields. Since seds are Look & Feel's most fundamental @64[screen type], you can use one to create a text editor (@58[ted]), a @55[framer] menu, or a @53[slug] menu. The main editing area (where control first resides when you enter Look & Feel) is a sed. You can modify this and all seds with the @10[Screen Edit box] or in various other ways (such as resizing or moving the screen). @111[Index] @-1[Previous Screen] @0[Exit Help] .58 Teds (Text Editors) A ted is a text editing screen that can automatically word-wrap text. In a ted, you can set and display tabs; mark, cut, delete, and paste blocks of text; perform @39[search] or @40[search and replace] operations; and save and read files. You can set values for a ted's parameters in the @10[Screen Edit box]. Teds have four additional parameters that govern their behavior: a @61[maximum length], an @60[insert mode], a @59[wrap width], and a @62[movement mode]. You can also set these in the Screen Edit box. @50[Look & Feel's editor] is a ted with additional file storage ability. To create a ted, create a sed with a virtual field with ted_funcs as its @82[field function] and spc_EmbedTed as its @67[special function]. @111[Index] @-1[Previous Screen] @0[Exit Help] .59 Wrap Width The wrap width of a @58[ted] is the maximum length of its line. You can observe and set its value in the Wrap Width field of the @10[Screen Edit box]. As you type words past this length, the ted automatically places them on the next line. By default, a ted does not wrap. If a ted already has a wrap width and you do not want its lines to wrap, press "*" in this field. For best results, make the wrap width three characters less than screen width. Otherwise, when you type a word that runs past the end of a line, the contents of the screen may scroll horizontally until the words wrap. By default, @50[Look & Feel's editing windows] do not have a wrap width, but you can set one for each of them by calling the @10[Screen Edit box]. @111[Index] @-1[Previous Screen] @0[Exit Help] .60 Insert and Overwrite Modes When using a @58[ted], you can select between two input modes: INSERT and OVERWRITE. In INSERT mode, old characters slide to the right when you type new characters. In OVERWRITE mode, new characters appear on top of (and delete) the old characters. Pressing the space bar toggles between the two modes, where "Yes" means that the ted is in INSERT mode and "No" means that it is in OVERWRITE mode. In the Insert mode field of the @10[Screen Edit box], you can observe and set a ted's Input mode. @50[Look & Feel's editor] operates in INSERT mode. @111[Index] @-1[Previous Screen] @0[Exit Help] .61 Maximum Length You can set the maximum number of characters that a @58[ted] will hold in the MaxLength field of the @10[Screen Edit box]. If you want a ted with unlimited length, enter "*" in this field. Otherwise, enter a new value and it will be the ted's maximum length. @50[Look & Feel's editor] does not have a maximum length. @111[Index] @-1[Previous Screen] @0[Exit Help] .62 Move Methods In the Movement field of the @10[Screen Edit box], you can select your ted's movement method, which determines how the cursor moves in it. You can either set it to ted_Past or ted_Follow. ted_Past allows the cursor to move past the end of text on any line. Vertical motion is straight up and down. ted_Follow does not allow the cursor to move past the end of text on any line--the cursor moves from the end of a line to the beginning of the next line. Vertical motion follows the ends of lines. To set your ted's movement method, either type the name of the movement method you wish to use or press Plus to pop up the two methods and select one. @50[Look & Feel's editor] use the ted_Past method. @111[Index] @-1[Previous Screen] @0[Exit Help] .63 Screen Deletion To delete a screen, enter either the @4[Screen Load box] or the @5[Screen Save box]. Enter a file name in the File field and press Enter. In the Screen field, press Plus to pop up the list of screens that are in whatever .lnf file you have selected. Move to the screen you want to delete with the arrow keys and press Delete. Look & Feel asks you to confirm the deletion. When you delete a screen you have permanently removed it. To merely remove a screen from the display, use the @12[Screen-Close] command. @111[Index] @-1[Previous Screen] @0[Exit Help] .64 Screen Types Look & Feel allows you to create screen editors (@57[seds]), text editors (@58[teds]), @113[sleds], and two types of menuing systems (@55[framers] and @53[slugs]). When you create a new screen in the @11[Screen Open box], you must specify what type of screen you want it to be. @111[Index] @-1[Previous Screen] @0[Exit Help] .65 Sfiles Look & Feel saves its screens into .lnf files, which are also called sfiles or screen files. You can call an sfile from a C-scape executable and manipulate it with the sfile_ library commands. If you wish to do this, you must generate a @7[Symbol Table] and include it in your code. @111[Index] @-1[Previous Screen] @0[Exit Help] .66 Explode Functions In the Explode field of the @10[Screen Edit box], you can give your screen an "explode" function, which adds special effects when it first appears on the display. Look & Feel provides the following explode functions: exp_std the Oakland standard explode function, which draws a series of expanding boxes within a screen. exp_BeamMeUp the Star Trek explode function, which before the screen appears, boldly draws a sequence of characters where no characters have gone before. @111[Index] @-1[Previous Screen] @0[Exit Help] .67 Special Functions In the Special field of the @10[Screen Edit box], you can attach a special function to your sed. A special function customizes the way a screen's fields process particular keystrokes by intercepting keystrokes before the standard @82[field functions] can read them. In this field, the Plus key pops up a list of the available special functions, which are: spc_Abort Intercepts the Escape key causing control to leave the screen without saving any of the new values that users may have entered. spc_Embed Intercepts keystrokes so that they work properly for @49[nested] seds. spc_Sled Intercepts keystrokes so that they work properly for @113[sleds]. spc_EmbedTed Intercepts keystrokes so that they work properly for nested @58[teds]. An @68[auxiliary] function can also customize a screen's behavior. @111[Index] @-1[Previous Screen] @0[Exit Help] .68 Auxiliary Functions In the Aux field of the @10[Screen Edit box], you can give your screen an auxiliary function, which provides additional control over its operation without having to modify @82[field functions]. You can use the auxiliary function several times while processing a screen. C-scape provides no standard auxiliary functions, so each one you use must be your own. To attach an auxiliary function to a screen, fill in its name in the appropriate field in the Screen Edit box. You can also customize a screen's behavior by giving it a @67[special function]. @111[Index] @-1[Previous Screen] @0[Exit Help] .69 Screen Attributes Each screen has four @74[attributes]: regular, selected, background, and shadow. Each of these is listed in a field of the @10[Screen Edit] box and can be @76[modified] there. You can either type a new attribute number in the field or press the Plus key to pop up a table with all the available attributes in it. @111[Index] @-1[Previous Screen] @0[Exit Help] .70 Screen Name Each screen has a name. With a single sfile, each screen has a unique name. A screen's name appears in a protected field in the @10[Screen Edit box]. Screens are also listed by name in the @14[screen list]. If you wish to save a screen under a new name, call the @5[Screen Save box] and enter a new name in the "Screen" field. @111[Index] @-1[Previous Screen] @0[Exit Help] .71 Screen Label In the Label field of the @10[Screen Edit box], you can set the value for a screen's label, which is an integer that gives a screen a unique identifier. The label normally works in conjunction with the help system in order to bind specific help screens to screens in applications. @111[Index] @-1[Previous Screen] @0[Exit Help] .72 Mouse Handler In the @10[Screen Edit box]'s mouse handler field, you can give your screen a mouse handler. A screen with a mouse handler attached allows you to use the mouse to move among the screen's fields. These mouse handlers are available: sedmou_Click Passes control to a field when you click the mouse there. sedmou_Framer Handles the mouse properly for @55[Framer] menus. sedmou_Track Passes control to fields as the mouse moves among them. sedmou_GreedyTrack Allows mouse events to happen only in the active screen. Handles mouse events as does sedmou_Track. (This handler should only be used in popup windows.) sedmou_GreedyClick Allows mouse events to happen only in the active screen. Handles mouse events as does sedmou_Click. (This handler should only be used in popup windows.) To move or resize a screen with the mouse, you must enable the @101[border features] of its border. In Look & Feel, you can perform @116[block commands with the mouse]. @111[Index] @-1[Previous Screen] @0[Exit Help] .73 Shadow In the Shadow field of the @10[Screen Edit box], you can give your screens the ability to cast shadows. A shadow is a one-character wide region to the right and below a window. You can toggle between enabling and disabling shadows by pressing the space bar in this field. Note that a screen's @74[shadow attribute] determines its color when it is in another screen's shadow. A screen with an enabled shadow will only cast a shadow on screens with shadow attributes. @111[Index] @-1[Previous Screen] @0[Exit Help] .74 Attributes (General Information) For color attributes, Look & Feel treats every screen as four distinct regions: background, regular, selected, and shadow. background Any area which is not a field. This is usually the screen's text region. regular All fields except the one in which control presently resides. selected The active field. The selected field changes as the cursor moves from field to field. shadow The portion of the screen lying in the @73[shadow] of another screen. Each field can also have a @114[highlighted character], which has its own regular and selected values. Look & Feel uses hexadecimal @75[notation] for its attributes. You can @76[change attributes] for @10[screens], @20[fields], @98[borders], and @31[blocks]. @111[Index] @-1[Previous Screen] @0[Exit Help] .75 Attribute Notation For color monitors, a color attribute specifies the color of text and the color of the background color. Look & Feel has sixteen colors available for text and backgrounds, making 256 combinations. For monochrome monitors, attributes specify normal, underlined, bold-faced, blinking, or reversed characters. Look & Feel uses hexadecimal notation for color attributes. For each of 256 attributes, the first digit indicates the background color while the second indicates the foreground color. In C's notation, the prefix "0x" (with the numeral zero) denotes a hexadecimal number, so 0x00 to 0xff indicate the numbers from 0 to 255. Each attribute field has the attribute you have chosen and displays the number of the attribute in hexadecimal. For instance, if the background color of a screen is 0x07, the Back field of the Screen Edit box will hold the number "07" in white on black (which is color attribute 0x07). @111[Index] @-1[Previous Screen] @0[Exit Help] .76 Changing Color Attributes To change a color attribute, go to its field and type the number of the color attribute you want. To view all the available colors, press Plus. This will pop up a screen with all available colors in it. Move around it with the arrow keys and press Enter over the active field to select its attribute. You can perform this procedure for the attribute fields in the @10[Screen Edit box], @20[Field Edit box], or when coloring a @31[block]. @111[Index] @-1[Previous Screen] @0[Exit Help] .77 Bobs A bob is a screen which is @49[nested] within another screen. It can either be independent (when it has been attached to its parent screen) or dependent (when it has been embedded in its parent screen). Because bobs are part of their parent screens, @78[editing bobs] cannot happen directly after embedding or attaching. Only from within the bob can you set its parameters with the @10[Screen Edit box]. @111[Index] @-1[Previous Screen] @0[Exit Help] .78 Editing Bobs You cannot directly edit a screen once it is embedded or attached. To edit a nested screen, enter @15[GO mode] by pressing F9. You can then move through the fields and into the @77[bob]. If the bob is an attached screen, the screen will then appear. Once you are inside the bob, leave GO mode by pressing F9 again. This leaves you inside the bob in EDIT mode, where you can edit as you like. @111[Index] @-1[Previous Screen] @0[Exit Help] .79 Regular and Selected Fields A field has two color @79[attributes]: regular and selected. Usually, the field is colored by the regular attribute. When you move into a field to edit its data, it changes to its selected attribute. The default values for these attributes are the color attributes of the field's screen and are set in the @10[Screen Edit box]. If you want a field to have unique attributes, you can reset them in the @20[Field Edit box]. @111[Index] @-1[Previous Screen] @0[Exit Help] .80 Field Spec The Spec field of the @20[Field Edit box] holds the field's specification--its writeables and nonwriteables. Writeables are the positions in a field where you can write and nonwriteables are the positions in a field where you cannot. For instance, in the field: (___) ___-____ The parentheses, dash, and blank space are the nonwriteables since they do not change during data entry. The underscored areas are the writeables. In the Spec field, use a "#" for each writeable and any other character for the nonwriteable positions. If you want a field's width to be different from the number of characters in the spec, you can set it in the @81[Width] field. To use a "#" as a nonwriteable character, place the "@@" character in front of it. For example, "@@##" will appear as "#_". While in the spec field, you can also select a field's @114[highlighted character]. @111[Index] @-1[Previous Screen] @0[Exit Help] .81 Field Width In the Width field of the @20[Field Edit box], you can set the displayed (as opposed to actual) width of a field. By default, this value is the number of characters in the field's @80[spec] and appears as "*". You can change the display width by entering an explicit value in this field. By setting it to a smaller value than the field's actual width, you can make the field contents scroll as the user enters information into it. @111[Index] @-1[Previous Screen] @0[Exit Help] .82 Field Functions In the Funcs field of the @20[Field Edit box], you can select the field function for your field. A field function is a structure of functions that governs a field's behavior: the @92[data type] a field will accept, how it will @109[format] the data, and how it will display this data on the screen. When you create a field, you can use one of the @83[standard field functions], or create one of your own. You can either type in the name of the function in this field, or use Plus to pop up a list of all the available functions and select from the list with the Enter key. @111[Index] @-1[Previous Screen] @0[Exit Help] .83 Standard Field Functions Look & Feel comes with over thirty standard field functions. They are listed here in alphabetical order Function Data Type Description alpha_funcs char * Allows entry and editing of a character string. Only accepts alphabetic characters. Enlarges the cursor when in INSERT mode. bob_funcs void Passes control to a bob embedded in a field and governs movement through the field. char_funcs char * Allows input of a single character. The field should have only one writeable position. @84[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .84 Standard Field Functions, Continued Function Data Type Description check_funcs boolean * Allows the user to check off selections by pressing the space bar. Uses arrow keys to move between choices. If a choice has been selected, a check mark is written to its record and its variable is set to TRUE. The field needs at least one writeable position. click_funcs char * Treats the field as a menu choice. Supports grid movement among fields. Pressing a field's first letter or Enter makes a selection and exits the sed. clong_funcs long * Allows calculator style input of a long integer. Inserts commas automatically. Reserves the left most record position for the minus sign. @85[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .85 Standard Field Functions, Still Continued Function Data Type Description cmoney_funcs long * Allows calculator style input of a long integer representing a monetary value in cents. Automatically inserts commas. Automatically keeps the last two digits behind a fixed decimal point. Reserves the left most record position for the minus sign. date_funcs struct tm * Allows entry of a date. Assumes that the field has 6 writeable positions interpreted as MM/DD/YY. Look & Feel automatically places the result in the date portion of a tm struct. digit_funcs char * Allows entry and editing of a character string. Accepts only numeric characters. Enlarges the cursor when in INSERT mode. @86[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .86 Standard Field Functions, Yet Still Continued Function Data Type Description double_funcs double * Allows scientific calculator style input of a double value. framer_funcs void Controls all behavior for fields in a framer menu. gmenu_funcs void Treats the field as a menu choice. Supports grid movement between the fields (with the arrow keys). Pressing Enter exits the screen. hex_funcs int * Allows entry of an integer in hexadecimal format. int_funcs int * Allows calculator style input of an integer. Reserves the left most record position for the minus sign. @87[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .87 Return of the Standard Field Functions Function Data Type Description list_funcs char * Allows the user to select a choice from a list that pops up when the space bar is pressed. Copies the choice into the field's variable. The field's second data pointer holds the list in a string, with commas between choices. The commas are not displayed. A choice list might be "NH,NJ,NM,NY". long_funcs long * Allows calculator style input of a long integer. Reserves the left most record position for the minus sign. mark_funcs boolean * Allows the user to mark selections in a list by pressing the space bar. Uses arrow keys to move between choices. If a choice has been selected, it marks the choice's field and sets the field's variable to TRUE. @88[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .88 Revenge of the Standard Field Functions Function Data Type Description menu_funcs void Treats the field as a menu choice. Down and Up arrows move to next and previous field. Pressing Enter exits the sed. money_funcs long * Allows calculator style input of a long integer for a monetary value in cents. Automatically keeps the last two digits behind a fixed decimal point. Holds the left most record position for the minus sign. nowrite_funcs char * Treats the field as a menu choice with grid movement among fields. Identical to menu_funcs except it uses string_senter. Menu choice text is determined by the contents of the field's string variable. Hence, it can be changed at run-time but the user may not edit the field. Upon exit, the value of the field is not written back to the variable. @89[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .89 Son of Standard Field Functions Function Data Type Description pint_funcs int * Positive integer function, identical to int_funcs except that it allows only positive values. Needs no space for a minus sign. plong_funcs long * Positive integer function, identical to long_funcs except that it allows only positive values. Needs no space for a minus sign. radio_funcs boolean * Allows for the exclusive selection of one field from a group of fields, each of which has the same field name. Requires at least one writeable position. range_funcs int * Displays an integer value as a horizontal bar chart. Requires a field with at least 10 writeable positions. @90[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .90 Niece of Standard Field Functions Function Data Type Description sdouble_funcs double * Allows string-like entry of a double. secure_funcs char * Allows entry of a character string. Does not echo characters on the display; displays instead a mask character. sfloat_funcs float * Allows string-like entry of a float. sint_funcs int * Allows string-like entry of an integer. slong_funcs long * Allows string-like entry of a long. slug_funcs void Controls all behavior for fields in a slug menu. @91[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .91 Standard Field Functions: The Next Generation Function Data Type Description string_funcs char * Allows entry and editing of a character string. Enlarges the cursor in INSERT mode. ted_funcs char * Allows full text editing on a string of text. time_funcs struct tm * Allows entry of a time. Assumes the field has 6 writeables for use as HH:MM:SS. Look & Feel automatically places the results in the time portion of a tm struct. toggle_funcs char * Allows the user to cycle through a list of choices by pressing the space bar. The field's second data pointer contains choice definitions, with commas separating them. Copies the final choice into the field's variable. The commas are not displayed. A choice list might be "Chico,Groucho,Harpo,Zeppo". @115[More standard field functions] @-1[Previous Screen] @111[Index] @0[Exit Help] .92 Variable Type The Type field in the @20[Field Edit box] displays the C variable type your field uses. If you select a field function from the available set with the Plus and Enter keys, Look & Feel will automatically set the field's variable to the appropriate type. If you use a field function you have created, you must fill in this field yourself. @111[Index] @-1[Previous Screen] @0[Exit Help] .93 Variable In the Var field of the @20[Field Edit box], you can set a field's variable. You can give a field any name you like, but you should only use names that are valid C variable names. Look & Feel will not validate variable names. A variable serves as a field's identifier, along with its @95[number] and @94[name]. If you wish to use array elements for variables, add an array subscript to each variable of the proper type. You may also have to modify the variable type to match the array type. If you wish to use structure elements as variables you must add the type and name of the structure to the variable name. You only need to assign field variables if you intend to generate code from your screen. @111[Index] @-1[Previous Screen] @0[Exit Help] .94 Field Name In the Name field of the @20[Field Edit box], you can give your field a name. A field name provides a method of calling and referring to fields without using its @95[number] or @93[variable]. Both in Look & Feel and its generated code, you can use field names to refer to fields when you manipulate them. Field names are especially useful within Look & Feel, since you can easily move the fields within a screen, which may change their field numbers. Once you have generated code from your screen, you can continue to use field names with routines such as sed_GetNameVar and sed_GetNameNo. @111[Index] @-1[Previous Screen] @0[Exit Help] .95 Field Number Each field has an individual number, which appears in the protected field, FieldNo, in the @20[Field Edit box]. A field number can serve as a field's identifier, along with its @94[name] and @93[variable]. Fields are numbered in the order of their creation, and most standard @82[field functions] pass control among fields sequentially. You can use a screen's @22[field list] to restructure the order of its fields. @111[Index] @-1[Previous Screen] @0[Exit Help] .96 Protection You can enable and disable protection by pressing the space bar in the Protect field of the @20[Field Edit box]. When a screen is part of a running program (either from @6[generated code] or from @65[sfile] calls), a protected field is inaccessible with the field movement commands and is ignored by them. The same is true within @15[GO mode]. In all other respects, a protected field is a normal field. This prevents users from altering the fields whose values are set automatically, such as those holding dates or times. A protected field behaves as other fields in EDIT mode. @111[Index] @-1[Previous Screen] @0[Exit Help] .97 Data Pointers Below the data entry fields in the @20[Field Edit box], there is an editor in which you can enter data for the field's data pointers. You can have up to 22 data pointers for each field. Look & Feel (and C-scape) have pre-defined uses for the first three--they hold information for a @105[prompt string], @106[field validation], and @109[text formatting], respectively. Since Look & Feel assumes that data pointers point to strings, you do not need to use quotations around them. If you need field data pointers that point to data objects other than strings, you must: (1) Put a dummy string with a null value into the field's pointer slot to make sure that Look & Feel will create the data pointer in the screen's sfile. (2) In your program, load your screen from the sfile and use the function sed_SetFieldData (from C-scape) to set the data pointer to the value you desire. @111[Index] @-1[Previous Screen] @0[Exit Help] .98 Border Functions Like the screens which they surround, the behavior of a Look & Feel border is defined by a set of parameters--the function which defines it, its @101[features], and its color @74[attribute]. In the Border field of the @10[Screen Edit box], you can attach a border to your screen from the list of @99[standard borders]. The border has its own color attribute, and the rules which govern it are the same as those that govern all other color attributes. You can set this value in the "Bord" field of the Screen Edit box's Attributes area. @111[Index] @-1[Previous Screen] @0[Exit Help] .99 Standard Borders bd_1 A simple, single lined border. It does not have a title, @105[prompt string], or scroll lights. bd_123 A border that displays a @105[prompt] beneath the screen (similar to bd_null). Used by the slug menuing system. bd_2 A simple, double lined border. It does not have a title, @105[prompt string], or scroll lights. bd_bar A border with a title and a scroll bar along the right hand edge. bd_box A single lined border that holds a title in its top line. It has no scroll lights or prompts. @100[More Standard Borders] @111[Index] @-1[Previous Screen] @0[Exit Help] .100 More Standard Borders bd_boxlight A single lined border that holds a title in its top line and scroll lights on its side. It has no prompt. bd_mouse A single lined border that holds a title in its top line, a @105[prompt string] position in its bottom line, and scroll lights on its right side. This border always supports the mouse. bd_mouse2 A border with the same functionality as bd_mouse, with the addition of a horizontal scroll bar along its bottom. bd_null A non-existent border that displays @105[prompts] on the bottom line of the display. @117[More Standard Borders] @111[Index] @-1[Previous Screen] @0[Exit Help] .101 Border Features Look & Feel provides four features for @98[border]: move, resize, outline, and top. The move and resize features allow you to use the @72[mouse] to move and resize the border attached to your screen. The top feature allows you to click on a partially obscured screen and make entirely visible. With the outline feature enabled, a screen displays only the movements of its outline until its final position. You can set these features for a screen in their fields in the @10[Screen Edit box]. These features are enabled in @15[GO mode], when the screen is called from a screen file, or when the screen is converted to C code. Enabling the outline feature will do nothing unless either the move or resize features are enabled. @111[Index] @-1[Previous Screen] @0[Exit Help] .102 Field Deletion You can delete a field by either using the field list or by using the block commands. To delete a field from within the @22[field list], press Delete while it is the active field. Pressing Escape will return control to the main editing area, but will not undo changes you have made. Enter behaves as Escape in this situation. To delete a field with block commands, either use @27[Block-Cutting] or @29[Block-Delete] to remove the field from the screen. If you do not @28[paste] a cut block back to the screen, the field will be gone permanently. @111[Index] @-1[Previous Screen] @0[Exit Help] .103 Main Menu Screen The Main Menu is at the top of the screen. It allows you to perform any of Look & Feel's commands. You can call it by pressing F10. Loading and Using Look saving screens, & Feel's creating code Creating, editing, Using Look & special Leaving and symbol deleting, and Feel's text utility Look & tables. viewing fields. editor. functions. Feel. ³ ³ ÚÄÄÙ ³ ³ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º @3[Disk] @9[Screen] @19[Field] @25[Block] @37[Editor] @32[Nesting] @41[Tools] @46[Help] @47[Quit] º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÚÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄ¿ Altering a Copying, cutting, Linking (and detaching) Calling screen's deleting, moving, screens or functions Look & Feel's appearance and changing regions. to screens. help system. and parameters. The Status Bar is at the bottom of the screen. It shows the active screen and row and column within it (with the upper-left corner as 0,0). @111[Index] @-1[Previous Screen] @0[Exit Help] .104 Field Edit Next From the @20[Field Edit box], you can move from editing one field to the next one iin the screen by pressing Ctrl-N. You can also perform this action by pressing enter over the "Next" field. The fields will appear for editing in the same order listed in the @22[Field List]. If you want to change the order in which control passes among fields, you can do so by moving them manually in the field list or by @24[sorting them]. @111[Index] @-1[Previous Screen] @0[Exit Help] .105 Prompt Strings You can give a field a @98[border] prompt by putting a string in its first @97[data pointer]. A border will display the prompt string if it can so. The borders capable of displaying prompt strings are bd_123, bd_mouse, bd_null, bd_prompt, and bd_std. @111[Index] @-1[Previous Screen] @0[Exit Help] .106 Validation String In a field's second data pointer, you can include a string for validating the field's data. You can perform either @107[numeric] or @108[alphabetic] validation. @111[Index] @-1[Previous Screen] @0[Exit Help] .107 Numeric Validation For numeric functions, each string is a pair of numbers that specify a lower and upper range. The numbers are separated by a comma. For example, the validation string "(0,22)" specifies a range of 0 through 22, inclusive. You can use as many number pairs as you wish. A value is within range if it falls within the lower and upper bounds of at least one of the number pairs. The validation string "(2,5)(44,55)" specifies a range of 2 through 5 or 44 through 55. Having a number absent, such as in "(4,)", indicates an open-ended range. In this case a value greater than or equal to 4 would be valid. Validation strings are not checked for errors. You must make sure they are properly formed. @111[Index] @-1[Previous Screen] @0[Exit Help] .108 Alphabetic Validation For string functions, each string specifies a choice that the field may accept as a value. For example, the validation string Fred,Wilma,Barney,Betty will not allow the user to leave the field until they have entered a name from the list. Validation strings are not checked for errors. You must make sure they are properly formed. Also, remember to leave no spaces between the choices. @111[Index] @-1[Previous Screen] @0[Exit Help] .109 Formatting Fields A field's third @97[data pointer] can hold text formatting strings. Each character in a @110[standard format string] specifies a formatting operation to be performed on the field's record. An "!" character before a text formatting character reverses the formatter's effect. The standard field functions check the third field data pointer (data pointer number 2) for a format string. If one is present, the field will be formatted according to the pointer's specifications. If you specify mutually exclusive formatting commands, the command listed last is carried out. For instance, if the format string is "Ul", the field's record will be lower case, while if the format string is "lU", the field's record will be upper case. @111[Index] @-1[Previous Screen] @0[Exit Help] .110 Standard Format Strings Normal Reversed U Converts the record to UPPER CASE. Converts the record to lower case. l Converts the record to lower case. Converts the record to UPPER CASE. P Converts the record to Proper Case. Converts the record to iMPROPER cASE. c Removes whitespace from the record. Removes whitespace from the record. ^ Centers the record. Centers the record. > Right justifies the record. Left justifies the record. < Left justifies the record. Right justifies the record. , Places commas in a numeric string. Removes commas from a numeric string. 1-9 Places a fixed decimal point with 1 Removes a fixed decimal point. through 9 digits to its right. _ Pads a string with trailing spaces. Removes trailing spaces. @111[Index] @-1[Previous Screen] @0[Exit Help] .111 Help Index @108[Alphabetic Validation] @45[Cursor Movement] @22[Field List] @34[Attaching a Screen] @31[Coloring a Block] @21[Field Mark] @35[Attaching a Function] @51[Dan Bricklin's Demo Program] @19[Field Menu] @75[Attribute Notation] @97[Data Pointers] @94[Field Name] @74[Attributes, About] @29[Deleting a Block] @95[Field Number] @68[Auxiliary Functions] @36[Detaching a screen] @96[Field Protection] @116[Blocks and the Mouse] @8[Disk Import box] @80[Field Spec] @48[Block Commands] @3[Disk Menu] @93[Field Variable] @25[Block Menu] @78[Editing Bobs] @81[Field Width] @77[Bobs] @37[Editor Menu] @55[Framers] @101[Border Features] @38[Editor Open box] @23[Global Field Edit] @98[Border Functions] @33[Embedding a Screen] @44[Global Settings] @76[Changing Attributes] @66[Explode Functions] @15[GO mode] @18[Clearing a Screen] @102[Field Deletion] @1[Help on Help] @12[Closing a Screen] @20[Field Edit box] @114[Highlighting characters] @6[Code Generation] @104[Field Edit Next] @60[Insert Mode] @112[More Entries] @-1[Previous Screen] @0[Exit Help] .112 Help Index, Continued @42[Line Drawing] @79[Regular and Selected Fields] @65[Sfiles] @50[Look & Feel's Editor] @17[RESIZE mode] @73[Shadow] @103[Main Menu Screen] @13[Screen-Next] @113[Sleds] @61[Maximum Length] @63[Screen Deletion] @53[Slugs] @44[Monochrome Mode] @10[Screen Editing] @24[Sorting Fields] @72[Mouse Handler] @71[Screen Label] @43[Special Characters] @16[MOVE mode] @14[Screen List] @67[Special Functions] @62[Movement Mode] @4[Screen Loading] @99[Standard Borders] @30[Moving a Block] @9[Screen Menu] @83[Standard Field Functions] @49[Nesting, About] @70[Screen Name] @110[Standard Format Strings] @32[Nesting Menu] @11[Screen Opening] @103[Status Bar] @107[Numeric Validation] @5[Screen Saving] @7[Symbol Table Generation] @28[Pasting a Block] @64[Screen Types] @58[Teds] @105[Prompt Strings] @39[Search] @41[Tools Menu] @2[Quick Keys] @40[Search and Replace] @106[Validation Strings] @47[Quitting Look & Feel] @57[Seds] @92[Variable Type] @59[Wrap Width] @-1[Previous Screen] @0[Exit Help] .113 Sleds A sled (Scrolling List EDitor) allows you to view and manipulate a list of data whose size you cannot predict. It has a small number of identical rows, each of which contains one or more @19[fields] and manages its own data in internal arrays called column arrays. The @93[field variables] point to successive elements in the column array. The sled automatically creates and maintains a column array for each of its field columns. It also governs mapping of field variables to the data of the column arrays. You can open a sled in the @11[Screen Open] box. To add a row to a running sled, press "+". To delete a row, press "-". @111[Index] @-1[Previous Screen] @0[Exit Help] .114 Highlighted Characters Look & Feel allows you to highlight a character in every field. Highlighted characters in a @57[screen] have their own @74[attributes]; in a menu, they serve as an identifier for the field during a search (instead of the first letter). To highlight a character, go to the @80[spec field] of the @20[field edit box] and press the Space Bar. This will allow to move across the spec with the arrow keys. When you are over the character you wish to highlight, press F5. Exit the the field edit box and the character you selected will now be colored with the screen's highlighted attributes. You can change these attributes in the @10[Screen Edit box]. @111[Index] @-1[Previous Screen] @0[Exit Help] .115 Enough already with the Standard Field Functions Function Data Type Description togint_funcs int * Identical to toggle_funcs, except it stores the choice number in the field variable instead of the string itself. xstring_funcs char * Extended string function--identical to string_funcs except that it accepts any character. Useful for international keyboards with special characters. yesno_funcs boolean * Displays "Yes" or "No". Toggles when space bar, Y, or N keys are pressed. @111[Index] @-1[Previous Screen] @0[Exit Help] .116 Block commands and field marking with the mouse If you wish to use the mouse to perform @48[block operations], perform the following steps: (1) Click on one corner of the region you wish to manipulate. (2) Drag the mouse to mark the region. (3) Release the mouse. This will pop a list of block commands, including @30[Block-Move], @27[Block-Cut], @26[Block-Kopy], @31[Block-Attr], and @29[Block-Delete]; the command @21[Field-Mark] is also on the list. Select the action that you wish to take and Look & Feel will proceed with the action (identically to calling the menu choice or using a @2[quick key]. Remember that fields are only one row tall. If you use the mouse to mark a region more than one row tall and select Field-Mark to turn that region into a field, Look & Feel will use the top row of the region for the field. @111[Index] @-1[Previous Screen] @0[Exit Help] .117 Even More Standard Borders bd_plain A simple border with single lines along its top and left sides and double lines along its bottom and right sides. bd_prompt A single lined border with a @105[prompt string] position in the bottom line and a title in its top line. It has no scroll lights. bd_std The standard Oakland border. It has a title, a @105[prompt line], and scroll lights, on the top, bottom, and left sides, respectively. bd_title A border with single lines along its top and left sides and double lines along its bottom and right sides. It has a title and scroll lights, but no prompt area. @111[Index] @-1[Previous Screen] @0[Exit Help] .118 Freshening the Screen This command, Screen-Freshen, clears and redraws the screen, in the event that any "trash" appears on the screen, from line noise, OS messages, or other sources. This command is specifically designed for multi-tasking operating systems, such as UNIX, VMS, and QNX. The @2[quick key] for this command is Ctrl-Z. @111[Index] @-1[Previous Screen] @0[Exit Help]