═══ 1. Help for CASE:PM Help ═══ Use these choices to find out how to use help, to get extended help, to go to a list of keys, or to go to the help index. Help for help Provides detailed information on the kinds of help available and how to use help. Extended help Displays general help. Keys help Displays a list of keys. Help index Displays the help index. ═══ 2. Help for Help ═══ Use this choice to obtain information on how to use the Help facility. ═══ 3. Client Area Controls Command ═══ The Client Area Controls Template dialog allows you to choose a dialog box to be used as a template for your client area. This option provides you with a method of placing controls directly in the client area of your main window. ═══ 4. About Box Dialog ═══ This menu item remains disabled (greyed) unless the Help System pulldown has been selected. If you have selected to generate a help system for your application, this option may be selected to specify which dialog to use for your application About box. The About Box is a dialog box that usually displays information about your application such as the version, the copyright, and any other application or company specific information you wish. ═══ 5. Client Area Controls Dialog ═══ The Client Area Controls Template dialog allows you to choose a dialog box to be used as a template for your client area. This option provides you with a method of placing controls directly in the client area of your main window. ═══ 6. Generate / Regenerate Message Dialog ═══ This dialog will only appear if CASE:PM senses that a version of the currently loaded application exists when you have chosen to generate it. If a previous version is found, you will be presented with a panel with the following text: A previous version of this application exists, would you like to Generate, Re-generate or Cancel? There are four buttons in this dialog box: Re-generate: Carry any changes you have made to the code forward to the next version. Generate: Generate your application from scratch. Warning: Generating will cause user added code to be destroyed. If you have made changes to the source code manually, they will be lost. Regenerate will carry forward user added code. This option is useful while prototyping applications, before you have added code. Cancel Cancel the generation process Help Get help on generation. While Generate is running, you should see the Generate Icon in your prototype's client area. ═══ 7. Design Menu ═══ The Design Menu pulldown has the following options: - Primary Window Design Menu o Style o Title o Icon o Cursor o Colors o Scrollbars o Size and location o Window messages - Additional Support o Unlinked dialogs o Unlinked secondary windows o Client area icons o Client area controls template o Help system o About box o Initialization panel ═══ 8. About Box Dialog ═══ The About dialog displays information about this version of CASE:PM. ═══ 9. Help System Command ═══ CASE:PM is capable of generating a complete, context sensitive help system for your application. It will generate support for the OS/2 Information Presentation Facitlity (IPF) that is a part of Presentation Manager. Support generated includes source code in your .C file, a .RC file, a help ID file (.RCH), a compile statement in your application MAKEfile, and the help text source file (.IPF). The actual help text for your application is added to the (.IPF) file with your favorite text format editor. "Tags" are generated by CASE:PM for each of the Menu Bar and Pulldown items in your application, and for any dialog boxes that have a Help pushbutton. Help pushbuttons are added to dialogs through the Dialog Editor, and must have a style of BS_HELP for CASE:PM to recognize them as a Help button. The BS_HELP style is selected from the Styles menu in the Dialog Editor when the button is added to the dialog. ═══ 10. User Defined Files Dialog ═══ To include your own header (.H) and resource (.RC) files in the generated source code, type the name of the file or files you wish included in the provided entry fields, and select OK. The specified header file will be included in the main header file (.H); the specified resource file will be included in the .RC file generated by CASE:PM. ═══ 11. User Defined Files Command ═══ The User Files option allows you the ability to specify a user-defined file to be included in the generated source code. You may specify a header file (.H) or a resource file (.RC). ═══ 12. Help for Extended Help ═══ Use this choice to obtain general information on the tasks you can perform while you are viewing a help window. ═══ 13. Help for Help Index ═══ Use this choice to display the help index. The help index lists the titles of the help information that is available. ═══ 14. Help for Keys ═══ Use this choice to see a list of keys and a description of the function of the keys. ═══ 15. CASE:PM ═══ CASE:PM is a programming tool for developing Presentation Manager applications. It provides a complete programming environment including an interface to a powerful Expert System for designing and generating Presentation Manager programs and a configurable interface to the tools (SDK components,text editors, compilers, linkers, etc.) that programmers normally use to develop Presentation Manager programs. Partial or completed designs can be saved and retrieved (File). The Expert System can be called to generate the program source and associated files (Generate). Changes and additions to the generated program can be entered (Edit). The completed program can be compiled and linked (Make), and quick-looked and test (Run). A context sensitive help system (Help) is available when you need assistance. CASE:PM is operated by making a selection from its action bar. If you are starting from a previously saved application, you would first select the File item to open the corresponding application (.WIN) file. You can use the File option New to reset the system, allowing you to begin a new design. If you are beginning a new design, you would start by selecting the Design "Target" on the prototype Action Bar. You design the primary window and its default attributes using the Design action item. The Design pulldown item, Client Area, permits you to define dialog boxes needed by the application that are not directly linked to one of the program's action bar or pulldown items. ═══ 16. Demo dialog box ═══ Help for the dialog box that is displayed during the demo goes here. ═══ 17. Client Area Secondary Windows ═══ Client area secondary windows are secondary windows, not linked to an Action item or pulldown item. CASE:PM will generate all of the associated code necessary for this window, except for the call to bring it up. The code to invoke the window is generated within comments, so it can be moved to the desired location. To add a client area secondary window, first select the source of the window. This can be an executable file, another CASE:PM prototype (.WIN file ), or a Dialog box file (.DLG). The list box labeled "Available" will change to reflect the type of file you have requested. Select a file from the list box of the type you desire. Next, define the attributes for this window by selecting it's relationship to the calling window. You may choose a Child or Sibling type of relationship for your window. The check box marked "Large task (separate thread)" controls whether or not the window will reside in it's own OS/2 thread. Next, you may choose a code segment for the window. The list box to the right displays segments that have already been defined, or you may type in a new name which will be added to the list with the default settings for additional segments. Clicking on the Add button will add this dialog to the "Selected" list. You can delete this window from the list by selecting it from this list, and pressing the delete key. ═══ 18. IDLG_LOC ═══ IDLG_LOC ═══ 19. Size and Location Dialog ═══ This dialog is used to decide how your window will appear on the PM Desktop. Your choices are as follows: Cascaded - PM will decide the window's initial position, offsetting it a set distance from the last window loaded, down and to the right until the bottom of the desktop is reached. Tiled - PM will decide the windows initial size and location, by finding a piece of the desktop with no other window on it, and sizing and locating your window in that space. Maximized - Brings your window up full screen. Minimized - Brings your window up as an Icon. User defined - You set the size and location. If you choose this option, CASE:PM will allow you to position and size your window with the mouse. When you close your window using the system menu(at the top, left corner of your window) your settings will be saved. User defined, tiled - Same as above, but PM will try to find a location on thescreen that the window will fit in for it's initial display. ═══ 20. Window Pointer Dialog ═══ From this dialog, you may choose from the available pointer files available in your development directory. Pointer files have a extension mask of *.PTR. New pointers can be created using the toolkit provided Icon Editor. ═══ 21. Window Icon Dialog ═══ From this dialog, you may choose from the available icon files available in your development directory. Icon files have a extension mask of *.ICO. New Icons be created using the toolkit provided Icon Editor. ═══ 22. Open File Dialog ═══ Use this dialog to load existing .WIN files into the CASE:PM prototyper. The two list boxes provide you a method of moving between drives and directories, as well as selecting the file you wish to work with. ═══ 23. File Save as Dialog ═══ Use the Save as option to save the currently loaded file to a different name than is currently active (and displayed in the CASE:PM title bar). If no name has been given to the application in working storage, this dialog will be called automatically by the Save function. You may use the provided Directories list box to switch to another directory to save your file if you so desire. ═══ 24. Edit Menu Item Dialog ═══ The Edit Menu item dialog is presented whenever an Action or pulldown item is added or modified. There are several logical groups of information that must be provided to satisfy this dialog. The first piece of information needed is the style of item that this item is going to be. Your choices are: String: An alphanumeric string, such as File. Separator: A thin line separating menu choices, used to indicate a logical break in menu flow. You will notice that all other choices are grayed when a separator is chosen as the menu item style. Bitmap: Bitmap is only a valid style for a pulldown menu. When the Bitmap style is chosen, you are presented with a dialog to help you choose your bitmap file from the disk. Bitmap files have the extension .BMP and are created by the toolkit provided Icon editor. Menu Item Name: If you select a menu type of string, type the text in the entry field, labeled Menu Item Name. You may specify a keyboard mnemonic for this item by imbedding a tilda (~) in front of the character you wish to have as your mnemonic. For example, the File item on the CASE:PM action bar has an underscore beneath the F in File. This is the mnemonic for File. If you were creating your own prototype and wanted a file action item, using the F for a mnemonic, you would enter the text as follows: ~File. Additional Accelerator: An additional accelerator is a key that will directly invoke the action linked to this menu item. This is not to be confused with the keyboard mnumonic. An example of an accelerator would be the F3 key on the CASE:PM Exit pulldown menu item. Accelerators are also key combinations, such as Ctrl+Backspace, which represents the CASE:PM Undo feature. To enter an accelerator, enter the text as it will be displayed in your menu item. The spacing of the accelerator is taken care of for you by CASE:PM in the generated source code. In general all keys are entered as they appear on the keyboard. Here are some examples: Ctrl+U Shift+Ins Ctrl+End ═══ 25. Secondary Windows Dialog ═══ This dialog is presented whenever an Action or Pulldown menu item is linked to a secondary window. The dialog allows you to decide several things about the secondary window you wish to link. First decide the window's parent. If you select Desktop, the window will be displayed over the calling window. If Window is chosen, the secondary window will be displayed in, and clipped by the calling window. This means that the secondary window would have to be of a size that will fit in the client area of it's intended parent. Next, select a source for this window. A secondary window can be an executable file (.EXE) that is called by the menu item. In this call, CASE:PM will generate all of the code necessary to launch the .EXE file in your source. You may also select an .WIN file for your secondary window. CASE:PM stores window designs in .WIN files. If you select this type of window, you can chain several windows prototyped with CASE:PM. CAUTION: Do not call the application that you are working on as a secondary window to itself. Generation errors will result. ═══ 26. Dialog Box Dialog ═══ This dialog is appears whenever a link is requested to a dialog box. To link a dialog to an item, choose the dialog from the Available dialogs list box. The name you choose will show up in the Dialog Filename entry field. You may also type in the name, but be forewarned that if the dialog does not yet exist, it must be created before the Test View feature can be used or code can be generated. After choosing a dialog file, select either the modal or modeless radio button to specify this dialogs behavior in your application. If you select Modal, when your application is compiled and run, you will not be able to access any other part of your application while the dialog is displayed. If you select Modeless, you will have access to other functions in your application while this dialog is still active. Next you may optionally specify a code segment other than Standard for the generated code for this dialog to be placed. To do so, simply click on the entry field and type in the name of the segment. Any pre-defined segments will be listed in the list box, and can be selected with the mouse. The check box marked Large task (Separate thread) may be checked if you wish the processing of this dialog to be done in an OS/2 thread. Enter will confirm your choices. ═══ 27. IDLG_PLDWN ═══ IDLG_PLDWN ═══ 28. Title Dialog ═══ Use this dialog to enter the text that you wish displayed in the title bar of your application. ═══ 29. User Defined Code ═══ User defined code can be broken into two categories: Include ascii file: This choice presents you with a list of files with the .INC extension. These files are presumed to contain user provided code provided in pure ascii format. Inline Code: this choice presents you with mini-editor which can be used to enter code directly into the prototype. The most useful application of this method is to enter a function call or comment into a code point for later reference. ═══ 30. Bitmap Dialog ═══ The Bitmap dialog offers a list files with the .BMP extension from which you can select the bitmap of choice. New bitmap files are created with the toolkit provided Icon editor. ═══ 31. Title Dialog ═══ Use this dialog to enter the text that you wish displayed in the title bar of your application. ═══ 32. New File Command ═══ The New command clears out the CASE:PM prototyper and resets all values to their defaults. If you have a file named DEFAULT.WIN in your CASE:PM directory, it will be loaded at this time as an untitled application. ═══ 33. IDLG_COPS ═══ This menu selection offers a set of pulldown menu choices that afford you direct control over how your application is compiled and linked. The pulldowns presented are as follows: Memory Model Optimization Warning Level Floating Point Local Storage Libraries Add Segments Miscellaneous ═══ 34. Warning Level ═══ The Warning Level option gives you a choice of the available warning levels supported by your compiler. The higher the warning level, the "pickier" the compiler will be in analyzing your code. Warnings are displayed during the Make process in the Make window. The settings chosen here are reflected in the Make file generated by CASE:PM. More information on Warning levels is available in your toolkit/compiler documentation. ═══ 35. Floating Point ═══ This menu choice provides a mechanism to specify whether or not floating point support is to be compiled into your application. Additionally, you are provided a place to specify the floating point library to use. The settings chosen here are reflected in the Make file generated by CASE:PM. More information on Floating Point Support is available in your toolkit/compiler documentation. ═══ 36. Library Support ═══ If you have need to change the default libraries (OS2.LIB and XLIBCE.LIB), or wish to add libraries to be considered when compiling your application, you may do so with this option. The default libraries can be changed by typing the new library name over the old one. Libraries can be added by typing their name into the additional libraries entry field, and then clicking on the Add button. To delete a library from your list, select it from the list box, and click the Del button. The selections made here are reflected in the Make file generated by CASE:PM. More information on Floating Point Support is available in your toolkit/compiler documentation. ═══ 37. Memory Model ═══ This option allows you to choose the appropriate memory model for your program. The memory models appropriate for your language/compiler are displayed next to radio buttons. Simply select the setting appropriate for your needs. Many Presentation Manger experts suggest the Large memory model for PM applications. The setting chosen here is reflected in the Make file generated by CASE:PM. More information on Memory Models is available in your toolkit/compiler documentation. ═══ 38. Optimization ═══ If your compiler supports it, you can choose the type of optimization used during the compile process. For the IBM C/2 and Microsoft C ver. 5.1, you can choose between Speed and Size for the type of optimization used to compile your application. The setting chosen here is reflected in the Make file generated by CASE:PM. More information on Optimization is available in your toolkit/compiler documentation. ═══ 39. Additional Options Dialog Help ═══ This dialog is used to further customize CASE:PM's output into your MAKE file. Here you may choose to include or exclude support for Codeview debugging, Argument type checking, and the type of make facility ═══ 40. Libraries ═══ If you have need to change the default libraries (OS2.LIB and XLIBCE.LIB), or wish to add libraries to be considered when compiling your application, you may do so with this option. The default libraries can be changed by typing the new library name over the old one. Libraries can be added by typing their name into the additional libraries entry field, and then clicking on the Add button. To delete a library from your list, select it from the list box, and click the Del button. The selections made here are reflected in the Make file generated by CASE:PM. More information on Floating Point Support is available in your toolkit/compiler documentation. ═══ 41. Make ═══ The Make option will build your program using the MAKE.EXE program provided with your compiler or toolkit. MAKE.EXE uses a file generated by CASE:PM to perform all of the compile and link steps necessary to produce an executable file from the source code produced by the product. The file used by MAKE.EXE will bear the name of your application, with no extension. There are two "flavors" of MAKE.EXE currently in circulation. The MAKE.EXE provided by IBM supports a slightly different file format than the MAKE.exe provide by Microsoft. CASE:PM allows you to customize it's output for each of these through the setup facility, by allowing you to select the compiler that you are using. ═══ 42. Add Additional Segments ═══ Additional code segments can be defined when either the Medium or Large memory model have been selected. If you have not chosen the medium or large memory model, medium will be selected for you when you begin defining additional code segments. Additional segments can be used to organize your source code into manageable units and to control memory management. Segments are added by typing a new segment name into the entry field. Next you may select segment attributes that suit your needs, and then click the Add button. The new segment name will appear in the list box to the right. To change an existing segment, first select it from the list box. The segment attributes of will reflect your previous settings for this segment. Change the attributes that you wish, and then click the button labeled Change. To delete a segment, select it from the list box and click the delete key. All of the items in your prototype that were linked to this segment will default back to the standard segment. ═══ 43. Working Directory Command ═══ The working directory option gives you the ability to change directories on the fly. If you change your working directory, keep in mind that the dialogs and other resources used with the current application will not necessarily exist in the new directory, which may lead to confusion. To change directories, simply select the new drive or directory from the presented list box. To select a directory, you may either Highlight it (single click) and click on the Continue button, or double click on the desired drive/directory. The current directory is always displayed above the list box. ═══ 44. Comment Level Command ═══ CASE:PM generates well commented source code in an effort to make the PM programs generated easily understandable. CASE:PM makes available several levels of commenting that can be adjusted to match the developers skill level with the Presentation Manager environment. Comment level 0 or low yields only the bare essentials Comment level 1 or moderate yields a short description of the API functions and what they are used for. Comment level 2 or High yields detailed descriptions of what is going on in the source. These comments will include a description of the calls being made, and their parameters. The comment level can be changed as application development progresses and you become more familiar with Presentation Manager. ═══ 45. IDLG_DEFIMP ═══ IDLG_DEFIMP ═══ 46. IDLG_DEFEXP ═══ IDLG_DEFEXP ═══ 47. IDLG_FONT ═══ IDLG_FONT ═══ 48. Initialization Panel Dialog ═══ An initialization panel is a dialog box that is displayed before your application displays its primary window. This panel is created with the dialog editor and usually displays your company or application logo, and copyright message. If your application requires some level of security, this is a good place to ask for a password as well. ═══ 49. Client Area Dialogs ═══ Client area dialogs are dialogs, not linked to an Action or pulldown item. CASE:PM will generate all of the associated code necessary for this dialog, except for the call to bring it up. The code to invoke the dialog is generated within comments, so it can be easily moved to the desired location. You may have as many client area dialogs as you like. To add a dialog to you're applications list, select it with the mouse from the Available dialogs list box. Next choose either modal or modeless for the dialog's behavior. You make mark the Large task (Separate thread) check box, if you wish this dialogs processing to take place in it's own OS/2 thread. Next, you may choose a code segment for the dialog. The list box to the right displays segments that have already been defined, or you may type in a new name which will be added to the list with the default settings for additional segments. Clicking on the Add button will add this dialog to the "Selected" list. You can delete this dialog from the list by selecting it from this list, and clicking the delete button. ═══ 50. Colors Dialog ═══ This option assists you in adjusting the foreground and background colors for your window. To adjust you windows colors, first select the foreground or background radio button. Next click on the check box labeled System default. This turns off use of the colors set up by the user from the Control Panel. Then adjust the colors to your preference by moving the sliders associated with the three base colors, red, green and blue. Note: Forcing colors in your application is a violation of CUA and should be avoided. ═══ 51. Scroll Bar Support Dialog ═══ This option is used to specify the attributes of scrollbars on the client area of your window. Using the dialog box, specify horizontal and/or vertical scrollbars, and enter a value for their range. ═══ 52. View Command ═══ CASE:PM gives you two views of your application, Build and Test. CASE:PM always defaults to the Build view, in which the CASE:PM prototyper and your prototype application are visible together. Test View is a unique feature that animates your application, and allows you to take a look at it before you actually compile. When you select test view, CASE:PM appears to go away, and the primary window of your application will appear, in the size and location you specify. In this view, you are able to check the look and feel of your user interface by exercising all of your menu choices and their linked dialogs. The window is closed by using the system icon at the top left corner of your window. This returns you to the Build view, where you can continue to build or modify your application or compile it into an executable program. ═══ 53. Initialization Panel Command ═══ An initialization panel is a dialog box that is displayed before your application displays its primary window. This panel is created with the dialog editor and usually displays your company or application logo, and copyright message. If your application requires some level of security, this is a good place to ask for a password as well. ═══ 54. IDLG_ABOUT ═══ IDLG_ABOUT ═══ 55. Window Style Dialog ═══ The dialog presented for Window Styles permits you to define your window's appearance by turning on and off the various styles used to create the window. From this dialog, you may also select the type of border that this window will have. CAUTION: If you turn off the style marked Action Bar, you may lose any work that you have done with your menu system. ═══ 56. Message Support Dialog ═══ The message support dialog allows you to choose from a list of Presentation Manager WM_ messages to be generated into your source code. From the dialog you may also specify what level of commenting you would like for each message as well as whether or not you want example code for it. To add a message to your Selected list, simply click on the desired message in the Available list box, choose the Comment level, and whether or not you wish example code, and also if you wish the inclusion of an ascii .INC file containing user provided source code. Once these choices have been "filled out", click the add button. You may now select another message, or click continue to exit the dialog. ═══ 57. Client Area Icons Dialog ═══ Client area icons can be placed anywhere in the client area of your window. These icons act just like the Tools icons in the CASE:PM prototype window client area. Client area icons can be linked to several different types of items as follows: Action/Pulldown item Dialog Box Secondary Window User defined code To link to an Action or Pulldown menu item: First select an icon from the list box of available icons. Next select the Action/Pulldown item radio button. You will be presented with a message box with some further instructions. Next click on the add button, and position the icon by holding down the right mouse button and dragging the icon to the desired position on the screen. Now, select the Action or Pulldown menu item that you want the icon linked to from the Prototype application's menu system. Once the menu item has been selected, double click on the icon, and it will add itself to the Selected list box. To link to a dialog box: First select an icon from the list of available icons. Next select the Dialog Box radio button. You will be presented with the Dialog Box dialog, which allows you to choose a dialog box from a list of available files, and decide whether or not the code generated should be in a separate thread and/or code segment. To link to a secondary window: First select the desired icon from the list of available icons. Next select the Secondary Window radio button. The Secondary windows dialog will appear. Help is available for this dialog while it is displayed via the help button or the F2 key. Once this dialog is filled out as you wish, click the Add button. Position the icon, and double click on it. To link to user defined code: First select the desired icon from the list of available icons. Next select the User defined code radio button. You have a choice now of including an ASCII file containing source code or entering Inline code via a small editor that will appear when this choice is made. Once the link to your user defined code has been made, click on the Add button, position the icon and double click on it. ═══ 58. IDLG_PDADMNU ═══ IDLG_PDADMNU ═══ 59. User Defined Code ═══ User defined code can be broken down into two categories: Include ascii file: This choice presents you with a list of files with the .INC extension. These files are presumed to contain user provided code provided in pure ascii format. Inline Code: this choice presents you with mini-editor which can be used to enter code directly into the prototype. The most useful application of this method is to enter a function call or comment into a code point for later reference. ═══ 60. ASCII Include File Dialog ═══ This dialog is presented when you choose to link an ASCII include file (.INC) to your application. You may select a file from the list of .INC files, in the current directory. The contents of the file you choose will be imported into the generated source code. Note: It is assumed that the files contain source code, in the language that you are working in, and in pure ASCII format. Include files are a good way to include standardized routines for tasks such as saving or loading files, or exiting an application. ═══ 61. Input/Output Field Description Dialog ═══ When you select an Edit Box control, which is the Windows dialog box control used for both input and output fields, CASE:PM displays the Input/Output Field Description dialog box. You may specify the following controls: Selected Control ID - The ID value of the current control created by the Dialog Editor for this control. It is either a number or a text string. This value is useful when you wish the field to be filled with a selection from a listbox in the same dialog. Variable name - The working storage variable generated for the input/output field. A data structure is generated for each application dialog box in the include file (.H) that it generates for the application. All data variables defined for Extended code support are generated into the dialog box data structure. The dialog box input/output data are moved to and from this variable. Function - Specifies the type of field : Input (or Both ) : Receives input from an end user. This type of field is usually edited to ensure that the information entered into the edit box meets the application requirements. Output : Presents program information to the end user. Both Variable type Defines the working storage type of the input/output field. Your choices for variable type are character, integer, or real. With each it is necessary to enter a Size of the appropriate type of unit, bytes for character and real, and the number of digits for an integer. Required field Causes the generation of program code that ensures that the end user enter a value before the dialog box can be accepted. Duplicate field Causes the value entered in the previous transaction to be carried forward to this transaction. If the Duplicate field checkbox is not checked, code is generated that initializes the field to a null value when the dialog box is initialized. The kind of editing that can be performed on Input (or Both) fields are of two major types: Field edit - Performed when all data has been entered into the edit control being defined, and the focus is moving to another dialog box control. The field value as a whole, is subject to the edit criteria. If a Field edit fails, the generated program code will cause an audible beep and return the focus to the field. The types of Field editing that are provided include: No edit - Perform no edit of any kind Alphanumeric - Accept only the alphabetic characters numeric digits Integer - Accept only numeric digits Real number - Accept numeric digits, decimal points and signed characters. Character edit Performed for each character as it is entered into the edit control. The type of character-by-character edit is governed by a COBOL like picture or mask field. The edit masks for the Date and Currency type edits are made from the Country information set up for the computer system. User format: The edit mask is supplied by the developer. Enter a user-defined edit mask into the User format using the following edit symbols: "9" numerical digits "x " or " X" alphabetic characters, [ A .. Z ] , [ a .. z.] "?" any ASCII character Note: Characters used in the mask are for visual purposes only. They are displayed in the field, but are skipped over as data is entered into the field. Mask characters are contained in the data structure variable specified in the variable name. Examples of valid mask values are: (999) 999-9999 XX-XXXXXXXX-?? 9,999.99 XX.999.999.X User defined edit Used to insert application-specific program code within the dialog box processing routine to handle an Input (or Both) field when the field loses the focus. User defined edits may include checks such as range validation, or verification that the entry isa valid record in a database. User defined edits can also be used with any of the CASE:PM-provided edit types. The OK and Cancel pushbuttons are used to accept the entered field specifica- tions or to dismiss the dialog box without defining any code support. The Help pushbutton brings up the Help sytem. ═══ 62. Listbox Description Dialog ═══ A listbox is a selection control used to list a table of values and permit the user to select zero or more of the values for use in the program. When defining Extended code support for a listbox control, the Listbox Description dialog box is displayed with the following controls: Selected Control ID: Indicates the ID value of the current control. Type: Two of the common ways listboxes are used is to list disk directories and files. Directory: Used to list directories starting at the current directory. When this style is selected, all but the Target ID entry field will be grayed. Target ID: Displays the selected directory. This is normally a static text control. The code generated sends a message to each File type listbox to change the directory whose files are being listed. File: Used to display the files available in the current directory. The listbox will be automatically filled with a list of files in the current directory. The file list can be controlled by the use of a OS/2 File specification entry. Target ID: Receives the selected file value. Receiving control: Normally an edit control defined as both Input and Output. The value selected can be accessed from the receiving control variable in the dialog box's data structure. Filespec: The file specification to be displayed in the listbox. All standard wildcard values are legal, however HPFS file naming conventions are not currently supported. Data: Used to display and select values stored in a working storage table in the dialog box's data structure. With the Data radiobutton selected, you must fill out information for: Table name: The table variable name. Dimension: The number of members in the table. Target ID: The dialog box control used to receive the selected value. Size (m): The size of each table entry in bytes. Receiving control: Normally an edit box control defined as both Input and Output. ═══ 63. Radiobutton Description Dialog ═══ A radiobutton is a selection control normally used to select one of several options in a mutually exclusive group of options. CASE:PM allows you to specify groups of radiobuttons under a common variable name. Code will be generated to handle the buttons as a group, making it easy to tell which button of that group has been selected by the user. When defining Extended Code Support for a radiobutton control the Radiobutton Description dialog box is displayed with the following controls: Selected Control ID Indicates the ID value of the current control. Group variable name The name of a working storage variable that will store the control ID of the currently selected radiobutton. Used to declare the variable name to represent all radiobuttons in a given group. CAUTION: The variable name specified must be the same for all members of a group. Initial status Used to select the radiobutton whose control ID will be initially stored in the group variable when the program is first operated. Indicates the initial state of ON or OFF for the radiobutton. CAUTION: Only one radiobutton in the group should have the initial state checkbox checked. ═══ 64. Checkbox Description Dialog ═══ A checkbox is a dialog control that can be toggled between its two states, CHECKED and NOT CHECKED. Checkboxes normally have individual variable names. To assign a variable name to a checkbox, type in a name to represent the checkbox. CASE:PM will declare the checkbox variable as a boolean, generate support for it, and use the variable to report its status. When defining Extended Code Support for a checkbox control, CASE:PM displays the Checkbox Description dialog box with the following controls: Selected control IDIndicates the ID value of the current control. Field name The working storage variable to be associated with the checkbox. Initial state The state (checked or unchecked) the checkbox will have when the program is initially operated. Each time the dialog box is shown, the state of the defined checkbox will be set to its state defined by its working storage variable. ═══ 65. CUA Message ═══ CUA or 'Common User Access' set a standard "look and feel" for the user interface. CASE:PM monitors the CUA rules, and when a violation occurs, this dialog is presented. You are given the choice to Ignore the warning, Reenter the offending item, and in some cases, you may select the Fix it push button and CASE:PM will automatically correct the problem. You may also select help on CUA by selecting the Help push button. ═══ 66. Tools Arguments ═══ CASE:PM allows you to install your favorite OS/2 compatible tools into its environment through the Setup program accessed from the Options menu. The tools or programs installed through the SETUP facility appear in the CASE:PM menu structure and are access CASE:PM sets itself up for the Dialog Editor, Icon Editor, and Font Editor by default. Any tools added through the SETUP program will also appear. If a tool program is a Presentation Manager application, and has an icon associated with it, CASE:PM will display the icon at the bottom of the client area of your prototype. If your tool does not have an icon, a blank icon will be displayed with the tool's name in the icon text. ═══ 67. Client Area Icons Update Dialog ═══ Once you have added a client area icon to a prototype, it can be updated through this dialog. In order to receive this dialog, you have already double clicked on the icon in the prototype window. ═══ 68. Pushbutton Description Dialog ═══ When defining Extended code support for a pushbutton control, CASE:PM displays the Pushbox Description dialog box with the following controls: Selected control ID Indicates the ID value of the current control. Disposition Select the action you want to take when the dialog box is dismissed. Accept or OK: Normally used to assert that the dialog box is finished and its values should be moved from its controls to its working storage data structure. Returns TRUE to your program. Dismiss or Cancel: Normally used to dismiss the dialog box without accepting its values. Returns FALSE to your program. No return. Link to Dialog Box Select a dialog from the Available list to invoke when this button is pressed. Secondary Window Select and configure a secondary window from the Available list. User Defined Code Links to a user supplied routine. Specify a file that contains source code, or enter code in-line for your application. ═══ 69. Disable Menu Items ═══ Help for the dialog box that disables menu items during thread should go here. ═══ 70. File Menu Pulldown ═══ The file action item presents a list of pulldown items as follows: New - Start a new application. Open - Open an existing file. Save - Save your work. Save as - Save your work under a new name. Exit - Exit CASE:PM. ═══ 71. New File Command ═══ The New menu item clears out the CASE:PM prototyper and resets all values to their defaults. If you have a file named DEFAULT.WIN in your CASE:PM directory, it will be loaded at this time as an untitled application. ═══ 72. Open File Command ═══ The Open pulldown presents a dialog from which you may load an existing (.WIN) files into the CASE:PM prototyper. The two list boxes provide you a method of moving between drives and directories, as well as selecting the file you wish to work with. ═══ 73. Save Application Command ═══ The Save pulldown item will save your work into the currently active file, which is displayed in the title bar. If no title has been set for the application, the Save As dialog will be invoked. ═══ 74. Save As Command ═══ Use the Save as option to save the currently loaded file to a different name than is currently active (and displayed in the CASE:PM title bar). If no name has been given to the application in working storage, this dialog will be called automatically by the Save function. You may use the provided Directories list box to switch to another directory to save your file if you so desire. ═══ 75. Working Directory Command ═══ The working directory dialog gives you the ability to change directories on the fly. If you change your working directory, keep in mind that the dialogs and other resources used with the current application will not necessarily exist in the new directory, which may lead to confusion. To change directories, simply select the new drive or directory from the presented list box. To select a directory, you may either Highlight it (single click) and click on the Continue button, or double click on the desired drive/directory. The current directory is always displayed above the list box. ═══ 76. Setup Command ═══ The Setup pulldown invokes the CASE:PM setup program (CSETUP.EXE) allowing you to change various configuration options for your application. ═══ 77. About Box Command ═══ This Pulldown will invoke the CASE:PM About box dialog to display information about this version of CASE:PM. ═══ 78. Exit Command ═══ Use this option or the F3 accelerator key to exit CASE:PM. If you have not saved your work, you will be prompted to do so. ═══ 79. View Command ═══ Test View is a unique feature that animates your application, and allows you to take a look at it before you actually compile. When you select test view, CASE:PM appears to go away, and the primary window of your application will appear, in the size and location you specify. In this view, you are able to check the look and feel of your user interface by exercising all of your menu choices and their linked dialogs. The window is closed by using the system icon at the top left corner of your window. This returns you to the Build view, where you can continue to build or modify your application or compile it into an executable program. ═══ 80. Build Command ═══ When the Build pulldown is checked, you are in the Build view of CASE:PM. ═══ 81. Program Configuration ═══ PC help panel will go here. ═══ 82. Compiler Options ═══ This menu selection offers a set of pulldown menu choices that afford you direct control over how your application is compiled and linked. The pulldowns presented are as follows: Memory Model Optimization Warning Level Floating Point Local Storage Libraries Add Segments Miscellaneous ═══ 83. Generate Options ═══ The Generate Options menu has the following options: The Generate Options menu has the following options: Comment level Examples User files ═══ 84. Additional Segments Command ═══ Additional code segments can be defined when either the Medium or Large memory model have been selected. If you have not chosen the medium or large memory model, medium will be selected for you when you begin defining additional code segments. Additional segments can be used to organize your source code into manageable units and to control memory management. Segments are added by typing a new segment name into the entry field. Next you may select segment attributes that suit your needs, and then click the Add button. The new segment name will appear in the list box to the right. To change an existing segment, first select it from the list box. The segment attributes of will reflect your previous settings for this segment. Change the attributes that you wish, and then click the button labeled Change. To delete a segment, select it from the list box and click the delete key. All of the items in your prototype that were linked to this segment will default back to the standard segment. ═══ 85. Imports ═══ IMPORTS help panel will go here. ═══ 86. Exports ═══ EXPORTS help panel will go here. ═══ 87. Design Window Menu ═══ The Design/Window pulldown presents a subordinate pulldown with the following choices: Style - Define window styles Title - Set the window caption Icon - Specify the window icon Pointer - Specify the window pointer Colors - Adjust window colors Scrollbars - Define Scrollbars Size and location - Size and Position the window Init Panel - Specify an initialization panel ═══ 88. Title Command ═══ The title pulldown invokes a dialog in which the window caption may be entered. ═══ 89. Icon Command ═══ From this dialog, you may choose from the available icon files available in your development directory. Icon files have a extension mask of *.ICO. New Icons be created using the toolkit provided Icon Editor. ═══ 90. Pointer Command ═══ From this dialog, you may choose from the available pointer files available in your development directory. Pointer files have a extension mask of *.PTR. New pointers can be created using the toolkit provided Icon Editor. ═══ 91. Font ═══ FONT help panel will go here. ═══ 92. Colors Command ═══ This option assists you in adjusting the foreground and background colors for your window. To adjust you windows colors, first select the foreground or background radio button. Next click on the check box labeled System default. This turns off use of the colors set up by the user from the Control Panel. Then adjust the colors to your preference by moving the sliders associated with the three base colors, red, green and blue. Note: Forcing colors in your application is a violation of CUA and should be avoided. ═══ 93. Scroll bars Command ═══ This pulldown invokes a dialog used to specify horizontal and vertical scrollbars for you application. ═══ 94. Size and Location Command ═══ This pulldown invokes a dialog used to set the size and location of your window. ═══ 95. Style Command ═══ The dialog presented for Window Styles permits you to define your window's appearance by turning on and off the various styles used to create the window. From this dialog, you may also select the type of border that this window will have. CAUTION: If you turn off the style marked Action Bar, you may lose any work that you have done with your menu system. ═══ 96. Initialization Panel Command ═══ An initialization panel is a dialog box that is displayed before your application displays its primary window. This panel is created with the dialog editor and usually displays your company or application logo, and copyright message. If your application requires some level of security, this is a good place to ask for a password as well. ═══ 97. Edit Menu ═══ Presents a pulldown menu on which the Edit options (Undo, Insert, Delete, Cut, Paste, and Update) are presented. These items are used to edit menu elements (action bar menu items and pulldown menu items) that are prototyped on the application window. Editing functions are all performed in an Object/Action orientation. This means that an item (the object) is selected, and then an Edit function (the action) is selected to somehow modify the selected object. ═══ 98. Undo Command ═══ Selecting the Undo pulldown will undo the last Edit action taken. ═══ 99. Insert Command ═══ You may insert items into the action bar, a pulldown menu or a subordinate pulldown menu. To insert an item into the Action bar, select the action item that you wish to appear to the right of the item to be inserted. Select Edit/Insert or press the Ctrl+I accelerator sequence for Insert. You will then be presented with the Edit Menu Item dialog, and prompted for information in the same fashion as you would when adding a menu item. When you have responded to the series of dialogs associated with the Edit Menu Item dialog, your inserted item will appear in your prototypes menu structure. ═══ 100. Delete Command ═══ You may use the delete operation on any action item, pulldown menu item or subordinate pulldown item. To delete a menu item, simply select it with the mouse, and choose Edit/Delete from the CASE:PM menu system, or press Ctrl+D, the keyboard accelerator for delete. ═══ 101. Cut Command ═══ Cut offers a method of removing an item from one location and placing (Paste) it in another location. To cut an item, select it with the mouse, and select Edit/Cut from the CASE:PM menu system, or press the accelerator combination Shft+Del. The selected item will disappear, and the prototypes menu structure will be updated to reflect the removed item. The item may now be pasted to another location on the action bar, or to a pulldown menu. If you accidentally chose the wrong item, Undo will restore it to it's proper place. To paste the item just cut, click on one of the targets on the menu or click on an item that you would like the selected item pasted in front of. Now select Edit/Paste from the CASE:PM menu system or press the Shft+Ins accelerator key. Note: The Presentation manager does not allow pulldowns from pulldowns (subordinate pulldowns) to have pulldowns, (2 levels only). If an Action item is pasted to a pulldown, its pulldowns become subordinate pulldowns. Any subordinate pulldowns (2nd level) associated with the action item are lost. ═══ 102. Paste Command ═══ The Paste function works in conjunction with the cut operation. You will notice that Paste is grayed out unless something has been Cut. Once an item has been cut, It can be pasted to another location in the menu structure. Items can be pasted to the Action bar, a pulldown menu or a subordinate pulldown menu. To paste an item, you must first have Cut that item from another part of the menu structure. If no item exists in the Cut buffer, Paste will be grayed out. Once the desired item has been cut, select the position that you wish to past to. This can be the target on the action bar or one of the pulldown menus. When you choose one of the targets, a message box will appear asking if you wish to paste the item. If you click on Yes, the item will be pasted as the next item in that menu. If you answer No to this question, the Edit menu item dialog will appear allowing you to enter a new action or pulldown item. The item previously cut is still available to be pasted elsewhere even if you select No. Note: If a Cut item has items linked below it (pulldown or subordinate pulldown menus) they will be carried with that item to the new location. If the there is no place for these items to go they will be lost. For example: If a pulldown item, with a subordinate pulldown link, is cut and then is itself pasted to a subordinate pulldown, there is no place for the initial item's subordinate pulldown to go as Presentation Manager only allows for 3 menu levels: ActionBar, Pulldown and Subordinate Pulldown. ═══ 103. Update Command ═══ The update option offers a method of changing any of the assigned attributes of a menu item. To use update, click on the item to be changed, then click on the Edit/Update menu option of CASE:PM. You may also use the keyboard accelerator,Ctrl+U to invoke update. All of the dialogs representing the chain of events followed to establish this item will appear. Cancel these dialogs one at a time until you get to the dialog that contains the information to be changed, and then follow the steps forward again to make your changes. ═══ 104. Design Menu ═══ The Design Menu pulldown has the following options: Window Additional Support ═══ 105. Additional Support Menu ═══ When the Additional support menu item is selected, a subordinate pulldown with the following choices will appear: Unlinked dialogs Unlinked secondary windows Client area icons Client area controls template Help system About box Initialization panel These choices are used to define the characteristics of these types of objects when they are not to be linked to a specific Action or Pulldown item. ═══ 106. Unlinked Dialogs Command ═══ Client area dialogs are dialogs, not linked to an Action or pulldown item. CASE:PM will generate all of the associated code necessary for this dialog, except for the call to bring it up. The code to invoke the dialog is generated within comments, so it can be easily moved to the desired location. You may have as many client area dialogs as you like. To add a dialog to you're applications list, select it with the mouse from the Available dialogs list box. Next choose either modal or modeless for the dialog's behavior. You make mark the Large task (Separate thread) check box, if you wish this dialogs processing to take place in it's own OS/2 thread. Next, you may choose a code segment for the dialog. The list box to the right displays segments that have already been defined, or you may type in a new name which will be added to the list with the default settings for additional segments. Clicking on the Add button will add this dialog to the "Selected" list. You can delete this dialog from the list by selecting it from this list, and clicking the delete button. ═══ 107. Unlinked Icons Command ═══ Client area icons can be placed anywhere in the client area of your window. These icons act just like the Tools icons in the CASE:PM prototype window client area. Client area icons can be linked to several different types of items as follows: Action/Pulldown item Dialog Box Secondary Window User defined code ═══ 108. Unlinked Child Windows Command ═══ Client area secondary windows are secondary windows, not linked to an Action item or pulldown item. CASE:PM will generate all of the associated code necessary for this window, except for the call to bring it up. The code to invoke the window is generated within comments, so it can be moved to the desired location. To add a client area secondary window, first select the source of the window. This can be an executable file, another CASE:PM prototype (.WIN file ), or a Dialog box file (.DLG). The list box labeled "Available" will change to reflect the type of file you have requested. Select a file from the list box of the type you desire. Next, define the attributes for this window by selecting it's relationship to the calling window. You may choose a Child or Sibling type of relationship for your window. The check box marked "Large task (separate thread)" controls whether or not the window will reside in it's own OS/2 thread. Next, you may choose a code segment for the dialog. The list box to the right displays segments that have already been defined, or you may type in a new name which will be added to the list with the default settings for additional segments. Clicking on the Add button will add this dialog to the "Selected" list. You can delete this window from the list by selecting it from this list, and pressing the delete key. ═══ 109. View Command ═══ CASE:PM gives you two views of your application, Build and Test. CASE:PM always defaults to the Build view, in which the CASE:PM prototyper and your prototype application are visible together. Test View is a unique feature that animates your application, and allows you to take a look at it before you actually compile. When you select test view, CASE:PM appears to go away, and the primary window of your application will appear, in the size and location you specify. In this view, you are able to check the look and feel of your user interface by exercising all of your menu choices and their linked dialogs. The window is closed by using the system icon at the top left corner of your window. This returns you to the Build view, where you can continue to build or modify your application or compile it into an executable program. ═══ 110. Build Command ═══ Presents a pulldown menu with the following options: Tools Generate Editor Make Run ═══ 111. Tools Command ═══ CASE:PM allows you to install your favorite OS/2 compatible tools into it's environment through the setup program which is accessed from the Options action item. The tools or programs installed through the setup facility will then appear in the CASE:PM menu structure. "p. These tools can be accessed at any time by selecting the Build action item, and then the Tools pulldown. A sub-ordinate pulldown will appear listing the tools available will be displayed. CASE:PM automatically sets itself up for the Dialog Editor, Icon Editor, and Font Editor. Any tools added through the Setup program will appear here as well. If the tool program is a Presentation Manager application, and has an Icon associated with it, CASE:PM will display the icon at the bottom of the client area of your prototype as it does for the toolkit provided resource editors. If you tool does not have an icon, a blank icon will be displayed with the tool's name in the icon text. ═══ 112. Tools1 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 113. Tools2 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 114. Tools3 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 115. Tools4 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 116. Tools5 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 117. Tools6 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 118. Tools7 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 119. Tools8 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 120. Tools9 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 121. Tools10 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 122. Tools11 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 123. Tools12 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 124. Tools13 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 125. Tools14 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 126. Tools15 ═══ This option will invoke the listed tool. Tools are installed in this menu through the Setup program available under the Options action item. ═══ 127. Generate Command ═══ The generate pulldown option invokes the CASE:PM code generation facility If your application has not yet been named, you will be asked to specify a name when you select generate. Next CASE:PM will check to see if a version of the application being generated already exists (from a previous generate process). If a previous version is found, you will be presented with a panel with the following text: A previous version of this application exists; Re-generate? Also in this panel are three buttons; Yes, No, and Cancel. If you select Yes, CASE:PM will RE-generate your code, preserving any additions you have made to the files. If you answer No, CASE:PM will generate the files from scratch, and all of your user added code will be lost. This comes in handy if you are prototyping the interface and have not yet added any code of your own, as generation is faster than re-generation. Warning: If you have added code to the source generated by CASE:PM, it will be LOST if you answer No to this question. While generate is running, you should see the following Generate Icon in your prototype's client area: While this icon is visible, you may double click on it to watch your code generate. When generation is finished, you will recieve a message box letting you know. ═══ 128. Editor Command ═══ This menu choice will load the editor configured through the SETUP program. By default, the CASE:PM install program will specify the system editor, E.EXE. CASE:PM can be configured to load your favorite OS/2 compatible editor through the SETUP program which is accessible from the Options action item. ═══ 129. Compiler options NEW PULLDOWN ═══ Ed, place help for "Compiler options" pulldown under "Options" that links to a pulldown ═══ 130. Make Command ═══ The Make option will build your program using the MAKE.EXE program provided with your compiler or toolkit. MAKE.EXE uses a file generated by CASE:PM to perform all of the compile and link steps necessary to produce an executable file from the source code produced by the product. The file used by MAKE.EXE will bear the name of your application, with no extension. There are two "flavors" of make currently in circulation. The MAKE.EXE provided by IBM supports a slightly different file format than the MAKE.exe provide by Microsoft. CASE:PM allows you to customize it's output for each of these through the setup facility, by allowing you to select the compiler that you are using. ═══ 131. Run Command ═══ Selecting the Run pulldown will execute your compiled application from within CASE:PM. Note that your application must be compiled before you can Run it. a message will be displayed if the executable file cannot be found. ═══ 132. Memory Model Command ═══ This option allows you to choose the appropriate memory model for your program. The memory models appropriate for your language/compiler are displayed next to radio buttons. Simply select the setting appropriate for your needs. Many Presentation Manger experts suggest the Large memory model for PM applications. The setting chosen here is reflected in the Make file generated by CASE:PM. More information on Memory Models is available in your toolkit/compiler documentation. ═══ 133. Optimization Command ═══ If your compiler supports it, you can choose the type of optimization used during the compile process. For the IBM C/2 and Microsoft C ver. 5.1, you can choose between Speed and Size for the type of optimization used to compile your application. The setting chosen here is reflected in the Make file generated by CASE:PM. More information on Optimization is available in your toolkit/compiler documentation. ═══ 134. Warning Level Command ═══ The Warning Level option gives you a choice of the available warning levels supported by your compiler. The higher the warning level, the "pickier" the compiler will be in analyzing your code. Warnings are displayed during the Make process in the Make window. The settings chosen here are reflected in the Make file generated by CASE:PM. More information on Warning levels is available in your toolkit/compiler documentation. ═══ 135. Floating Point Command ═══ This menu choice provides a mechanism to specify whether or not floating point support is to be compiled into your application. Additionally, you are provided a place to specify the floating point library to use. The settings chosen here are reflected in the Make file generated by CASE:PM. More information on Floating Point Support is available in your toolkit/compiler documentation. ═══ 136. Local Storage Command ═══ Within the dialog presented when this item is selected, you may type in values for your application's Stack size and Heap size. CASE:PM enforces a minimum value of 4096 for these options. The settings chosen here are reflected in the Make file generated by CASE:PM. More information on Stack and Heap size is available in your toolkit/compiler documentation. ═══ 137. Libraries Command ═══ If you have need to change the default libraries (OS2.LIB and XLIBCE.LIB), or wish to add libraries to be considered when compiling your application, you may do so with this option. The default libraries can be changed by typing the new library name over the old one. Libraries can be added by typing their name into the additional libraries entry field, and then clicking on the Add button. To delete a library from your list, select it from the list box, and click the Del button. The selections made here are reflected in the Make file generated by CASE:PM. More information on using Libraries is available in your toolkit/compiler documentation. ═══ 138. Additional Options Menu ═══ This dialog is used to further customize CASE:PM's output into your MAKE file. Here you may choose to include or exclude support for Codeview debugging, Argument type checking, and the type of make facility ═══ 139. Hide Tools Icons Command ═══ The tools icons that are displayed at the bottom of the client area of your prototype window can be made invisible or visible again at any time. This is done by selecting the Hide Tools Icons pulldown from the Options action item. This will either remove or set a check mark next to the item. If a check mark exists next to the Hide tools icons pulldown item, the icons for the available tools should be displayed. (If not, choose Options/Setup to configure them). If no checkmark is present, no icons will be displayed, but tools can still be accessed through the Build action item, Tools pulldown. ═══ 140. Hide View Window ═══ HIDE2 help panel will go here. ═══ 141. Comment Level Command ═══ CASE:PM generates well commented source code in an effort to make the PM programs generated easily understandable. CASE:PM makes available several levels of commenting that can be adjusted to match the developers skill level with the Presentation Manager environment ═══ 142. Examples command ═══ The examples pulldown controls whether or not CASE:PM will generate examples code into your application source files. We have attempted to make our examples as helpful and real-world as possible. They will generally show you what certain API functions are capable of an how to use information returned from them. The default state of Examples is off, or unchecked. If you select this pulldown a check mark will be placed before it indicating that example code will be generated. ═══ 143. Regeneration Command ═══ If this pulldown is checked, CASE:PM will re-generate (preserve user code) by default each time the generate function is selected. If the check is not present, generation will occur, removing any user added source code. The default state of this option is on or checked, meaning CASE:PM will preserve your changes during generation. CAUTION: If this selection is turned off (unchecked), loss of user added code is possible ═══ 144. Message Support Command ═══ The message support pulldown invokes a dialog box that allows you to choose from a list of Presentation Manager WM_ messages to be generated into your source code. From the dialog you may also specify what level of commenting you would like for each message as well as whether or not you want example code for it. ═══ 145. CUA Validation ═══ This pulldown toggles CASE:PM's CUA validation feature on and off. If a check mark is present next to this pulldown item, CUA validation is active, and warnings will be displayed any time a CUA guideline is violated. If CUA guidelines do not apply to the window you are designing, you may turn off this feature by selecting it, and turning off the check mark. ═══ 146. Extended Code Support ═══ The Extended Code Support option permits you to control the program code that operates the input/output fields and controls in the selected dialog box. When the Extended Code Support checkbox is selected and the Dialog Box dialog box dismissed, the selected dialog box is displayed on the Prototyper window so that you can define the type of program code support desired for each of the dialog box's controls. It is not required that every input/output field or control be defined. A minimal service procedure for the omitted controls will be generated. When the definition of the dialog box's controls is complete, exit the dialog box using the system menu, or by double-clicking the right mouse button in the dialog box. When you click on a input/output field or dialog control, one of the following types of dialog boxes will be displayed: Input/Output Field Description Checkbox Description Radiobutton Description Listbox Description Pushbutton Description Note: Currently, the above dialog controls are the only control types supported by CASE:PM's Extended Code Support. ═══ 147. Generate Options Menu ═══ The generate options pulldown displays a subordinate pulldown with the following options: Comment level Message support Examples Help system Regeneration Each of these options have an effect on how your source code is generated. ═══ 148. Options Menu ═══ The Options action item displays the following pulldown items. Generate options Compiler options Setup Working directory CUA validation Hide tools icons ═══ 149. Help for Key Assignments ═══ The list of keys is arranged in groups. ACCELERATOR KEYS F1 Help F3 Exit application. Undo Alt+Backspace Insert Ctrl+I Delete Ctrl+D Cut Shift+Del Paste Shift+Ins Update Ctrl+U Generate Ctrl+G Editor Ctrl+E Make Ctrl+M Run Ctrl+R HELP KEYS F1 Get help F2 Get extended help (from within any help window) Alt+F4 End help F9 Go to a list of keys (from within any help window) F11 Go to the help index (from within any help window) Esc Previous Help Panel, or End help if only one panel Alt+F6 Go to/from help and programs Shift+F10 Get help for help SYSTEM KEYS Alt+F6 Switch to the next windowed program Alt+Esc Switch to the next program, including full-screen programs Ctrl+Esc Switch to the Task List WINDOW KEYS F3 Close a window F10 Go to/from the action bar Arrow keys Move among choices End Go to the last choice in a pull-down Esc Cancel a pull-down or the system menu Home Go to the first choice in a pull-down PgUp Scroll the contents of the window up one page PgDn Scroll the contents of the window down one page Underlined letter Move among the choices on the action bar and pull-downs Alt+F10 Go to/from the action bar Alt+F4 or F3 Close the window Alt+F5 Restore the window Alt+F7 Move the window Alt+F8 Size the window Alt+F9 Minimize the window Alt+F10 Maximize the window Ctrl+PgDn or Shift+F8 Scroll the contents of the window right one page Ctrl+PgUp or Shift+F7 Scroll the contents of the window left one page Shift+Esc or Alt+Spacebar Go to/from the system menu Shift+Esc or Alt Go to/from the system menu of a text window