═══ 1. Gpf - Gui Programming Facility ═══ Gpf Extended Help: o Press here for Introduction. o Press here for Help on Keys. ═══ 1.1. Introduction ═══ INTRODUCTION Scope of This Product Gpf is the most comprehensive tool available today for the creation and integration of a Presentation Manager Graphic User Interface into your application. With the common exception of naming your objects and screens, the bulk of the work is done with the point-and-click method; screens are presented to you in a logical fashion for a complete interface definition. The definition (stored in a .ORC file) is reentrant, so you can incrementally modify or improve your GUI as often as you like. All secondary files can always be re-generated from this one file, and it is the only GUI file you need to maintain during your development cycle. Gpf Features Common PM objects Gpf allows you to define any and all objects known to PM, with a variety of different parameters which modify the behavior or appearance of the object being constructed. There is no practical limit to the number of windows\controls you can create. o Windows and Dialog Boxes o Message boxes, with several standard icons, warning beeps, and response modes o List boxes, combo boxes o All button and checkbox types o Vertical and horizontal scroll bars o Menu bars with unlimited hierarchies for each entry o System menu button, maximize/minimize buttons o Static text fields, with numerous variants o Entry and MLE fields o Several border types In addition to these standard objects, all of which can be created in seconds, Gpf has installed many additional aids. Generating HELP Screens The creation of a complete HELP system for your application is so easy with Gpf that it would be a shame not to enhance your product with this facility. By default, Gpf installs the system HELP menu recommended by CUA into your entry screen. Creating a help panel for any screen or control is no more than a click of a button away from the object being defined. Press this button and you can easily o type in, install an import statement, or drop in via the clipboard the relevant text for the object o designate a CONTENT title, which will be incorporated into the complete HELP system o similarly designate an INDEX title o create a small, one-line help or prompt which will be visible on your application screen, and will dynamically change as the cursor traverses an object so defined. The text installed into the main panel can include any and all macros known to IPFC; so bitmaps can be included, lists generated, text can be highlighted, cross references are possible, and so on. Presentation Parameters Gpf allows you to easily specify a set of visual properties (border colors, text color foreground/background, highlighting, etc). Such a set (create as many as you want) are all stored, under a name of your choice, and can be recalled and applied at any time, to any number of compatible objects. The creation and use of the Presentation Objects is similar to the use of TAGS in a Desktop Publishing package. Most objects, during initial definition, will present you with a list of all defined Presentation Objects. Point-and-click, then inspect the results and repeat until the desired effect is achieved. What could be simpler? Expand the list at any time, of course. SQL Support Gpf can read in, log, and decompose any DBM databases located on your system if you signal your intention to create an SQL application. Several of the PM objects, notably List/Combo boxes, can be defined to automatically load and display the contents of that database, down to the field level. Items are selectable for further processing by your application. Other Features Once you define all your screens and controls Gpf provides facilities for logical linkage, again through a point-and-click mechanism. This procedure, called Defining an Action, is very easy to use. Besides pre-defining most of the common control and window messages, selectable in a set of two or three FROM-TO lists, you can install code or calls to your code via this mechanism. Gpf can include bitmaps and icons, as user defined buttons or in menus. Gpf completely automates the compile/link steps. If done properly, you need never leave Gpf while completing your interface, in fact while completing your entire application. All necessary files are created for you, and all necessary utilities (including the Resource compiler, IPFC, etc) are invoked when required. ═══ 1.2. Keys Help ═══ The frequent user can use the following key combinations to access GPF functions directly: Note: Click on the menu name to see the accelerator keys for items within that menu. Menu Name Key File Menu ALT+F Create Menu ALT+C Object Menu ALT+B Options Menu ALT+O Toolkit Menu ALT+T Help Menu ALT+H Window Menu ALT+W ═══ 1.2.1. File Menu Keys ═══ Function Key New CTRL+N Open CTRL+O Properties Save CTRL+S Save As CTRL+A Exit F3 (CUA) ═══ 1.2.2. Create Menu Keys ═══ Function Key Window\Dialog CTRL+W Menu CTRL+M Text Static CTRL+T Button CTRL+B ListBox CTRL+L ComboBox CTRL+C Entry Field CTRL+E Multiple LE CTRL+U Vert Scroll Bar CTRL+V Horz Scroll Bar CTRL+H ═══ 1.2.3. Object Menu Keys ═══ Function Key MessageBox CTRL+X Presentation CTRL+P Icon CTRL+I User Function --none-- Find PM CTRL+F ═══ 1.2.4. Options Menu Keys ═══ Function Key Grid CTRL+G View Grid --none-- View Tracking CTRL+K Group Move --none-- Bypass CUA CTRL+Y Statistics --none-- Clean Desktop CTRL+D ═══ 1.2.5. Toolkit Menu Keys ═══ Function Key Animator CTRL+R Generator --none-- Compiler --none-- Test --none-- ═══ 1.2.6. Help Menu Keys ═══ Function Key Help for Help SHIFT+F10 (CUA) Extended Help F2 (CUA) Keys Help F9 (CUA) Help Index F11 (CUA) Help Contents SHIFT+F2 (CUA) About --none-- ═══ 2. MainWindow ═══ The Gpf Interface The Gpf interface is based on two (2) major components: the Menu Bar of Gpf pull-downs, and Pop-up Dialog Windows. Each of the components is described below. Pull-downs When you select one of the Gpf menu bar commands, the actions available for that selected command are displayed in a 'pull-down' list. The pull-downs provide actions that can be chosen by dragging the pointer to the desired action and releasing a mouse button. Each action can also be chosen by using the ALT+l command, where l is the letter in the action command that is underlined. Check Marks A check mark preceding a pull-down action indicates the action is active for the currently selected window, object, or option. Greyed Actions A greyed action on a pull-down indicates the action is currently unavailable. Pop-up Dialog Windows When you choose a pull-down action that is followed by an ellipses (...), a pop-up dialog window is invoked. Pop-up dialog windows prompt you to specify various settings and conditions, or choose from a list of options. You respond to a pop-up dialog window by typing in a text entry or clicking the appropriate pushbutton, list box, combination box, or bar. Common Gpf Dialog Windows The Entry Extended Help Dialog Window The Entry Extended Help dialog window is available when defining either a window, menu pull-down list, dialog box, message box, or individual control that will be visible in your final application. With Extended Entry Help you can define the text that you want displayed if the user presses F1. There is also an optional Informational Message for providing terse, one line text. This message will be displayed at the bottom of the application client window whenever the user passes the mouse over a particular item, or selects the item with the cursor keys. A detailed explanation of the Entry Extended Help dialog window can be found in the Common Gpf Dialog Window section in this reference. The Gpf Menu Bar The Gpf menu bar appears above the Gpf client window area and contains the names of the seven (7) Gpf pull-downs. File Pull-down The File pull-down actions create, open, save, and set the properties of Gpf definition files. The Exit action, used to exit Gpf, is also found in this pull-down. For a detailed explanation of the actions that are available in the File pull-down, refer to The File Pull-Down Actions. Create Pull-down The Create pull-down actions provide a list of Presentation Manager control windows ( i.e.. Buttons, Scroll Bars, etc ) that you can select from when creating your Gpf definition. For a detailed explanation of the actions and control windows that are available in the Create pull-down, refer to The Create Pull-down Actions. Objects Pull-down The Objects pull-down actions provide a list of Presentation Manager object types ( i.e.. Icons, Bitmaps, Fonts, Message Boxes ) that you can incorporate into your Gpf definition. Explanations for the actions and available objects can be found in The Objects Pull-down Actions. Options Pull-down The Options pull-down actions allow you to modify the general appearance and operations of your Gpf edit session. For a detailed explanation of the actions that are available in the Options pull-down, refer to the Options Pull-down Actions. Window Pull-down The Window pull-down action allows you to selectively choose which application windows or dialog windows are visible on the screen. Toolkit Pull-down The Toolkit pull-down actions allow you to test, generate, or compile the current Gpf definition. Please refer to The Toolkit Pull-down Actions, for a detailed explanation of the available actions. Help Pull-down The Help pull-down provides entry into the apllication specific help system and, through it, into the general PM help system and services. ═══ 2.1. ActionBar File ═══ File Pull-Down The first pull-down on the Gpf menu bar is the File pull- down. The pull-down actions create, open, modify, or save Gpf definitions. In addition the Exit pull-down will allow you to exit the current Gpf session. As with other Gpf pull-down actions, you can either select the action with a mouse click, or by using the (ALT+X,Y) keyboard combination, where X is the underlined letter of the menu bar identifier and Y is the underlined letter of the pull-down action that you wish to execute. Each of the File pull-down actions will be described in general, and will then be covered in detail in the order in which they appear on the pull-down. PULL-DOWN : review File New (ALT+F,N) The first action available on the File pull-down is the New action. When you choose File New, Gpf creates a new application definition for you to work with. File Open (ALT+F,O) The next action for the File pull-down is the Open action. File Open allows you to open an existing Gpf application definition. File Properties (ALT+F,P) The File Properties action allows you to create or modify general characteristics of the current Gpf definition. The Program Property dialog box invoked is the same as the second dialog window you encounter from either the File New action or the File Open action. File Save (ALT+F,S) After you have modified or created a definition, the File Save action will allow you to save your results to a Gpf definition file. File Save As (ALT+F,A) The File Save As action enables you to change the name of the file where you will save your current Gpf definition. This action is helpful when you want to preserve the contents of the original Gpf definition. File Exit (ALT+F,X) When you want to exit your current Gpf session, the File Exit action will allow you to do so. If there are any open Gpf definitions at the time, Gpf will prompt you whether or not to save the current file. ═══ 2.1.1. PullDown New ═══ The File New Pull-down Action When you select the File New (ALT+F,N) action, you are indicating to Gpf that you want to create a new Gpf definition. Gpf definitions is where Gpf saves all the controls and windows that you create for your application within the editing session. It is from this definition file that Gpf generates the C language source code and supporting files for compilation. The definition files are in a binary format, and are readable only by the Gpf system utilities. If you do not have a definition loaded in the current editing session, Gpf will automatically display the Create New Application dialog window as shown in Figure 3-1. Otherwise Gpf will query you to save the definition before continuing. If you have made changes to the definition and have not saved them, it is a good idea to save it now because your changes will be lost if you reply NO to the "Save the current file?" option. You are now ready to create a new application definition. Creating a new application definition is a two step process: 1. Name the definition and identify what drive/directory to record it in 2. Specify the program properties of the new definition. Naming the New Application Definition File The New Application dialog window will allow you to define the name of the new definition file as well as identifying which drive and directory to store it in. Each of the controls in the File New Dialog Window will be explained below: File Name When the dialog windows appears, specify the name that you want to save the Gpf definition to in this entry field. When naming a definition, follow these guidelines: The file name can be no longer than eight characters long. Gpf will automatically add an identifying three- character extension unless you add one yourself. Gpf's default extension is '.ORC'. If desired, you can add other extensions by typing a period, and then the extension-for example, FIRSTONE.TST. Files with extensions other than .ORC don't appear in the Files box in the File Open dialog window. You must explicitly state the extension that you added during future sessions when you open a file using a non-ORC extension. You can use any characters in a filename except spaces and the following characters: * ? . , ; [ ] + = \ : | Directory is : This is a read-only field which informs you where the file named above will be stored. You can change the directory from the Directories list box, and change the drive using the icons at the top of the window. If you decide to save the definition on a different drive or directory, remember where you placed it for later retrieval. OK Once you have filled in the File Name field and have chosen the drive and directory where you will place the new definition, you can signal Gpf that you are ready to begin by selecting the OK (ALT+O) button. Another way to signal Gpf to begin is by pressing the ENTER key. Gpf will append the .ORC extension to the name that you have specified in the File Name entry field if you have not specified your own extension. A search for the filename specified is then conducted to insure that the new file name is indeed unique. If Gpf finds another file of the name specified in the working directory you will be presented with an error message. You are then given the option to overwrite the existing file. If you do not want to destroy an existing file, you can cancel the overwrite and use a different name in the File Name entry field. CANCEL If you wish to cancel the operation at anytime during the naming of the New Gpf definition, click on the CANCEL button in the dialog window. This will signal Gpf that you do not want to continue and you will be returned to the Gpf session window. Another way to signal Gpf that you want to cancel the current operation is by pressing the ESC key. HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information on options available for creating a New Application definition. New Application Program Properties Once you have given your new application definition a valid file name and have elected to continue creating the definition, Gpf will display the Program Property dialog window as shown in Figure 3-2. ═══ 2.1.2. PullDown Open ═══ The File Open Pull-down Action The next pull-down action on the File menu is the Open action. When you choose the File Open (ALT+F,O) action, you are indicating to Gpf that you want to open an existing application definition file. Gpf definitions are where Gpf saves all the controls and windows that you create for your application. By default Gpf files have the following syntax: filename.ORC where filename is the eight character name that you originally assigned to the file when it was created. If you have a Gpf definition loaded in the current editing session, you will be prompted to save the definition before continuing. If you have made changes to the definition, and have not saved them, it is a good idea to save it now because they will be lost if you reply no to the save option. Gpf will then display the File Open dialog window, as shown in Figure 3-3. If you did not have a Gpf definition loaded, this dialog window would have appeared automatically. The File Open dialog window will allow you to enter the name of the target Gpf definition, as well as providing controls for locating other directories where the file may be located. Each of the controls in this dialog window will be discussed. Directory Is This is an informational, read only, display of the current working directory. If you change the target drive and directory with the Directories list box, this field will reflect the new target. File Name This entry field is where you can enter the name of the Gpf definition file you want to open. This field can be filled a number of ways; either by keying in the filename explicitly, or by making a selection from the FILES list box with the mouse. If you choose the latter, Gpf will automatically fill the File Name entry field with your list selection. By default Gpf will search for all files in the current working directory that have the following form: *.ORC where the '*' is the OS/2 wildcard character which means 'find all files with the ORC extension that can contain any characters before the extension'. Files This list box contains all the files that Gpf has found using the file name default pattern described above. You can use wild cards for searching file names with extensions other than the Gpf default by entering the pattern in the File Name field and pressing the ENTER key. The Files list box will display all the files that it finds that match the File Name pattern. You can select a filename from this list box by double clicking your selection. To use the keyboard in this list box, first use the TAB key to highlight the filename at the top of the list, and then use the UP and DOWN cursor keys to highlight different entries. Pressing the ENTER key will automatically load the selected entry in the Files list box. Directories If the file you want to open is not available in the current directory you can select a different drive or directory from the Directories list box. For example, if you want to load a file that has been stored to a floppy disk using drive A:, click on the drive identifier [A:] and Gpf will automatically search the drive with the pattern or explicit filename listed in the File Name field. OK By clicking on the OK button (ALT+O) you will signal Gpf that you are ready to load the current file that is listed in the File Name field. Gpf will check the drive and directory for that file's existence. If the file does not exist, Gpf will notify you with a 'Requested File Not Found' message, otherwise the file will be loaded. Another way to signal Gpf to load the file is by pressing the ENTER key. CANCEL Clicking on the CANCEL button will signal to Gpf that you want to abort the File Load operation and ignore the settings in the File Open dialog window. Another way to signal Gpf that you want to cancel the current operation is by pressing the ESC key. Note that if you had saved and closed a Gpf definition when you invoked the File Open dialog window, that definition is still closed. When you abort the File Open operation, Gpf will not have any definitions loaded at all. HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information for options available when opening a Gpf definition file. ═══ 2.1.3. PullDown Properties ═══ The File Properties Pull-down Action At any time during your Gpf edit session you can modify the Program Properties as described in the File New Pull-down Action section. When you choose File Properties (ALT+F,P), Gpf displays the Program Properties dialog window as shown in Figure 3-4. From this dialog window you can modify the name of the main source code file that will be generated by Gpf, the version or revision number of the definition, copyright information, Presentation Manager task list entry, the target programming language, what SQL databases are to be used by the new application, as well as text to display for the application help windows. Main Source Name In this field specify the name of the source code file, and all supporting files needed for compilation, that will be generated by Gpf when you are ready to compile a Gpf defined application. The name entered here does not have to be the same as the name specified as the Gpf definition file, but the naming convention guidelines are the same. Actually Gpf will limit you to entering a maximum of eight characters without an extension. Gpf will automatically generate the extension based on the target language used and whether or not SQL data bases will be accessed. Examples of Gpf generated source code files: FIRSTONE.C C Source code generated by Gpf FIRSTONE.SQC SQL embedded C source code generated by Gpf Level Gpf allows you to track the number of revisions you may make to the application definition through the Level field. For example, if you have made minor modifications you may want to change the Level number from 1.0 to 1.1. You can enter any combination of letters, numbers, or punctuation marks. The maximum length for the Level field is four (4) characters. Copyright The copyright field can be used to enter the name of the person or company that will hold the copyright of the application being generated. The text that is entered here will be placed in the generated source code, as well as the other supporting compilation files generated by Gpf. The maximum length for the Copyright field is sixty-three (63) characters. Task List Title The Task List title is entered into the Presentation Manager Task List box when the compiled Gpf application is actually running. Users can move between active applications running under OS/2 by selecting a name from the task list. A short, descriptive, line of text is recommended for this entry. The maximum length for the Task List Title field is sixty-three (63) characters. Language The Language field is actually what is known as a Presentation Manager combination box. A combination box looks like an entry field with the exception that there is a downward-pointing arrow control on the far right side. By clicking this down arrow, a list of possible entries will be displayed. You can then choose an item from the list to fill in the top part of the combination box. You cannot enter text directly into the field for this combination box. Currently Gpf generates only 'C' language source code, subsequently it is the only available option for the Language field. Database Name The Database Name field is another combination box where you can choose which, if any, SQL databases are to be referenced in the current Gpf application being defined. When you start the Gpf editor, a search is automatically conducted to determine if there are any SQL databases available on your system. Gpf will then fill the Database Name list with the results of the search. If your application does not need to access information from an SQL database you can choose the 'No DBM' option, which is also the default. You cannot enter text directly into the field for this combination box. OK By clicking on the OK button (ALT+O) you will signal Gpf that you have completed any modifications in the Program Properties dialog window. Gpf will check the Program Properties dialog window and display an error message if there are any problems with your entries. Another way to signal Gpf that you want to save the changes you have made is by pressing the ENTER key. ACTION The ACTION dialogs permit association of system or code functions with current circumstances, control manipulations, initializations, and so on. In the case of the Program Properties window, you will see two default circumstances for which actions can be invoked: Init Application and End Application. This permits specification of items which are to be performed upon program start and end. Please refer to Common Dialog Windows, section 3.10.3, for a detailed explanation of the Action dialog window. Entry Extended Help By clicking the Entry Extended Help (ALT+E) in the Program Properties dialog window, you will be able to define the general help text for your application. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the application from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Extended Help dialog window. ═══ 2.1.4. PullDown Save ═══ The File Save Pull-down Action The File Save pull-down (ALT+F,S) action will allow you to save the current Gpf definition. When you invoke the File Save action, a message will query you whether or not you want to continue with the save operation. You can elect to cancel the save operation by clicking on the NO button. Clicking on the YES button will save the definition. The definition is saved to the file that you created with the File New Pull-down Action. ═══ 2.1.5. PullDown SaveAs ═══ The File Save-As Pull-down Action The File Save As (ALT+F,A) pull-down action is similar to the File Save action, but instead allows you to save the current definition to a file other than the original one created. For example, suppose you are working on a Gpf definition from the file "GPFTEST1.ORC", and decide after numerous changes that you want to save the changes to a different file. By using the File Save As pull-down you can preserve the original file by creating a new target file to save the current changes to. If you were to use the File Save action, you would save it to the original file, which may not be what you desired. The File Save As pull-down action invokes the File Save As dialog window in Figure 3-5. In this dialog you can enter the name of the new file where you want to save the current definition. Refer to the File New Pull-down action for guidelines on using file names. The File Save As dialog window provides the following controls: File Name The File Name field is where you enter the filename of the current Gpf definition that you want to save. If you do not specify an extension, Gpf will automatically append the '.ORC' extension onto the filename before saving it. Directory Is This informational, read only field will display the current working directory. When you choose different directories and drives from the Directories list, this field will be updated to reflect your selection. Directories The Directories list box allows you to save the new file to a different drive and directory by selecting from the choices available. OK Clicking on the OK button or pressing the ENTER key will signal that you want to save the current Gpf definition to the file named in the File Name field. If the file name you have typed is unique in the target directory, Gpf will create a new definition file. If the file name already exists in the target directory, Gpf will prompt you with a message to confirm that you really want to overwrite the existing file. Note that even though Gpf creates and writes the current definition to a new filename on disk, the original definition will be retained in memory for your current edit session. If you want to have Gpf work with the newly named definition, use the File Open (ALT+F,O) action and reply NO when Gpf queries whether you want to save the current file to disk. If you changed the drive and directory in the File Save As dialog window, Gpf will retain it as the current working directory. The next time you use a file manipulation action, Gpf will use the last specified directory as the target. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed the drive and directory in the File Save As dialog window, Gpf will retain it as the current working directory. The next time you use a file manipulation action Gpf will use the last set directory as the target. HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information for options available for the File Save As pull- down action. ═══ 2.1.6. PullDown Exit ═══ The File Exit Pull-down Action The final pull-down action available in File is the File Exit (ALT+F,X) action. When you have completed your session with Gpf and want to exit the system, use the File Exit pull-down action. Gpf will first prompt you to save the current definition, if any, to disk before continuing with the shutdown. The following will occur based on the response to the file save prompt: o If you answer CANCEL to the prompt, Gpf aborts the shutdown. o If you answer NO to the prompt, Gpf will exit and discard any changes you may have made to the current definition. o If you answer YES to the prompt, Gpf will save the current definition to disk before exiting. ═══ 2.2. ActionBar Create ═══ Create Pull-Down Create Pull-down Overview The Create pull-down actions provide a list of Presentation Manager control windows (i.e. Windows, Buttons, Scroll Bars, etc.) that you can select from when creating your application definition. When you select a Create pull-down action, the Gpf cursor will turn into a cursor marker until you point and click where you want the control to be placed. Once the control has been placed, an initial definitions dialog box will appear and you can further define the characteristics of the selected control. The target window or dialog window where you want to place the newly created control must be visible, otherwise the control is ignored. As with other Gpf pull-down actions, you can either select the action with a mouse click, or by using the (ALT+X,Y) keyboard combination, where X is the underlined letter of the menu bar identifier and Y is the underlined letter of the pull-down action that you want to execute. Each of the Create pull-down actions will be described in general, and then will be covered in detail in the order in which it appears on the pull-down. Create Window/Dialog (ALT+C,W) The first action available on the Create pull-down is the Window/Dialog action. When you choose Create Window/Dialog, Gpf creates a new Presentation Manager Window. How you choose to use this window will determine whether or not it is an independent window, child window, sibling window, or dialog window. By default Gpf will generate the main standard window when you create the new application definition. Refer to the File Pull-down section for a discussion of creating a new application definition. Create Menu (ALT+C,M) The Create Menu action will generate a Menu Bar control for the target window. You can direct Gpf to place the new menu control on any window/dialog in the current definition. By default the standard Gpf window has a menu bar already generated when you create the new application definition. Create Text Static (ALT+C,T) The Create Text Static action will generate any type of static control (i.e. Text, Icon, Bitmap, Groupbox) to be placed on the target window. By default, Gpf will create a read-only static text control which can then be redefined. Create Button (ALT+C,B) The Create Button action will generate any type of button control (i.e. Push Button, Radio Button, Check Box) to be placed on the target window. By default, Gpf will create a pushbutton control which can then be redefined. Create List Box (ALT+C,L) The Create List Box action will generate a list box control to be placed on the target window. The generated list box cannot be redefined to another type of control, but the characteristics of the list box type (i.e. Sort Options, User Drawn, etc.) may be modified. Create Combo Box (ALT+C,C) The Create Combo Box action will generate a combination box control. These controls are actually both an entry Field control (see below), and a list box control that act as one. Once you place the control, you can further modify its characteristics. As with the list box control, the combination box cannot be redefined. Create Entry Field (ALT+C,E) The Create Entry Field action will generate an entry field control on the target window. You can set the characteristics of the entry field control, but you cannot redefine it. Create Multiple LE (ALT+C,U) The Create Multiple LE action will generate a multiple line entry control on the target window. The multiple line entry control is an extension of an entry field control. With this control, the user can enter a number of lines of text rather than the one line as in entry fields. Word wrapping, background and foreground colors, as well as font sizes are but a few of the characteristics available with a multiple line entry control. Create Vert Scroll Bar (ALT+C,V) The Create Vert Scroll action will generate a vertical scroll bar to be placed on the target window. The vertical scroll bar cannot be redefined as another type of control, but its characteristics may be modified. Note that Gpf will allow you to define a vertical scroll bar as part of the main window characteristics. This control is placed along the right edge of the client window and cannot be repositioned. Use the Create Vert Scroll Bar (ALT+C,V) action to attain the maximum flexibility of a scroll bar control. Create Horz Scroll Bar (ALT+C,H) The Create Horz Scroll action will generate a horizontal scroll bar to be placed on the target window. The horizontal scroll bar cannot be redefined as another type of control, but its characteristics may be modified. Note that Gpf will allow you to define a horizontal scroll bar as part of the main window characteristics. This control is placed along the bottom edge of the client window and can not be repositioned. Use the Create Horz Scroll Bar (ALT+C,H) action to attain the maximum flexibility of a scroll bar control. ═══ 2.2.1. PullDown CreateWindow ═══ Create Window/Dialog (ALT+C,W) You can generate a new window for your application definition through the use of the Create Window/Dialog action. For example, if you need to create a dialog window for a response to a menu selection you would use this option to first create the window template. You could then design this template to specification, adding the additional controls and actions that you want the window to have. When Gpf first generates the new window, it has the following characteristics: Title Bar System Menu Minimize and Maximize Buttons Sizing Border Unlike the standard window that Gpf generates when you use the File New (ALT,F,N) pull-down action, the generated window does NOT include a menu bar control. A menu bar can be added to this new window with the Create Menu (ALT+C,M) pull-down action. Once the new window is generated by the Create Window/Dialog action, the Window/Dialog Styles dialog window will appear to allow you to set the new window/dialog characteristics. Following is a description of each of the characteristic styles available for the new window, or dialog window. Figure 3-6 can be used as a reference. As shown, the Window/Dialog Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions. Name Each window or dialog window you create is named. This name is used as a reference for other controls and is also used for function naming when application source code is generated. By default, Gpf will name the windows in chronological order as follows: MainWindow This is the name given to the first window created by Gpf when you use the File New (ALT+F,N) action. Window1 This is the name given to the first window created by Gpf when you use the Create Window/Dialog (ALT+C,W) action. WindowX This is the name given to each additional window created with the Create Window/Dialog action, where X is equal to the next sequential number of the window created. For example, if you have created two windows using the Create Window/Dialog action, in addition to the window create from File New, the windows that Gpf will have generated would be: MainWindow Window1 Window2 You can enter a different name in this field if you do not want to use the names generated by Gpf. If you decide to change the default name, it would be best if you could make the window name as descriptive as possible. It is easier to guess the window relationship from a name such as: ListDataFieldsDialog rather than T5rKjd832 ! Window Names can contain as many as 20 characters, including underscore characters (_), hyphens (-), and periods (.), as well as any letter or number. You cannot use spaces in the Names field. Before discussing the next two controls, Parent and Owner, it is appropriate to examine what effect these controls have on the newly created window and the rest of the application. Parent and Owner Window Relationships There are two types of relationships that exist for Presentation Manager windows: parent-child, and ownership. Both will be discussed, as well as the effect that setting the Parent and Owner controls has on a new window or dialog window. NOTE: The recommended Parent and Owner for MODAL dialog boxes is DESKTOP. Parent-Child Relationships With the exception of the Presentation Manager Desktop and Desktop-Object windows, most windows have a parent window. For example, the first window you create in an application uses the Presentation Manager Desktop window as its parent. This first window is considered to be a child of the Desktop window. All windows are drawn relative to its parent window. All coordinates are based on the lower-left (0,0) corner of its parent window. For example, a window whose coordinates are (20,20) is placed 20 pixels left and 20 pixels up from the lower-left corner of its parent window. Many windows can share the same parent window; these are called sibling windows. Sibling windows can overlap on the screen; an application or a user can arrange the windows so that some appear on top of others. Each child window can have itself designated as a parent to a new window. Each child window in this chain of windows is called a descendant window of the original parent window. All child windows are clipped to the parent window, meaning that no part of a child window can exist outside of the parent. If the child window is larger then the client area of the parent window, the system will automatically clip the portion of the child that extends beyond the parent so that it does not appear. Setting the Parent control, in the Create Window/Dialog Styles dialog window, to DESKTOP will allow the new window to exist OUTSIDE of all the other defined windows in the application. The coordinate system is relative to the lower- left corner of the screen, which is the desktop window's lower-left corner. This window can be minimized, restored, or maximized, without effecting other windows within the application. Setting the Parent control in the Create Window/Dialog Styles dialog window to any window other than DESKTOP will cause the new window to appear WITHIN the boundaries of that designated parent. The new window will be clipped to the parent window so that if you shrink the parent window you will reduce the visible region of the child window. Also, if you hide or destroy the parent window, the child windows are hidden or destroyed as well. Ownership Any window can have an owner window. An owner is a window, not necessarily a parent window, that controls some aspect of another window. Ownership is typically used to establish a connection between windows so that together they carry out useful tasks. This connection is usually in the form of messaging communications between the window and the owner. For example, the title bar in an application's main window is owned by the frame window. Together they let the user move the entire application window by clicking the mouse in the title bar. Ownership establishes a relationship between windows that is independent of the parent-child relationship. Unlike parent and child windows, there are no predefined rules for how the owner and owned windows interact. Setting the Owner control in the Create Window/Dialog Styles dialog window to DESKTOP will establish ownership of the newly created window to the desktop window. The desktop will control the communication of messages to the newly created window. Setting the Owner control in the Create Window/Dialog Styles dialog window to any window other than DESKTOP will establish ownership of the newly created window to that of the designated window. The owner window will send messages to, and receive messages from, the newly created window. Window/Dialog Styles dialog window controls Parent The parent of the newly created window can be set from this control. The Parent control is a combination box which will list all the currently defined windows or dialog windows that were present when you created the new window. By default Gpf will list the DESKTOP window as the parent. You may select another window as the parent by clicking on the down arrow button on the Parent control. If there are any other windows that are defined in the current application, they will be listed here. Owner The owner of the newly created window can be set from this control. The Owner control is a combination box, like the Parent control, which will list all of the currently defined windows. By default Gpf will list the DESKTOP window as the owner of the newly created window. You may select another window as the owner by clicking on the down arrow button on the Owner control. If there are any other windows that are defined for the current application, they will be listed here. Title The Title control is an entry field where you can enter the text that you want to have appear in the newly created window's title bar. This text is typically the name of the application itself. For example, Gpf displays "Gpf Editor [Filename.ORC]" in its title bar. Title text can contain a maximum of 108 characters. Source The Source control is a combination box where you can select or define the name of the source file where you want Gpf to generate the newly defined window's source code. The name is not required to be the same name that is entered in the Main Window properties. When Gpf generates the source code for a multiple window and multiple source file definition, the appropriate compilation and link statements will be generated as well. To select an existing source file name for the window, click the down arrow button on the combination box to display a list of defined source names. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the new choice. If you want to create a new source file for the window, position the mouse pointer at the beginning of the currently displayed source file and type the new name to replace it. Thread The Thread control is a combination box where you can select which thread the new window will execute under. To select a thread for the window, click the downward pointing arrow button on the combination box to display a list of defined thread names. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the chosen thread name. If you want to create a new thread of execution for the window, position the mouse pointer at the beginning of the currently displayed thread name and type the new name in to replace it. Gpf will automatically generate the necessary source code for creating an OS/2 thread for the window. Presentation Client This control is a combination box where you can select the presentation parameters of the window client area, such as fonts, colors, visual frame attributes, etc. This combination box is read-only, therefore you will only be allowed to select from a list of pre-defined objects. To define these objects, see section 3.5.2.2. If none are defined there will be one and only one choice: NULL. The NULL choice specifies system defaults, as set via the Control Panel. To select a presentation for the window, click the downward pointing arrow button on the combination box to display the list of objectss. When you click on a selection from this list, the entry field portion of the combination box will change to reflect the color you chose. You will notice a small box marked "Color" in the Styles dialog window. As you choose a selection in the Color control this box will display a sample of the basic color of the selected presentation. Presentation Frame The Presentation control allows you to select an object from a list of Presentation Objects that were predefined for this application. These objects allow you to set the formatting and color of the basic frame being created. Like the Presentation Client control, the Presentation Frame control is a read-only combination box. To select a Presentation Object for the window title text, click the downward pointing arrow button on the combination box to display a list of Presentation Objects. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the object you chose. By default, this entry contains NULL. For a complete explanation of Presentation Objects, refer to the section titled Object Pull-down ( section 3.5). Icon The Icon control is a read-only combination box where you can set the icon that will be displayed when the window is minimized by the user. To select an icon for the window, click the downward pointing arrow button on the combination box. A list of Icon Objects will be displayed. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the object you chose. You will notice a small box marked "Icon" in the Styles dialog window. As you choose a selection in the Icon control this box will display the actual icon. Icons are defined as Objects, just like Presentation Objects. Refer to the section titled Object Pull-down, section 3.5, for a full description on defining Icon and Bitmap Objects. Choose Styles Group Box The Choose Styles group box contains a number of check boxes that will affect the appearance of your window. Check boxes turn on the related style when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the style for the window. Each of the styles available will be described. Title Bar This option is set to on by default. The title bar is located at the top of the window. Besides displaying text, the title bar is used to move the entire application window around on the screen. Click this check box off if you do not want to display a window title bar. Minimize Button This option is set to on by default. The minimize button allows a window to be minimized to an icon. Click this check box off if you do not want to have your window minimized. Setting this check box to off will also effectively ignore the Icon control selection. Maximize Button This option is set to on by default. The maximize button allows a window to be expanded to the borders of the windows parent - the entire screen in the case of the main window. Click this check box off if you do not want your application window to be maximized. System Menu This option is set to on by default. The system menu provides the user with window sizing and placement controls via keyboard commands and pull-down menu actions. Click this check box off if you do not want to have a system menu displayed on your application window. Appl Menu This option is set to on for the first window created in the Gpf application definition, and set to off for each window created thereafter. If this option is on, and a menu bar has been created for the window, Gpf will display a warning that the existing menu bar will be destroyed if you click this check box to off. If this check box option is off, and you later create a menu for the window, Gpf will automatically set this to on. Horz Scroll Bar This option is set to off by default. If you click this check box on, Gpf will create a horizontal scroll bar along the bottom of the client window. Vert Scroll Bar This option is set to off by default. If you click this check box on, Gpf will create a vertical scroll bar along the right border ( facing the screen ) of the client window. Information Message This option is set to off by default. If you click this check box on, Gpf will allow you to display one line informational text in the Information message box. The Information message box is located along the bottom of the client window, above the horizontal scroll bar if one is defined. The text for the Information message box can be specified in the Entry Extended Help dialog box. Refer to the Common Dialog Window section of this document for an detailed explanation of the Information Message. Appl Modal This option is set to off by default. Windows with the application modal style set to ON will not allow you to access other windows, or menus, within the application until the modal window is dismissed. This style is usually found set to ON for dialog windows. System Modal This option is set to OFF by default. Windows with the system modal style set to ON will not only prevent you from accessing other windows or menus within the application, but will also prevent access to any other application on the system. The system modal style is typically set to on to signal the user of a critical error, or of some other reason that requires immediate attention. NOTE: It is recommended that MODAL dialog boxes have the DESKTOP as both owner and parent. Choose Options Group Box The Choose Options group box contains a number of check boxes that will effect how Presentation Manager controls various aspects of your window. Check boxes are considered to be turned ON for the related option when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the window. Each of the options available will be described. Logo This option is set to OFF by default. The Logo is an opening window for your application, usually containing copyright or application specific information. Click this option ON if you want to have your application display a logo. Note that Presentation Manager can override this option if the PM Control Panel option for displaying a logo is set to OFF. Save Bits This option is set to ON by default. The Save Bits instructs Presentation Manager to save the image under the window as a bitmap. When the window is moved or hidden, the system restores the image by copying the bits. Click this option to OFF if you do not want bitmap images saved. NoMoveWithOwner This option is set to OFF by default. This option will instruct Presentation Manager to create a window that will not move if the owner window moves. Click this option ON if you want your window NOT to move with the owner window. Adjust This option is set to OFF by default. This GPF feature, when set to ON, will cause all controls to re-size if the enclosing window is re-sized. This effect can be viewed in ANIMATOR mode. SyncPaint This option is set to ON by default. This option, when set to on, will cause the window to immediately receive WM_PAINT messages after a part of the window becomes invalid. When this option is set to OFF, the window receives WM_PAINT messages only if no higher priority messages are waiting to be processed in the window message queue. NoByteAlign This option is set to OFF by default. This option will instruct Presentation Manager to create a window that is not byte aligned. If this option is set to OFF, Presentation Manager will align the window on an eight byte boundary. This results in faster screen drawings in the client window. Border Styles Group Box The Border Styles group box contains a number of radio buttons that will control the type of border your window will have. Radio buttons in a group box are mutually exclusive. Only one can be set to on in the group at one time. By clicking on the different border options, you will set the radio button ON for the new option, while turning the radio button OFF on the previously set option. Sizeable Border This option is set to OFF by default. The Sizeable Border option instructs Gpf to generate a border around the window that will allow the user to size the height and width of the window with the mouse or keyboard commands. This border style is typically used in most OS/2 Presentation Manager applications. Window Border This option is set to OFF by default. The Window Border option instructs Gpf to generate a thin lined border around the window. The user cannot change the size of the window when this option is set to ON. This border type is typically used for windows that display a quick message to the user and are then dismissed. Dialog Border This option is set to OFF by default. The Dialog Border option instructs Gpf to generate a border that is thicker than the Window Border. The user is still prohibited from changing the size of the window. This border type is typically used for dialog windows. No Border This option is set to OFF by default. The No Border option instructs Gpf NOT to generate any border whatsoever around the window. This border type is typically used for windows with a parent other then the DESKTOP. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Window Styles dialog window. If any of the options you have selected will result in a change to the windows appearance, Gpf will automatically update the window to reflect those changes. For example, if the window was created with a Sizeable Border, and you change the border type to Window Border, the window's border will be changed to a Window Border type. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the window while in the Window Style dialog window, Gpf will ignore the changes and restore the original control settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Window Styles dialog window, you will be able to define the general help text for your window. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the window from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A) will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the window during the following stages: Window Creation or Initialization - Presentation Manager creates or initializes every window or dialog window. The developer can change the default processing during the creation phase with either different pre-defined actions, or their own source code. Window Activation - After the above step, the window is then activated. The developer can change the default processing during the activation phase with either different pre-defined actions, or their own source code. Window DeActivation - This occurs when the user or application has dismissed or destroyed the window. The developer can change the default deactivation processing with either pre- defined actions, or their own source code. Each of the above are listed in the Action On dialog window. To select an action from the list box, either click on the target phase with the mouse, or use the directional keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section. OK When you are finished viewing or modifying the action processing for the window, click on the OK (ALT+O) button to return to the Window Styles dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the window as well as any children windows associated with the window. This option is NOT available for the main window, as every application must have at least one window. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this window, as well as any children of this window. ═══ 2.2.2. PullDown CreateMenu ═══ Create Menu (ALT+C,M) The Create Menu action allows you to add a menu bar to a window. When you create a new Gpf application definition, the first window that is created contains a default menu bar. For each additional window created, using the Create Window/Dialog Window (ALT+C,W), Gpf does not generate a menu bar. Clicking on the Create Menu (ALT+C,M) action will generate a menu bar and allow you to attach it to any visible window. If the target window does not have a menu bar already defined, Gpf will immediately invoke the Menu Options dialog window. Refer to Figure 3-7. Gpf will allow you to define three types of menu items: top level menu items, pull-down actions, and submenu items. Top level menu items are those that are directly visible in the application's menu bar. Clicking on a top level menu item will typically display a 'pull-down' list of action items. Subsequently, each pull-down action item can have a pull-down list of menu items, called a submenu. The following text and control descriptions apply to all three of these menu types. As shown, the Menu Options dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and push buttons. Some of these controls are located in group boxes and will be noted in the following descriptions. Name Each menu item has an identifying name. During program execution, the application's window procedure receives messages generated by the menu in response to user input, either from the mouse or the keyboard. The application responds to these messages by using the identifier of the menu item that is contained in each menu message. Text You can specify the text that is displayed in the menu or pull-down with the Text entry field. You can indicate a mnemonic keystroke for the menu item by preceding that character in the item text with a tilde, as in "~Open". The user can choose that item by pressing the mnemonic key when the menu is active. A menu item can have a keyboard accelerator associated with it. Accelerators differ from mnemonic keystrokes in that the menu does not have to be active for the accelerator key to work. Typically the accelerator is displayed to the right of the menu item. This is done by placing a tab character (\t) in the menu text before the characters that should be displayed on the right. For example, to indicate that the F3 function key can be used to exit the application, the text field entry would contain: Exit\tF3 Refer to the Accelerator Key description for generating the proper accelerator for your menu item. Sibling The Sibling control is a combination box which displays, and allows you to choose, which menu item is a sibling to the currently displayed menu item. You can re-arrange the position that the menu item appears in by changing the sibling relationship. The siblings are listed from either the top of the pull-down list order or across for top level menu items. Parent and Owner The Parent and Owner controls are read-only displays which indicate the respective Parent and Owner of the menu bar. Gpf sets this relationship automatically, with the menu directly communicating (sending messages) with the window it is attached to. Accelerator Key The Accelerator Key control is a combination box which lists all the available key combinations that can be used for the current menu item definition. Keyboard accelerators provide an optional interface, the keyboard, for selecting menu items. Accelerators associate keystrokes with menu action items and therefore do not require the menu itself to be active. You can select an Accelerator Key from the Accelerator Key combination box for the current menu item definition by scrolling through the list of predefined keystroke combinations and clicking on the desired one. Submenu Presentation The Submenu Presentation combination box includes a list of all defined Presentation Objects. Refer to the Objects Pull- down (section 3.5) in this documentation for a description on creating Presentation Objects. The Presentation Object can change the appearance ( i.e. Foreground and Background Color, Font and Font Sizes, Borders, etc. ) of the pull-down menu items. You can select a Submenu Presentation object by scrolling through the list of Presentation Objects and clicking on your choice. Menu Styles Group Box The Menu Styles group box contains a number of check boxes that affect how Presentation Manager displays the menu item. Check boxes are considered to be turned on for the related option when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the menu item. Each of the options available will be described: Break This option is set to off by default. Presentation Manager will start a new row or column for the menu item when it encounters this style. Static This option is set to off by default. When the Static style option is set to on, the menu item is displayed as an informational item only. The user cannot select a menu item with this type, with either the mouse or keyboard. Button Separator This option is set to off by default. When the Button Separator style option is set to on, the item cannot be selected by using the keyboard cursor keys. The item can only be selected with the mouse or defined accelerator keys. Break Separator This option is set to off by default. This style is the same as is described above for the Break style, with the exception that Presentation Manager will draw a separator line between the menu row or column. Menu Attributes Group Box The Menu Attributes group box contains a number of check boxes that control the display aspects of a menu item, such as its highlighted and checked state. Check boxes controls are considered to be turned on for the related option when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the menu item. Each of the options available will be described. No Dismiss This option is set to OFF by default. When this option is set to ON, the menu which contains the current menu item will not be dismissed, even after the user makes a menu selection. The application becomes responsible for removing the menu from view. Framed This option is set to OFF by default. If this option is set to ON, the menu item will be framed by vertical lines to the left and right. Checked This option is set to OFF by default. If this option is set to ON, the menu item will have a check mark to the left of it when displayed. The application must control turning the check on and off on a menu item during program run- time. Disabled This option is set to OFF by default. The Disabled attribute, when set to ON, will gray out the menu item. The user may view a grayed menu item, but the system will issue an error beep when the menu item is clicked upon. The application is responsible for setting and clearing the disabled state of a menu item during program run-time. Highlighted This option is set to OFF by default. Presentation Manager will normally highlight the topmost pull-down item when a menu list is displayed. Set this option ON if you would rather have a different menu item highlighted at run-time. Menu Type Group Box The Menu Type group box contains a number of radio buttons which indicate what type of object the menu item is. Radio buttons in a group box are mutually exclusive; only one can be set to on in the group. Each of the menu types will be described. Text This is the default menu type. The menu item is displayed as a text string. Bitmap This menu type allows you to include a bitmap drawing as the menu item. When you enable this option, Gpf will activate the bitmap display box and the bitmap object combination box. The display box is located to the right of the bitmap option, and the combination box is at the bottom of the Type group box. The bitmaps must have been previously identified as an object to appear in the combination box list. Refer to the Objects Pull-down section (Section 3.5) for information on defining bitmap objects. Separator This menu type is set to off by default. The Separator type will generate a non-selectable horizontal line in the menu pull-down list. This is helpful for separating logical groups of pull-down actions in the same menu. Any text entered in the Text Entry Field is ignored when the Separator type is selected. Owner Draw This menu type is set to off by default. When a menu type is defined to be of type Owner Draw, then the application is responsible for drawing, redrawing, and dismissing the menu. The application receives notification messages from the menu bar each time a draw request needs to be serviced. OK Click on the OK (ALT+O) button when you are finished viewing or modifying the top level, pull-down, or submenu item, and want to save the item definitions or changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the menu item while in the Menu Options dialog window, Gpf will ignore the changes and restore the original menu settings. PULLDOWN Top level menu items can have a pull-down action list of menu items associated with them. The PULLDOWN (ALT+P) button will allow you to add, edit, or remove pull-down action items. Clicking on the PULLDOWN button will invoke the Selection Pull-down dialog window. The Selection Pull-down dialog window will list the pull-down action items already defined for the top level. Double clicking on an available pull-down item in the list will invoke a nested Menu Options dialog window. The control options are the same as the ones used when defining the top level menu item with the exception that the PULLDOWN button is renamed to SUBMENU. If no pull-down items have been defined, you must first add one with the ADD ITEM (ALT+A) button. Each pull-down menu item can have a submenu associated with it. Submenus typically provide 'in line' menu options for the particular pull-down action, as opposed to invoking dialog boxes for user input. Submenu items are defined using the Menu Options dialog window, just like the pull-down and top level menu items. ENTRY HELP By clicking the Entry Help (ALT+E) button in the Menu Options dialog window, you will be able to define the general help text for your menu item. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when the menu is the active selection. You can also define an informational message for the menu item from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions desired for the menu item when the user selects it. The Action On dialog window allows you to define processing for the following user action: Click When the user clicks on the menu item with the mouse, or invokes the menu item with an accelerator key. You can define the action associated with the menu item selection with pre-defined, or user developed source code. The click option is listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the directional keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section. OK Once you are finished viewing or modifying the action processing for the menu, click on the OK (ALT+O) button to return to the Menu Options Styles dialog window. If you are nested in defining pull-down menu items, or submenus, Gpf will return to the next highest level. Continue to click the OK button until you return to the Gpf edit screen. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the menu item as well as any pull-down menu items associated with the menu. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this menu item, as well as any pull-down children of this menu item. ═══ 2.2.3. PullDown CreateStatic ═══ Create Text Static (ALT+C,T) Clicking on the Create Text Static (ALT+C,T) action will generate a static text control item and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Static Control Styles dialog window. Refer to Figure 3-8. Static controls are simple text fields, bitmaps, or icons that can be used to label, enclose, or separate other window control windows. Static controls do not accept user input and they do not send notification messages to their owning applications. As shown, the Static Control Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and push buttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each static text control item has an identifying name. During program execution, the application's window procedure can manipulate the item using this name as an argument to the OS/2 Presentation Manager API functions. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the item currently being defined. Text The Text control is an entry field where you can type in the text associated with the currently created item. Item definitions where text entries are ignored will be identified at the appropriate control item description. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, foreground, background, and border colors for the static control being defined. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Static Control Styles Group Box The Static Control Styles group box contains a number of radio buttons that define what type of control the newly created item is. Radio buttons in a group box are mutually exclusive, only one can be set to on in the group at one time. Each of the control styles are described as follows: Text This option is set to on by default. With the control style of Text, various formatting options are available to produce formatted text in the boundaries of the control. The text entered in the text entry field control is displayed. Refer to the discussions of Horizontal and Vertical Options following this (Static Control Styles Group Box) section. Group Box This option is set to off by default. Group boxes are useful for grouping other kinds of control items, such as radio buttons and check boxes. The text entered in the text entry field control is displayed in the upper left corner of the group box when displayed in the application or dialog window. ForeGround Frame This option is set to off by default. A control with this style is drawn as a rectangular frame with the current foreground color. Any text entered in the Text entry field is ignored with this option. BackGround Frame This option is set to off by default. A control with this style draws a filled rectangle with the current background color. Any text entered in the Text entry field is ignored with this option. Half Tone Frame This option is set to off by default. Half tone frames draw a rectangular frame with a halftone pattern in the current foreground color. Any text entered in the Text entry field is ignored with this option. Icon This option is set to off by default. Click on this style if you want to display an icon on the application or dialog window. The icon must have been previously identified as an object to Gpf. Refer to the Objects Pull- down section (Chapter 3.5) for information on defining icon objects. Bitmaps This option is set to off by default. Click on this style if you want to display a bitmap on the application or dialog window. The bitmap must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining bitmap objects. If either Icon or Bitmap is selected as a style, the Icon/Bitmap combination box will become active with a list of defined Icon/Bitmap objects. Selecting an object from the combination box will also fill in the Icon/Bitmap view box located to the right of the Icon and Bitmap style radio button. ForeGround Rect This option is set to off by default. This style draws a rectangle filled with the current foreground color. Any text entered in the Text entry field is ignored with this option. BackGround Rect This option is set to off by default. This style draws a rectangle filled with the current background color. Any text entered in the Text entry field is ignored with this option. Half Tone Rect This option is set to off by default. This style will draw a rectangle filled with a halftone pattern with the current foreground color. Any text entered in the Text entry field is ignored with this option. Horz Options Group Box The horizontal placement of the text in the Text field entry is controlled by the options in this group box. These options are only available if the style for the static control is marked Text. Being radio button options, the horizontal controls are mutually exclusive. Left Aligned This option is set to on by default. Setting the Left Aligned option will draw the text entered in the text entry field flush left with the text box border. Horizontal Centered This option is set to off by default. This option will center the text between the left and right boundaries of the text box. Right Aligned This option is set to off by default. Setting the Right Aligned option will draw the text entered in the text entry field flush right with the text box border. Vert Options Group Box The vertical placement of the text in the Text field entry is controlled by the options in this group box. As with the horizontal controls, the style of the static control must be set at Text. Being radio button options, the vertical controls are mutually exclusive. Top Aligned This option is set to off by default. The Top Aligned option will draw the text entered in the Text entry field, starting in the top line of the text box. Vert Centered This option is set to on by default. Vertical centering will align the text between the top and bottom borders of the text box. This is typically used for single line text entries. Bottom Aligned This option is set to off by default. This option will draw the text entered in the Text entry field, starting along the bottom border of the text box. Text Options Group Box The Text Options group box contains a number of check boxes that will effect the overall appearance of your text. Check boxes are considered to turn on the related style when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the text. Each of the styles available will be described. Word Wrap This option is set to off by default. Click on this option if the text entry extends for more than one line, or if the text box is too small. Word wrap will automatically wrap the text to fit into the defined text box boundary. Half Tone This option is set to off by default. Setting this option on will display the text in a halftone pattern with the current text color. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current static control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the static control will act as the first member of a number of other controls in a group. It will also be able to receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to off by default. This style is typically used in conjunction with the Group style. When set to on, the current control will be able to receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Static Control Styles dialog window and save your changes. If any of the options you have selected will result in a change to the controls appearance, Gpf will automatically update the control to reflect those changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the control while in the Static Control Styles dialog window, Gpf will ignore the changes and restore the original control settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (Chapter 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION Because static controls do not allow user input, the ACTION button is disabled. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the static control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this control, as well as any children of this control. ═══ 2.2.4. PullDown CreateButton ═══ Create Button (ALT+C,B) Clicking on the Create Button (ALT+C,B) action will generate a push button control item and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Button Control Styles dialog window. Refer to Figure 3-9. There are four main types of buttons: push buttons, radio buttons, check boxes, and three-state check boxes. The appearance and behavior of button controls is determined by the style of the button. There is also the user defined, or 'owner drawn' button which allows you to place a bitmap or icon on the window which will send notification messages to the application. The owner of the user defined button is responsible for the appearance of the button. As shown, the Button Control Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and push buttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each button control has an identifying name. During program execution, the application's window procedure receives messages generated by the button in response to user input, either from the mouse or the keyboard. The application responds to these messages by using the identifier of the button control. Sibling The Sibling control is a combination box which displays, and allows you to choose which control item or window is a sibling of the item currently being defined. Text The Text control is an entry field where you specify the text that will appear inside, or next to, the button. Typically you can set a mnemonic character in the text so the user can select the button with the keyboard. For example, a button with the following text: ~Select Me would allow the user to select the button by pressing ALT+S. Use the tilde character (~) to identify the mnemonic character. Presentation The Presentation control is a combination box which displays, and allows you to choose, a presentation object for setting the font size, foreground and background, and border colors of the button control. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of radio buttons that define what type of button the newly created control is. Radio buttons in a group box are mutually exclusive; only one can be set to on in the group at one time. Each of the control styles will be described: Radio Button This option is set to off by default. Radio buttons are typically used in a mutually exclusive group. The application is responsible for responding to state changes (i.e. button clicked messages) for this button as well as other radio buttons within the group. Auto Radio Button This option is set to off by default. This style is similar to the Radio Button, but the state changes are handled automatically by the system. The state of the button can be checked with OS/2 Presentation Manager API calls. Check Box This option is set to off by default. A check box is a small square that is empty when it is not selected, and contains a small 'x' when selected. The text for the check box is displayed to the right of the small square. As with the Radio Button, the owner application window is responsible for changing the check box state. Auto Check Box This option is set to off by default. This style is similar to the Check Box, but the state changes are handled automatically by the system. As with auto radio buttons, the state of the check box can be queried and set with OS/2 Presentation Manager API calls. 3 State This option is set to off by default. The 3 State check box extends the normal check box, except that it toggles between selected, unselected, and halftone states. The owner application window is responsible for changing the 3 state appearance. Auto 3 State This option is set to off by default. The Auto 3 State check box is similar to the 3 State check box, but the state changes are handled automatically by the system. There are API calls available for checking the current status of the Auto 3 State. Push Button This option is set to on by default. The Push Button is the classic button style. When the user clicks on this button, or optionally uses a mnemonic key, the button sends notification messages to the owner window. User Button This option is set to off by default. The User Button can be a bitmap object drawn by the user. As with the normal push button, notification messages are sent to the owner window when the button is selected. When this option is selected, both the Normal and Hilited Bitmap combination boxes are enabled. You can select a defined bitmap object for both the normal and highlighted state of the button. Bitmaps must have been identified as an object to appear in the combination box list. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining bitmap objects. Button Options Group Box The Button Options group box contains a number of check boxes that define the operational characteristics of the button. This group box is only enabled when the Push Button or User Button styles have been chosen. Being check boxes, Gpf will generate the option if set to ON, and you may combine more than one option per button. Each of the options will be described below: Default This option is set to off by default. A button with this style is outlined with a heavy black border. A user can select this button by pressing the ENTER key. No Focus This option is set to off by default. A button with this style does not receive the focus, even when selected. No Cursor This option is set to off by default. With this style set the user will be unable to move the focus to this button using the keyboard cursor keys. No Border This option is set to off by default. With this style set, the button is drawn without a border, in effect removing the 'button' look and feel. These buttons, when selected, will still send notification messages to the application. Alias Group Box Presentation Manager maintains certain default notification messages for pushbuttons. The Alias group box allows you to define one of these for the current button control. Being radio buttons, these options are mutually exclusive. Note that Aliasing is only allowed for buttons with the Push Button style set. None This option is set to on by default. The currently defined button does not send an aliased notification message to the application window. In this case, the message sent is the contents of the name entered in the Name entry field. Ok This option is set to off by default. With this button option, the defined button will send the application window a DID_OK message. Cancel This option is set to off by default. With this button option, the defined button will send the application window a DID_CANCEL message. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current button control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to off by default. With this style set to on, the button control will act as the first member of a number of other buttons in a group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Button Control Styles dialog window and will save your changes. If any of the options you have selected will result in a change to the button control appearance, Gpf will automatically update the button to reflect those changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the button control while in the Button Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions desired for the button control item when the user selects it. The Action On dialog window allows you to define processing for the following user action: Click- This user action occurs when the user clicks on the button control item with the mouse, or invokes the button control item with an accelerator key. You can define the action associated with the button control item selection from a list of pre-defined actions, or with user developed source code. The click option is listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the button control item. When you select this option, Gpf will prompt you with a message to confirm that you want to destroy this button, as well as any children of this control. ═══ 2.2.5. PullDown CreateListBox ═══ Create Listbox (ALT+C,L) Clicking on the Create Listbox (ALT+C,L) action will generate a list box control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Listbox Control Styles dialog window. Refer to Figure 3-10. As shown, the Listbox Control Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each listbox has an identifying name. During program execution, the application's window procedure receives messages generated by the listbox in response to user input. The application responds to these messages by using this identifier of the listbox control. OS/2 Presentation Manager also has a set of functions which can manipulate items in a list box using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays, and allows you to choose which control item, or window, will be a sibling of the listbox currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, foreground and background, and border colors of the listbox items. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes that define what type of attributes can be applied to the listbox control. Being check boxes, Gpf will generate the option if it is set to on. You may combine more than one option per listbox. Each of the options will be described below: Horizontal Scroll Bar This option is set to off by default. When Gpf generates the listbox control, it is automatically drawn with a vertical scroll bar. Click this option on if you want a horizontal scroll bar drawn on this listbox as well. Multiple Selection This option is set to off by default. With this option on, a user can select multiple listbox items as opposed to just one item. Owner Draw This option is set to on by default. When the listbox must be redrawn, Presentation Manager will send a notification message to the owner window of the list box. This includes when items must be hilited ( selected ). Another important effect of Owner Draw is the proper columnar alignment of proportional font text, e.g. when several fields of a DBM table is displayed in the listbox. No Adjust Position This option is off by default. With this option set to on, the listbox height will automatically adjust to a multiple of the height of a listbox selection. Sort Options Group Box The Sort Options group box contains a number of radio buttons that define how text items that fill the listbox should be sorted. This option is active only if the items being loaded are done so via SQL\DBM table functions, i.e. these must be columns from the database selected in the Program Properties screen. Radio buttons in a group box are mutually exclusive; only one can be set to on in the group at one time . Each of the sort options will be described as follows: None This option is on by default. Text items in a listbox are listed in the order that they were inserted in. Ascending This option is set to off by default. This option will cause text items to be inserted in ascending alphabetical order into the listbox. Descending This option is set to off by default. This option will cause text items to be inserted in descending alphabetical order into the listbox. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current listbox control. Typically these options are for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the listbox control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Listbox Control Styles dialog window. If any of the options you have selected will result in a change to the listbox control appearance, Gpf will automatically update the listbox to reflect those changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the button control while in the Listbox Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) button in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ASSOCIATE This button is active if you have specified a database in the Program Properties (see Files pulldown) screen. If active, pressing this button will place you in the Associate dialog, as described in the Common Dialog Windows section, 3.10. Briefly speaking, from here you can specify which tables\columns to extract from your DB, and what is to be done with them. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the listbox control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Click - Presentation Manager generates a notification message to the owning window when the user clicks on any item in the list box. Double Click - Double clicking on an item in a listbox will cause Presentation Manager to send a LN_ENTER notification message to the listbox owner. This message, in effect, simulates a user pressing the ENTER key. Set and Kill Focus - When an item in a listbox is selected, the listbox is given focus by the system. When another control, menu, button, etc., is chosen outside of the listbox, the listbox loses the focus. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the listbox control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this listbox control, as well as any children of this listbox. ═══ 2.2.6. PullDown CreateComboBox ═══ Create Combobox (ALT+C,C) Clicking on the Create Combobox (ALT+C,C) action will generate a combination box control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Combobox Control Styles dialog window. Refer to Figure 3-11. Combobox controls are combination boxes. A combination box is two controls in one: an entry field and a list box. Combination boxes let the user enter data by typing in the entry field or by choosing from a list in the list box. As shown, the Combobox Control Styles dialog window consists of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each combobox has an identifying name. During program execution, the application's window procedure receives messages generated by the combination box in response to user input. The application responds to these messages by using this identifier of the combination box control. OS/2 Presentation Manager also has a set of functions which can manipulate items in a combination box using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the Combobox currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size and the foreground, background and border colors of the Combobox items. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of radio buttons that define the Combobox style. Radio buttons are mutually exclusive; only one option can be set at one time. Each of the combination box options will be described below: Simple This option is set to OFF by default. A simple combination box displays its list box. The user can enter and edit text in the entry field or choose items from the list box. Drop Down This option is set to OFF by default. A simple drop down combination box displays its list box only if the user clicks the drop down button at the right end of the entry field. It hides the list box when the user clicks the drop down button a second time. In a drop down combination box, the user can enter and edit text in the entry field or choose items from the list box. Drop Down List This option is set to ON by default. A drop down list combination box is similar to the simple drop down combination box, but the user cannot enter or edit text in the entry field. The user can only choose items from the list box. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current Combobox control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the Combobox control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Combobox Control Styles dialog window. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Combobox control while in the Combobox Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control with the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Combobox control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Click - Presentation Manager generates a notification message to the owning window when the user clicks on any item in the list box. Double Click - Double clicking on an item in a Combobox will cause Presentation Manager to send a notification message to the Combobox owner. This message, in effect, simulates a user pressing the ENTER key. Change Data - When an item in a Combobox entry field is changed, the Combobox sends a notification message to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (Chapter 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Combobox control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Combobox control, as well as any children of this Combobox. ═══ 2.2.7. PullDown CreateEntryField ═══ Create Entry Field (ALT+C,E) Clicking on the Create Entry Field (ALT+C,E) action will generate an entry field control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Entry Field Control Styles dialog window. Refer to Figure 3-12. Entry fields are rectangular windows that display a single line of text a user can edit. When an entry field has the focus, it displays a flashing bar, called the cursor, that marks the current point where text can be entered. Entry fields send notification messages to the owner window when gaining or losing focus, or when the contents of the entry field have changed. As shown, the Entry Field Control Styles dialog window consists of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each entry field has an identifying name. During program execution, the application's window procedure receives messages generated by the entry field in response to user input. The application responds to these messages by using this identifier of the entry field control. OS/2 Presentation Manager also has a set of functions which can manipulate text in the entry field using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the entry field currently being defined. Text You can specify the text that is displayed in the entry field with this option. The application can replace this default text during runtime as well using OS/2 Presentation Manager API calls. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, as well as the foreground, background, and border colors of the entry field text. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.X.X) for information on defining presentation objects. Text Styles Group Box The Text Styles group box contains a number of radio buttons that define how the text in the entry field will be drawn. Radio buttons are mutually exclusive; only one option can be set at one time. Each of the entry field options will be described below. Left Aligned This option is set to on by default. Entry field controls with this style will display text flush left within the control window. Centered This option is set to off by default. Click this option on if you want to center the text in the entry field control window. Right Aligned This option is set to off by default. Entry field controls with this style will display text flush right within the control window. Entry Field Options Group Box The Entry Field Options group box contains a number of check boxes that control the display and formatting of text in the entry field control. Being check boxes, Gpf will generate the option if set to on. You may combine more than one option with the entry field control. Each of the options are described as follows: Margin This option is set to ON by default. The margin option will paint a wide border around the entry field control window. Command ** currently undefined except in PM SDK header files. Reserved for future expansion. Autoscroll This option is set to on by default. With this option set to on, the entry field control will scroll lengthy text within the control window horizontally. Unreadable This option is set to off by default. When this option is selected, any text entered in the entry field control will be masked with asterisk '*' characters. This is a useful option for entering passwords, or other sensitive data entry items. Autotab ** currently undefined. Read Only This option is off by default. When this option is set to on, the user cannot change the text within the entry field. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics for the current entry field control. Typically, these options are for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the entry field control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a similar style is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. Control Window Group Box The Control Window group box provide additional options for setting characteristics of an entry field control. Max Length This option is off by default. When the check box is set, a text length entry field is displayed. You can set the maximum length of characters that the user may enter with this option. NOTE: this function is disabled if the current field is associated with a database (selected in the Program Properties dialog.) Picture Mask ** currently undefined. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Entry Field Control Styles dialog window. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Entry Field control while in the Entry Field Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Entry Field Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Entry Field control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Kill Focus - When the entry field loses the keyboard focus, a notification message is sent to the owner window. Set Focus - When the entry field receives the keyboard focus, a notification message is sent to the owner window. Change Data - When the contents of the entry field changes, a notification message is sent to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows and associated processes are described in the Common Dialog Windows section (Chapter 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Entry Field control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Entry Field control, as well as any children of this Entry Field. ═══ 2.2.8. PullDown CreateMLE ═══ Create Multiple LE (ALT+C,U) Clicking on the Create Multiple LE (ALT+C,U) action will generate a Multiple Line Entry Field (MLE) control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Multiple Line Entry Control Styles dialog window. Refer to Figure 3-13. A Multiple Line Entry Field is a sophisticated entry field control window that the user can use to view and edit multiple lines of text. In addition, a multiple line entry field provides all the text editing capability of a simple text editor, making these features readily available to applications. As shown, the Multiple Line Entry Field Control Styles dialog window consists of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each Multiple LE control has an identifying name. During program execution, the application's window procedure receives messages generated by the Multiple LE control in response to user input. The application responds to these messages by using this identifier of the Multiple LE control. OS/2 Presentation Manager also has a set of functions which can manipulate text in the Multiple Line Entry field using the handle of the MLE as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the Multiple Line Entry field currently being defined. Text You can specify the text that is initially displayed in the Multiple Line Entry field with this option. The application can replace this default text during runtime as well by using OS/2 Presentation Manager API calls. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, as well as foreground, background, and border colors of the Multiple Line Entry field text. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes which allow you to set a number of characteristic styles for the Multiple LE field control. Each of the Multiple LE options will be described below. Check boxes are considered to be set to on when a small 'x' appears in the check box. Border This option is set to ON by default. With this option set to on, the Multiple LE field will have a black border drawn around it. Vert Scroll Bar This option is set to on by default. A vertical scroll bar is added to the Multiple LE. The initial state of the scroll bar is disabled until the number of lines of text exceed the Multiple LE height. Word Wrap This option is set to ON by default. When a line of text exceeds the length ( width ) of the Multiple LE, lines will automatically break at a convenient place in the text and wrap to the next line. Horz Scroll Bar This option is set to OFF by default. A horizontal scroll bar is added to the Multiple LE. The initial state of the scroll bar is disabled until the width of the text line exceeds the Multiple LE width. Read Only This option is set to OFF by default. With this option set, the Multiple LE will not accept any date edit or entries. This is typically used to display static text. Ignore Tab This option is set to on by default. This directs the Multiple LE to ignore tabs entered by the user. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current Multiple LE field control. Typically these options are for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the Multiple LE field control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Multiple Line Entry Control Styles dialog window. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Multiple LE Field control while in the Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Multiple Line Entry Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key during application run time. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Multiple LE field control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Kill Focus - When the Multiple LE field loses the keyboard focus, a notification message is sent to the owner window. Set Focus- When the Multiple LE field receives the keyboard focus, a notification message is sent to the owner window. Change Data- When the contents of the Multiple LE field have changed, a notification message is sent to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the current Multiple LE field control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Multiple LE Field, as well as any children of this control. ═══ 2.2.9. PullDown Create Vert Scroll Bar ═══ Create Vertical Scroll Bar (ALT+C,V) Clicking on the Create Vertical Scroll Bar (ALT+C,V) action will generate a vertical scroll bar control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Scroll Bar Control Styles dialog window. Refer to Figure 3-14. Scroll bars are controls that take mouse and keyboard input and generate notification messages to the owner window. Applications typically use scroll bars to scroll the contents of a client window. As shown, the Scroll Bar Control Styles dialog window consists of entry fields, combination boxes, check boxes, and pushbuttons. Some of these controls are located in group boxes and are noted in the following descriptions: Name Each scroll bar control has an identifying name. During program execution, the application's window procedure receives messages generated by the scroll bar in response to user input. The application responds to these messages by using this identifier of the scroll bar control. OS/2 Presentation Manager also has a set of functions which can manipulate the slider portion, and the active/inactive state of the scroll bar control, using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item, or window will be a sibling of the scroll bar currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, as well as the foreground, background, and border colors of the scroll bar control. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes that will set the style for the current control. Check boxes are considered to be set to on when a small 'x' appears in the check box. Each of the control styles will be defined as follows: Horizontal Scroll Bar This option is set to off by default. Setting this option to on will cause the created Vertical Scroll Bar to change appearance to a Horizontal Scroll Bar. Thumb Size This option is set to OFF by default. With this option set to on, the scroll bar slider will change its height to reflect the percentage of data visible and thus the percentage of the scroll bar that the slider should occupy. Auto Track ** currently undefined Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current scroll bar control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the scroll bar control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Scroll Bar Control Styles dialog window. If any of the options you have selected will result in a change to the scroll bar control appearance, Gpf will automatically update the control to reflect those changes. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Scroll bar Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the scroll bar control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Scroll bar control, as well as any children of this scroll bar. ═══ 2.2.10. PullDown Create Horz Scroll Bar ═══ Create Horizontal Scroll Bar (ALT+C,H) Clicking on the Create Horizontal Scroll Bar (ALT+C,H) action will generate a horizontal scroll bar control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Scroll Bar Control Styles dialog window. Refer to Figure 3-15. Scroll bars are controls that take mouse and keyboard input and generate notification messages to the owner window. Applications typically use scroll bars to scroll the contents of a client window. As shown, the Scroll Bar Control Styles dialog window consists of entry fields, combination boxes, check boxes, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each scroll bar control has an identifying name. During program execution, the application's window procedure receives messages generated by the scroll bar in response to user input. The application responds to these messages by using this identifier of the scroll bar control. OS/2 Presentation Manager also has a set of functions which can manipulate the slider portion and the active/inactive state of the scroll bar control by using the Name identifier as an argument to OS/2 API functions. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the scroll bar currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size as well as the foreground, background, and border colors of the scroll bar control. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (section 3.10) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes that will set the style for the current control. Check boxes are considered to be set to on when a small 'x' appears in the check box. Each of the control styles are defined as follows: Horizontal Scroll Bar This option is set to on by default. Setting this option to off will cause the created Horizontal Scroll Bar to change appearance to a Vertical Scroll Bar. Thumb Size This option is set to off by default. With this option set to on, the scroll bar slider will change its height to reflect the percentage of data visible and thus the percentage of the scroll bar that the slider should occupy. Auto Track ** currently undefined Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current scroll bar control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the scroll bar control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Scroll Bar Control Styles dialog window. If any of the options you have selected will result in a change to the scroll bar control appearance, Gpf will automatically update the control to reflect those changes. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Scroll bar Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the scroll bar control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Scroll bar control, as well as any children of this scroll bar. ═══ 2.3. ActionBar Object ═══ The Objects Pull-down Actions The Objects pull-down actions provide a list of object types (i.e. Icons, Bitmaps, Fonts, Message Boxes) that can be defined and then incorporated into your Gpf application definition. The available Objects pull-down actions will first be described in the following general overview, followed by a detailed descriptions of each: PULL-DOWN : review Object Message Box Object (ALT+B,M) The first action available in the Object pull-down is the Message Box Object. Message boxes provide an easy way to display simple messages without having to create dialog windows. A message box is easy to use and is appropriately used when an application requires a clearly defined response to a static message. Typically message boxes consist of an Icon, message text, and the response pushbuttons. An example of typical message box usage would be for prompting the user if they want to continue with an operation. The message box itself would have a YES and NO pushbutton for a response. Object Presentation Object (ALT+B,P) A Presentation Object allows you to define any combination of specific font, foreground, background, or border color as an object. This object can then be applied when creating other windows or controls when custom presentation is desired. For example, consider the use of different font sizes for menu pull-down actions, dialog window text, or list box items. Object Icon/Bitmap/Pointers Object (ALT+B,I) Icons, Bitmaps, or Pointers can also be incorporated into your application definition in different ways. Once defined as an object, they can be set onto the window as user drawn buttons, or can be used as the minimize icon. Object User Function Object (ALT+B,U) Although Gpf creates a substantial amount of source code, thereby increasing the productivity of the developer, it cannot generate code specific to the stratagem of the target application. With this pull-down action, you can define or even type in source code which will be incorporated into the Gpf definition. All objects are either accessible from a specific Control Style dialog window (e.g. Presentation), or via the ACTION button in the same dialog window. For example, when you use the Create Button pull-down action you can use a Icon/Bitmap/Pointer object as the button itself, or optionally associate the button click action with a user defined source code object. ═══ 2.3.1. PullDown Message Box ═══ Object Message Box Object (ALT+B,M) Message boxes provide an easy way to display simple messages without creating dialog windows. A message box is easy to use and is appropriately used when an application requires a clearly defined response to a static message. Typically, message boxes consist of an Icon, message text, and the response pushbuttons. An example of a typical message box would be for querying the user if they want to continue with an operation. The message box itself would have a YES and NO pushbutton for a response. Clicking on the Object Message Box Object (ALT+B,M) pull-down action will invoke the Message Box list dialog window. The Message Dialog window contains a list of all currently defined Message Box Objects for the current application definition. The following will describe how to add, edit, or delete Message Box objects: OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Message Dialog window. View/Modify Msg Box Click on this button (ALT+V) to display or modify any previously defined message box objects. The current selection in the Message Dialog list will be chosen for the operation. This will invoke the Message Box Object dialog window for modification of the selected object. The Message Box Object dialog window is described in the following section. Add Msg Box Clicking on the Add Msg Box (ALT+A) button will invoke the Message Box Object dialog window for defining the controls of the new message box object. Message Box Object Dialog Window The Message Box Object dialog window contains combination boxes, radio buttons, check boxes, multiple line entry fields, and pushbuttons to assist you in defining the message box object. Each of the controls will be described below. Options located in a group box will be noted. Text The Text control is a multiple line entry field where you enter the message text for the message box. The text entered here is displayed to the user when the message box is invoked during application runtime. The multiple line entry will automatically word wrap your line of text if it is greater then the width of this control. Reply Button The Reply Button is a combination list box with the available button combinations that will be displayed with your message box. The list of button combinations are standard message box responses and should be diverse enough to suit your needs. To select a button combination, either click on the selection with the mouse, or use the cursor keys to go up and down through the list. Default Button Group Box The Default Button group box contains a number of radio buttons that will allow you to define which button of the Reply Button combination will be set as the default button. Default buttons are drawn with a thick black border. Radio buttons are mutually exclusive; only one may be selected at one time. No 1 This option is set to on by default. This option designates the first button in the Reply Button group as the default button. No 2 This option is set to off by default. This selection will choose the second button in the Reply Button group as the default button. No 3 This option is set to off by default. This selection will choose the third button in the Reply Button group as the default button. If a default button position is chosen, and the Reply button group does not contain as many buttons, the first button will be used as the default button. For example, if you choose the YES and NO Reply Button group, and indicate that the third button will be the default, then YES will default. Icon Group Box The Icon group box contains a number of radio buttons which allow you to choose an icon to be displayed in the current message box object. When you change a selection from this group, an icon representing the selection will be displayed in the lower right corner of the Icon group box. Radio buttons are mutually exclusive; only one may be selected at one time. No Icon This option is set to off by default. When selected, the defined message box will not have an icon displayed during runtime. Warning This option is set to off by default. The Warning icon displays an exclamation point ("!") in the defined message box. Information This option is set to on by default. The Information icon displays the letter ('i') in the defined message box. Error This option is set to off by default. The Error icon displays a stop sign in the defined message box. Question This option is set to off by default. The Question icon displays a question mark ("?") in the defined message box. Alarm Option Group Box The Alarm Option group box contains a number of radio buttons which allow you to sound an audible tone upon creation of the message box object. When the message box is displayed, during application runtime, the tone will sound. Note that certain selections from the Icon group box will set tones of different frequencies. These will be identified in the following text. No Alarm With this selection set to on, no tone will be emitted with the message box appearance. This option is automatically selected when the No Icon option is chosen from the Icon group box. Note This option will cause a high toned beep to sound when the message box is displayed. Setting either Information or Question icons from the Icon group box will automatically select this option. Warning This option will cause a beep (an octave lower in pitch than the Note beep) to be emitted when the message box is displayed. Setting the Warning icon from the Icon group box will automatically select this option. Error This option will cause a beep (an octave lower in pitch than the Warning beep) to be emitted when the message box is displayed. Setting the Error icon from the Icon group box will automatically select this option. Modal Group Box The Modal group box contains two radio buttons that will set the modal style of the message box. Appl This option is set to off by default. When the Appl modal option is selected, the message box must be dismissed before input is allowed into any other window in the owner application. Other applications running under Presentation Manager may be accessed without responding to this message box. System This option is set to on by default. The System modal option requires that the message box is dismissed before any other application running under Presentation Manager can be accessed. Options Group Box The Options group box contains two check boxes that allow you to set additional message box controls. Help This option is set to OFF by default. With this option set to on, a "Help" button will be added to the existing Reply Button combination. This is to provide the user with extended help information on why or what the message box may be indicating. Moveable This option is set to ON by default. This option provides a title bar to the message box. This allows the user to move the message box around the Presentation Manager desktop by dragging it with the mouse. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed any changes in the Message Box Object dialog window. If any of the options you have selected will result in a change to the message box appearance, you will have to run the Animate mode of Gpf to view the changes. Refer to the Toolkit Pull-down section for information on the Animate function (Chapter 3.10). ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Scroll bar Control Styles dialog window, you will be able to define the general help text for your message box. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key or "Help" button when you finally run your compiled application. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the message box window. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this message box window, as well as any children of the message box. ═══ 2.3.2. PullDown Presentation ═══ Object Presentation Object (ALT+B,P) Clicking on the Object Presentation Object (ALT+B,P) pull-down action will invoke the Presentation Parameter List dialog window. A Presentation Object allows you to define any combination of specific font, foreground, background, or border color, as an object. This object can then be applied when creating other windows or controls when a custom presentation is desired. For example, consider the use of different font sizes for menu pull-down actions, dialog window text, or list box items. The Presentation Parameter List dialog window contains a list of all currently defined Presentation Objects for the current application definition. Once defined, such objects can be invoked from the 'Presentation' list boxes contained in most control\dialog definition screens. The following will describe adding, editing, or deleting Presentation objects: OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Presentation Parameter List dialog window. View/Modify Click on this button (ALT+V) to display or modify any defined presentation objects. The current selection in the dialog list will be chosen for this operation. This will invoke the Presentation Object Parameters dialog window for modifying the selected object. The Presentation Object Parameters dialog window is described in the following section. Add Clicking on the Add (ALT+A) button will invoke the Presentation Object Parameters dialog window for defining the controls of the new presentation object. Presentation Object Parameters Dialog Window The Presentation Object Parameters dialog window contains combination boxes, entry fields, and pushbuttons to assist you in defining the presentation object. Each of the controls will be described below: Name Each presentation object has an identifying name. During the Gpf edit session, when you are setting a presentation object to a particular window, menu, or other control, this name will appear in the Presentation combination box of the particular control setting dialog. By default Gpf will insert a Name for you: PresParmsx where x is the sequential number of the next presentation object to be defined. Generally speaking, you should probably edit this field to a more useful name, such as "BlueListBox" or "LargeRedFont". Font Name Size The Font Names Size control is a combination box which will list all the different sized fonts that Gpf finds installed on your system. You can select a font and font size for the current presentation object from this list. To display the list with the mouse, click on the downward pointing arrow to the right of the entry field portion of the combination box. While holding the mouse button down, drag the highlight selector through the font names in the list. Release the mouse button to select the current highlighted font. To display the list with the keyboard, first use the TAB key to move the focus to the Font Named Size combination box, then press ALT+DOWNARROW. You can then use the keyboard cursor keys to move the highlight selector through the list. To make a font selection, use the RIGHTARROW key when the highlight selector is on the font of your choice. As you move the highlight selector, a sample of the font will be displayed in both the Font Sample and Overpaint display windows. These windows are located at the bottom of the Presentation Object Parameters dialog window. If the list of fonts is being displayed you will not be able to view the Overpaint display window. Background Color The Background Color control is a combination box which lists the available background colors available for the presentation object. To list the available background colors with the mouse or keyboard, follow the instructions as explained in the Font Named Size description above. As you move the highlight selector, a sample of the background color will be displayed in the Font Sample display windows. Foreground Color The Foreground Color control is a combination box which lists the available foreground colors available for the presentation object. To list the available foreground colors with the mouse or keyboard, follow the instructions as explained in the Font Named Size description above. As you move the highlight selector, a sample of the foreground color will be displayed in the Font Sample display windows. Background Hilite Selects the background color attribute for a selected item. Foreground Hilite Selects the foreground color attribute for a selected item. Background Disabled Selects the background color attribute for the disabled state of an item. Foreground Disabled Selects the foreground color attribute for the disabled state of an item. Border Color The Border Color control is a combination box which lists the border colors available for the presentation object. To list the available border colors with the mouse or keyboard, follow the instructions as explained in the Font Named Size description above. As you move the highlight selector, a sample of the border color will be displayed in both the Font Sample display windows. Font Sample Display The Font Sample Display window is where the presentation object definition can be displayed. This enables you to test a multitude of selections before saving the Presentation Object definition. Overpaint Display The Overpaint Display window is where the presentation object definition can be displayed. This enables you to test a multitude of selections before saving the Presentation Object definition. ═══ 2.3.3. PullDown Icon Bitmap Pointer ═══ Object Icon/Bitmap/Pointer Objects (ALT+B,I) Icons, Bitmaps, or Pointers can be incorporated into your application definition. Once defined as an object they can be set onto the window in the form of user drawn buttons, static text controls, or even used as the minimize icon. Clicking on the Object Icon/Bitmap/Pointer Object (ALT+B,I) pull-down action will invoke the Icon/Bitmap/Pointer list dialog window. The Icon/Bitmap/Pointer List dialog window contains a list of all currently defined Icon/Bitmap/Pointer Objects for the current application definition. The following will describe adding, editing, or deleting these objects: OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Icon/Bitmap/Pointer List dialog window. View/Modify Object Click on this button (ALT+V) to display or modify any pre-defined Icon/Bitmap/Pointer objects. The current selection in the list will be chosen for this operation. This will invoke the Icon/Bitmap Object dialog window for modifying the selected object. The Icon/Bitmap Object dialog window is described in the following section. Add Object Clicking on the Add Object (ALT+A) button will invoke the Icon/Bitmap Object dialog window for defining the controls of the new object. Icon/Bitmap Object Dialog Window The Icon/Bitmap Object dialog window contains radio buttons, entry fields, and pushbuttons to assist you in defining the Icon/Bitmap/Pointer object. Each of the controls will be described below. Options located in a group box will be noted. Name Each Icon/Bitmap/Pointer object has an identifying name. During the Gpf edit session, when you are setting an Icon/Bitmap/Pointer object to a particular window, menu, or other control, this name will appear in the Icon/Bitmap/Pointer combination box of the particular control setting dialog. By default Gpf will insert a Name for you as: Iconx where x is the sequential number of the next Icon/Bitmap/Pointer object to be defined. File Name The actual file that contains the icon, bitmap, or pointer needs to be identified to Gpf. The File Name entry field allows you to type in the name of the file created by the Microsoft or IBM Icon Editor, or by a similar bitmap creation utility. File Type Group Box The File Type group box contains a number of radio buttons for indicating what type of object is being defined. The options will be described below. Radio buttons are mutually exclusive; only one can be selected at a time. Icon This option is set to on by default. This option indicates that you are identifying an Icon drawing as the current object. Gpf will search for the file: filename.ICO where filename is the name of the file as specified in the File Name entry field. Bitmap This option is set to off by default. This option indicates that you are identifying a Bitmap drawing as the current object. Gpf will search for the file: filename.BMP where filename is the name of the file as specified in the File Name entry field. Pointer This option is set to off by default. This option indicates that you are identifying a Pointer drawing as the current object. Gpf will search for the file: filename.PTR where filename is the name of the file as specified in the File Name entry field. Bitmap, pointer, and icon files are closely related. You may specify an icon to be used as a pointer object and vice-versa. You may also define an icon or a pointer as a bitmap object. Path The Path control is an entry box where you must type in the full path to the target icon, bitmap, or pointer file. Gpf will search the path for the above described filename and extension. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed the current definition in the Icon/Bitmap Object dialog window. This will return you to the Icon/Bitmap/Pointer List dialog window, where you will be able to view the graphic object as it will appear in your application. CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to exit the Icon/Bitmap Object dialog window without saving any changes made. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Icon/Bitmap/Pointer object. Gpf will prompt you with a message to confirm that you want to destroy this object, as well as any children of the object. ═══ 2.3.4. PullDown User Function ═══ Object User Function Object (ALT+B,U) User objects are defined source code statements or references to external library functions that can be embedded into the Gpf application definition. This provides a 'safe' method for inserting source code into the definition. Source code that is entered directly into the Gpf generated source files will be overwritten the next time a Toolkit Generate action is performed. For a detailed description of the Gpf source generation function, refer to the Toolkit Pull-down Actions section (Chapter 3.8) in this document. Clicking on the Object User Function Object (ALT+B,U) pull-down action will invoke the User Function Object List dialog window. The User Object Function List dialog window contains a list of all currently defined User Objects for the current application definition. The following section will describe adding, editing, or deleting these objects. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the User Object Function List dialog window. View/Modify Click on this button (ALT+V) to display or modify any defined user defined source or function objects. The current selection in the User Function list will be chosen for this operation. This will invoke the User Function Editor dialog window for modification of the selected object. The User Function Editor dialog window is described in the following section. Add Clicking on the Add (ALT+A) button will invoke the User Function Editor dialog window for creating and editing the source code function object. The User Function Editor Dialog Window The User Function Editor dialog window contains an entry field, a multiple line entry field, and pushbuttons that allow you to define and type in source code comprising the User Function object. The User Function editor is not meant to replace high level program editors or word processors, but to provide you with a convenient way to insert source code functions into your application definition. Name Each User Function object has an identifying name. During the Gpf edit session, when you are applying a User Function object to a particular action, you would associate the action with this identifying object name. For information on associating User Function objects with actions, refer to the Common Dialog Window section (section 3.10). User Function Multiple LE Edit Box Below the Name entry field is the User Function edit box. This is where you can enter either a reference to a pre- existing function, or raw source code statements. Whatever statements are entered here will be generated into the source code generated from your application definition. Modifying any source statements here, as opposed to making changes in the actual source file, will insure that Gpf will not overwrite these statements. Gpf will overwrite any statements entered directly into the source code file because your additions will be unknown to both Gpf and the definition file. Ideally, you should save making modifications directly to the source code as the last step you perform before actual compilation. The edit box itself contains text editing features. Although they are not as extensive as a specialized programmers editor, it will sufficiently facilitate statement coding. Besides the basic features provided (i.e. Delete, Insert, etc...) the following controls are available: Cut And Paste - The standard cut and paste operations from the Presentation Manager clipboard are supported which allow you to copy source code from another file into the Gpf edit box. Tabs- Tab characters are supported for the purpose of indenting source code statements. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed any additions or changes to the User Function Editor dialog window. If any of the options you have selected will result in a change to the application definition file, you will have to run the Toolkit Generate action in Gpf to view the changes that occur in the target source code. Refer to the Toolkit Pull-down section (section 3.8) for information on the Generate function. CANCEL Clicking on the CANCEL button, or pressing the ESC key will signal Gpf that you want to dismiss the User Function Editor dialog window without retaining any changes you have made. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove this User Function object. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this object, as well as any children of the object. ═══ 2.3.5. PullDown Find PM Cntrol ═══ Object Find PM Control (ALT+B,F) The Gpf Find PM Control function is a control management utility. With the Find PM Control dialog box you can search for or destroy controls (e.g. Buttons, List Boxes, Icons) defined in windows. Clicking on the Find PM Control (ALT+B,F) pull-down action will invoke the Search Object dialog window. All currently visible Gpf application windows will be dismissed from view when this dialog box is invoked. Search Object Dialog Window The Search Object dialog window contains a list of all windows defined in the current application. For each defined window there is also a list of controls associated with the window. The following is a description of each of the available options in the dialog window: Window List Box The Window list box contains a list of all windows created in the current application definition. By default the Main Window, or whatever you may have named it, will always be listed first in this list. Selecting a window from this list will cause Gpf to search through and display any of the controls or objects, associated with the selection in the Object list box. Object List Box The Object list box lists all of the controls and objects associated with the currently selected window in the Window list box. SEARCH Clicking on the SEARCH button will cause Gpf to search for and display the window that contains the currently selected object. If found, the window owning the object will be brought to the foreground, and the target object will be highlighted. This will also dismiss the Search Object dialog window. CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to dismiss the Search Object dialog window. DESTROY Clicking on the DESTROY button (ALT+D), will cause Gpf to remove the currently selected object. You will first be prompted to confirm that you want to destroy the object as well as any children of the object. ═══ 2.4. ActionBar Options ═══ The Options Pull-down Actions The Options pull-down actions allow you to modify the general appearance and operation of your Gpf session, as well as the current application definition. The available Options pull-down actions will be given a general overview, followed by detailed descriptions of each. PULL-DOWN : review Options Grid (ALT+O,G) Gpf will allow you to set an alignment grid pattern onto windows in your current Gpf application definition. This option is useful in insuring that controls within windows are aligned with each other. Options View Grid (ALT+O,V) The Options View Grid will make the grid specified in the Option Grid pull-down visible on the application window. Options View Tracking (ALT+O,K) The View Tracking option, when ON, will display a small window in which size and location coordinates for a selected object appear. Options Group Move (ALT+O,M) With the Options Group Move pull-down action, you can move a group of controls within the application window all at once. This is helpful for keeping the relative distances between two or more controls constant. Option Bypass CUA (ALT+O,Y) When your application deviates from strict CUA compliance, this option will allow you to suppress the Gpf CUA warning messages. By default, Gpf will check each of your control definitions for CUA conformance. Option Statistics (ALT+O,S) With this option, Gpf will display a number of statistics about your current application definition as well as a resource usage graph. Option Clean Desktop (ALT+O,D) All the windows in your current application definition can be hidden from view by selecting this option. ═══ 2.4.1. PullDown Grid ═══ Options Grid (ALT+O,G) The Options Grid pull-down action will allow you to set an alignment grid for windows in the current application definition. This is useful for insuring that all controls created are aligned properly within the target window. Clicking on this option will invoke the Grid Values dialog window. Please refer to Figure 3-24 for the following dialog control descriptions: The Grid Values Dialog Window The Grid Values dialog windows contain a number of entry fields and pushbuttons that will allow you to set the grid dimensions for your application windows. When placed on the window, Gpf will automatically align a control to the nearest grid coordinates. This is often referred to in other software packages as a "snap to" grid. For the following grid settings, Gpf will allow a maximum dimension size of 5. All measurements are in relative increments, and the settings entered here will be reflected in all current application window definitions. Horizontal (x) The default is one (1) increment. To have the horizontal grid in your application window spaced by more than 1 increment, enter the number in this entry field. The maximum increment is 5. Vertical (y) The default is one (1) increment. In this entry field you can set the number of increments that you would like the vertical grid set to within your application window. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed any changes in the Grid Values dialog window and are ready to exit. CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to exit the Grid Values dialog window without saving any changes made. HELP This is the standard gateway button, permitting entry into the full HELP system. ═══ 2.4.2. PullDown View Grid ═══ Options View Grid (ALT+O,V) The Options View Grid pull-down will cause the grid line pattern in your application windows to be displayed. The increments defined in the Grid Values dialog window are used for setting the grid width and height. Clicking on the View Grid pull-down action does not invoke a dialog window, but sets the viewing state to on or off. The state of the Grid View pull-down will be indicated by a check mark for on, or no check mark for off. When the View Grid pull-down action state is on, all of the windows in your application definition will display the grid pattern. ═══ 2.4.3. PullDown View Tracking ═══ Options View Tracking (ALT+O,K) If checked, the option is active. A small window will display, showing two sets of data for a selected object: o Xxxxx, Yyyy: the lower left corner coordinates of the object, as measured in absolute coordinates of the parent object. For objects owned by the DESKTOP, the (0,0) point is the lower left screen corner, with positive Y in the vertical direction, positive X in the horizontal. All other objects are measured with respect to the lower left corner of their parent, also the (0,0) origin. o CXxxxx, CYyyyy: the current size of the object, measured with respect to its own lower left corner. Positive directions are as above. This pulldown option is a toggle, and is selected\de-selected with each successive menu invocation. ═══ 2.4.4. PullDown Group Move ═══ Option Group Move (ALT+O,G) With the Options Group Move pull-down action (ALT+O,G), you can move an entire group of controls within the application window. This is helpful for keeping the relative distance between two or more controls constant. Clicking on the Group Move pull-down action does not invoke a dialog window, but instead sets the Group Move state to on or off. The state of the Group Move pull-down will be indicated by a check mark for on, or no check mark for off. Setting and Moving a Group Click on the Group Move pull-down action to set the state to on. Once this is done, the first control you select in the window will be the leading object for the group. After selecting the leading object, click on the other controls you would like included in this group move. When you have completed forming the group, select the group leading object and move it on the window by holding down the mouse button and dragging the object. When you release the leading object, all members of the group will reposition themselves, maintaining the same relative distances that existed prior to the move. Click on the Group Move pull-down again to set the state to off. ═══ 2.4.5. PullDown Bypass CUA ═══ Option Bypass CUA (ALT+O,Y) By default, Gpf will check each of your control definitions for CUA compliance. If Gpf finds that you have deviated from the CUA guidelines while creating or modifying an object or control in your application definition, a warning message box will be displayed informing you of impending deviation. Gpf will allow you to selectively bypass CUA compliance during the instances when it detects an errant control. A message box will appear requesting and answer for bypassing this control only. Through the Option Bypass CUA pull-down action, Gpf will allow you to set CUA checking off for the entire Gpf session. Clicking on the Bypass CUA pull-down action (ALT+O,Y) does not invoke a dialog window, but sets the bypass state to on or off. The state of the Bypass CUA pull-down will be indicated by a check mark for on, or no check mark if CUA checking is in effect. ═══ 2.4.6. PullDown Statistics ═══ Option Statistics (ALT+O,S) Each time you create a window, control, or object, you are using some of the available Presentation Manager resources. Under versions 1.1 and 1.2 of OS/2 Presentation Manager, there are a limited number of resources available. Gpf keeps track of how many resources of each type are being used by your current application definition. With the Option Statistics (ALT+O,S) pull-down, you can view the current state of resource consumption. Clicking on the Option Statistics pull-down action (ALT+O,S) will invoke the Statistics Dialog Window. This dialog window, and the resource indicators are described as follows: Statistics Dialog Window The Statistics dialog window is a read-only group of identifiers which indicate the current state of application definition resource usage. As a read-only dialog window, you will not be able to modify any of the values displayed. This dialog is for informational purposes only. Here are each of the identifiers: Window This indicates the number of windows or dialog windows currently defined for the application. By default this value will be 1 for the main window. Control This indicates the number of controls (i.e. Buttons, Static Text, List Boxes, etc.) currently defined in the application. Menu This indicates the total number of menu elements defined for the current application. Menu elements include both the high level menu bar items, as well as any pull-down or submenu items. Help This indicates the number of Entry Help descriptions defined for the current application. SQL This indicates the number of SQL associations defined in the current application. A SQL association is where you associate a control (e.g. List Box, Combobox, Entry Field) with an SQL table.column name. Action This indicates how many actions have been defined for any existing windows, menus, or other controls in the current application. Source This field indicates the number of source code files that have been identified in the current application. When you create a new window or dialog window, you have the option of having the source code generated to a file different than the main source file. Threads This indicates the number of threads that have been identified in the current application. When you create a new window or dialog window, you have the option of creating a separate thread of execution for each one. Icon Bitmap This indicates the number of Icon/Bitmap/Pointer objects that have been defined in the current application. Message Box This field indicates the number of Message Box objects that have been defined in the current application. Presentation This field indicates the number of Presentation objects that have been defined in the current application. User Text This field indicates the number of User Function objects that have been defined in the current application. Resource Usage Graphic The Resource Usage graphic is a bar graph showing the ratio of the amount of resources used to the total number of resources available. For OS/2 1.2 Extended Edition, the total number of available resources is set at 8192. The resource usage field is calculated by: THE_NUMBER_OF_USED_RESOURCE / 8192 where THE_NUMBER_OF_USED_RESOURCE is the sum total of the resource indicators. The Resource Usage graph itself is broken into 25% quarters, where the current resource usage will be graphed. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you are through looking at the Statistics dialog window. ═══ 2.4.7. PullDown Clean Desktop ═══ Option Clean Desktop (ALT+O,D) The Clean Desktop pull-down action will hide all visible windows in the current application. To display a hidden window, use the Window pull-down to select the desired window. ═══ 2.5. ActionBar Window ═══ The Window Pull-down Actions The Window pull-down action allows you to selectively choose which application windows or dialog windows are visible on the screen. PULL-DOWN : review The Window pull-down action (ALT+W) is unlike the other pull-downs in Gpf. The pull-down actions, in the Window pull-down, are dynamically made up of the windows, or dialog windows, defined in the current application. With the Window pull-down you can select a window, from the pull-down list, to either display or hide from view. Windows that are currently visible on the desktop are marked with a check next to the window name, those windows without the check mark are hidden. The window names used in the following example are the default names assigned to the windows by Gpf. Assume that your current application contains two windows: MainWindow and Window1. When you click on the Window pull-down, or select it with (ALT+W), Gpf will display the list directly below the menu item. Figure 3.26 indicates that the MainWindow is visible on the screen, as can be seen by the check mark next to the name of the window, and hopefully the window itself is visible on the screen. Window1, on the other hand, is hidden as indicated by the lack of the check mark. Click on Window1 in the Window pull-down to bring it to the foreground as well. When displaying or hiding windows with the Window pull-down, you must remember that if you select a window to make it visible, and the window parent is invisible, then it too will be brought to the foreground. Furthermore, hiding the parent window of one or more children windows, will hide the children as well. ═══ 2.6. ActionBar Toolkit ═══ The Toolkit Pull-down Actions The Toolkit Pull-down Overview The Toolkit pull-down provides a set of actions which allow you to test, run a real time interpreter test, generate source code, or compile the current Gpf definition. As with other Gpf pull-down actions, you can either select the action with a mouse click, or by using the (ALT+X,Y) keyboard combination, where X is the underlined letter of the menu bar identifier and Y is the underlined letter of the pull-down action that you want to execute. Each of the Toolkit pull-down actions will be generally described, and then will be covered in detail in the order in which it they appear on the pull-down. Toolkit Animator (ALT+T,A) The Toolkit Animate pull-down action will cause Gpf to execute the Gpf real-time interpreter for your current application definition. This is a useful for doing a high level test of actions, menus, etc., before generating the actual source code. Toolkit Generate (ALT+T,G) The Toolkit Generate pull-down action will cause Gpf to invoke the Gpf Source Generator for your current application definition. Header files, source files, resource statements, and an application make file will be generated in the current working directory. Clicking on this option will: - invoke a verification window, asking if you wish to save the current definition. You must answer YES in order to proceed. - open an OS/2 session and run GPFGENER, the utility which translates the .ORC file into the various sources and helper files. - close your definition file prior to running GPFGENER. This is done in order that GPFEDIT can release all locks on the current definition. This implies that you will need to re-open the file when the generate phase is finished; type EXIT in the OS/2 window and you return to the initial GPFEDIT screen as though just invoked. Toolkit Compile (ALT+T,C) The Toolkit Compile pull-down action is a two step process. The first step is the generation of the source code for the current application, the second is the running of the make file and creation of the application executable file. Clicking on this option will cause essentially the same sequence of steps as invoking the Generator, including the closing of all current files. You will need to re-load (Open) the working file once the compilation phases are complete. Toolkit Test (ALT+T,T) The Toolkit Test pull-down action will allow you to perform rudimentary testing of the current application definition. Certain functions within your application will not be tested, such as SQL calls, with this option. For a more thorough testing of the application, you may consider the Toolkit Animate pull-down action. ═══ 2.6.1. PullDown Animator ═══ Toolkit Animator (ALT+T,A) Clicking on the Toolkit Animator pull-down action will cause Gpf to execute the Gpf real-time interpreter (Animator) for your current application definition. When the Animator is invoked, the Gpf edit window will minimize itself to an icon at the bottom of the Presentation Manager desktop. You are still able to use the Gpf editor while running the Animator, although any changes made to the application definition will not be reflected in the Animator. This is useful if you consider the Animator process to be a debugging step. If you identify a problem, or an incorrect action, you can immediately switch to the Gpf editor to make your modifications. The Animator is actually a separate executable file, GPFRUN.EXE, that uses the current definition in memory as a source for the Animator displays and actions. For information on using GPFRUN.EXE with stored Gpf definition files, refer to the Gpf Utility Files section of this documentation. The Animator runs the application as you have defined it, any actions that display or hide other windows, message boxes, fonts, etc., will work as expected. If actions occur that were not expected the Animator is simply proving itself as a debugging tool; it only executes what you have defined to execute. There are a few exceptions to this rule, as described below. Restrictions with Animation Although the Animator is intended to run your current definition as it would be run as the final stand alone application executable, there are a few restrictions that apply. Help Functions Any help text that has been defined for windows, menu items and pull-downs, controls, etc., will not be run from within the Animator. Currently the only way to test the help actions is by running a compiled version of the definition. Informational messages, on the other hand, will be displayed during the Animator run. User Function Objects If you have associated a User Function object as an action to a window control, menu item, etc., the Animator will not run the object. Currently the only way to test the User Function object is by running a compiled version of the definition. Exiting The Animator When you have completed your testing of the application, you can exit the Animator. This can be done in a number of ways: Specify an Exit Menu Option The standard main window creates a menu bar by default. The menu bar consists of a File and Help pull-down. The File pull-down contains an Exit pull-down action that has a Quit Application associated with its action. If you run the Animator and click on the Exit pull-down action, you will signal the Animator to stop running the application and exit the system. If you have changed the standard menu bar it is a good idea to have an Exit action located somewhere in your application definition. Using the System Menu Close Option The standard main window creates a System Menu. This menu is actually hidden in the top left corner of the main window, underneath the bitmap that is visible. This menu contains a Close pull-down action that, when clicked or selected with the keyboard, will signal the Animator to stop running the application and exit the system. Worst Case If your application does not contain an Exit option, and you have indicated not to display the System Menu, you can still exit the Animator. The OS/2 Presentation Manager contains the Task Manager. This is a list box of applications that are currently running on the system. From this list box you can either Select and application to 'jump' to, or end and remove a given application from the system. You can use the Task Manager to exit the Animator by highlighting the application name in the Task Manager list box and choosing the End Task option. ═══ 2.6.2. PullDown Generator ═══ Toolkit Generate (ALT+T,G) The Toolkit Generate pull-down action will cause Gpf to invoke the Gpf Source Generator for your current application definition. Before Gpf actually runs the Generator, you will be prompted to save the current application definition to its definition file. This happens regardless of any changes made, or not made, to the current application. Unlike the Animator, the Generator works with the application file, not the in memory definition. Unlike the Animator pull-down action, the Generator causes the Gpf editor to close the current application definition file, and remove it from memory. This is because the Gpf editor locks the definition file while in memory and other applications cannot access the file. This Generator is actually a separate executable file, GPFGENER.EXE, that will use the definition file as a source for creating the source, header, resource, and make files for the application. For information on using GPFGENER.EXE with stored Gpf definition files, refer to the Gpf Utility Files section of this documentation. Generator Processing Steps The Generator actually performs two steps when generating the source for the application definition; generation and precompilation. Generation The Generation step for source file generation pre-allocates the files that will eventually be used in compiling and linking your application. If the files created in this step are already present when you run the Generator, they will be overwritten. This insures that you will be compiling the most up to date version of your application. The files generated during this step will be described. For the file descriptions, filename is the name of the source file indicated in the Program Properties dialog window for your application definition. File Name Description FILENAME.C or FILENAME.SQC These files are where the actual source statements are written to. If your application definition does not contain any SQL Database associations the filename extension will be ".C", else the ".SQC" extension is used. If you have identified multiple source files in your application definition, the Gpf Generator will create a 'C' or 'SQC' file for each. FILENAME.DEF This file is the application definition file. A definition file is read during the linkage phase of the application build. This file contains information about the operating system environment, stack sizes, and callable entry points for your application. Consult your compiler, or linker, documentation for more information on application definition files. FILENAME.MAK This file is the make file definition that automates the process of compiling and linking your application. Make files typically contain rules and definitions that control the compiling and linking stages of an application creation. Consult the OS/2 toolkit documentation for more information on make files. FILENAME.CMD This file contains the OS/2 command file statements that further automate the creation of the application. Statements within this file will setup any needed environmental information as well as invoking the proper make executable for the generated make file. Consult the OS/2 Command reference for more information on command files. FILENAME.SQH This file contains a list of 'C' storage definitions for each field in the accessed SQL database table. The storage definitions are derived from the SQL stored table definitions. FILENAME.EXT This file contains a list of shared function prototypes and external global definitions. FILENAME.RC This file contains the resource definitions (e.g. windows, menus, buttons, etc. ) that are used by your application. This file is processed by the resource compiler found in the OS/2 toolkit utilities. FILENAME.IDS This file contains a list of defines for names, as defined in the Name field of the Control dialog windows for each window and control. The identifiers themselves are actually numeric values, the define allows you to reference these identifiers by name. FILENAME.IPF This file contains the help text, as defined in the Entry Extended Help fields during the application definition. The file is processed by the help compiler found in the OS/2 toolkit utilities. Precompilation The precompilation step for the Generator does not create any additional files, but uses the existing files for filling in respective information. The precompilation step generates the actual 'C' source statements, and optionally SQL preprocess statements, as found in the application definition file. As well as source statements, any id definitions, resource statements, and User Defined objects are created as well. Finally, the Generator places the relevant make and command file statements in their respective files as listed above. ═══ 2.6.3. PullDown Compiler ═══ Toolkit Compiler (ALT+T,C) You can compile an application definition without exiting the Gpf edit session, or opening another OS/2 window or full screen session. When you click on the Toolkit Compiler (ALT+T,C) action pull-down, Gpf will search for the FILENAME.CMD file to execute, where FILENAME.CMD is the name of the OS/2 command file generated with the Toolkit Generator pull-down action. The command file is loaded and executed. Statements within the command file set the appropriate environmental path and directory statements, as well as invoking the make utility for the FILENAME.MAK file. It is important to remember that if you change your application definition during the Gpf edit session, you should regenerate the source files with the Toolkit Generator pull-down action before compiling. During the 'building' of your application ( i.e. compilation, linking, etc. ) you are able to view the progress with an OS/2 session window. Any errors that the make utility, compiler, linker, resource compiler, or help compiler generate will be displayed in this window. ═══ 2.6.4. PullDown Test ═══ Toolkit Test (ALT+T,T) The Toolkit Test pull-down action will allow you to perform rudimentary testing of the current application definition. When this action is selected, Gpf will disable all of its functions from use. Unlike the Animator step, you are unable to modify any of the definitions during the Test step. This is because the Gpf editor is running your application definition. Restrictions with Toolkit Test The Toolkit Test is far more restrictive in the actions allowed during the test mode. In general, all actions associated with a window and control are disabled. During test mode, you can test the effect of clicking on menu lists, buttons, and controls. Exiting Toolkit Test To exit test mode, click on the Toolkit Test pull-down action (ALT+T,T). ═══ 2.7. ActionBar Help ═══ The Help Pull-down Actions The Help Pull-down Overview The Help Pull-down provides you with online help information about the Gpf editor. This pull-down is specific to Gpf, not the application being defined within the editor itself. Help is always available. You can obtain help at any time by pressing the F1 key. When you request help, a help window is displayed. The kind of help you get is determined by what you selected before you requested help or what task you were doing when you requested help. If the selection cursor is on a menu bar choice, a pull-down action choice, or on a field in a dialog window, the help will specifically relate to that choice or field. To get help for a menu bar choice or a pull-down action choice, highlight the choice and then press F1. To get help for a field, click on the field (or press the Tab key to move the cursor to the field). Then, press F1. If the cursor is already on a field when the dialog window is displayed, simply press F1 to obtain help on that field. Within some help windows, certain words or phrases are highlighted. To obtain additional information about a word or phrase, double-click on the word or phrase. (Or press the Tab key until the cursor is on the word or phrase, and then press ENTER ). The associated Help pull-down actions for the Help Pull-down includes these additional help choices: Extended help Keys help Help index Each of the available actions will be briefly described. Extended Help (ALT+H,E) Extended help provides general information about the Gpf Editor. Click on Extended help (ALT+H,E) from the Help pull-down. (Or select Extended help from the pull-down and press ENTER) You can also press the F2 key from within a Help window. Keys Help (ALT+H,K) Keys help displays a list of key assignments for the application you are using. Click on Keys help (ALT+H,K) from the Help pull-down. (Or select Keys help from the pull-down and press ENTER ) You can also press the F9 key from within a Help window. Help Index (ALT+H,I) Help index provides a list of help topics. You can also press the F11 key from within a Help window. To search the index list, do the following: Click on Search from the Services pull-down. (Or select Search from the pull-down and press the ENTER key.) Type the word or phrase to be searched for in the Search for field. Click on the Index radio button (or press the Tab key to move the cursor to the radio button). Click on Search (or select it and press the ENTER key.) Help Contents (ALT+H,C) When invoked, the Help Contents will display a list of topics which discuss various features of the Gpf application. To search the contents list, do the following: Click on Search from the Services pull-down. (Or select Search from the pull-down and press the ENTER key.) Type the word or phrase to be searched for in the Search for field. Click on the Index radio button (or press the Tab key to move the cursor to the radio button). Click on Search (or select it and press the ENTER key.) Help About (ALT+H,A) Clicking on Help About (ALT+H,A) will display the Gpf about dialog box. This dialog box is used to view general information about the author and copyright information. ═══ 3. Dlg Action On ═══ This screen lists the possible actions the current control is capable of performing or reacting to. Select one of the listed items and press the View\Modify... key to enter the definition screens. ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... ═══ 3.1. Dlg Action On ListBox ═══ This listbox contains the list of actions which the current object reacts to (or can perform.) Select the action for which you want to define some processing, then press on the View\Modify.. key. The subsequent dialogue allows you to define and enter as many procedures as required by your application for the activation of the control in the currently defined (by this screen) action. ═══ 3.2. Dlg Action on OK ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... ═══ 3.3. Dlg Action On Modify ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... ═══ 4. Dlg Button ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Button (ALT+C,B) Clicking on the Create Button (ALT+C,B) action will generate a push button control item and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Button Control Styles dialog window. Refer to Figure 3-9. There are four main types of buttons: push buttons, radio buttons, check boxes, and three-state check boxes. The appearance and behavior of button controls is determined by the style of the button. There is also the user defined, or 'owner drawn' button which allows you to place a bitmap or icon on the window which will send notification messages to the application. The owner of the user defined button is responsible for the appearance of the button. As shown, the Button Control Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and push buttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each button control has an identifying name. During program execution, the application's window procedure receives messages generated by the button in response to user input, either from the mouse or the keyboard. The application responds to these messages by using the identifier of the button control. Sibling The Sibling control is a combination box which displays, and allows you to choose which control item or window is a sibling of the item currently being defined. Text The Text control is an entry field where you specify the text that will appear inside, or next to, the button. Typically you can set a mnemonic character in the text so the user can select the button with the keyboard. For example, a button with the following text: ~Select Me would allow the user to select the button by pressing ALT+S. Use the tilde character (~) to identify the mnemonic character. Presentation The Presentation control is a combination box which displays, and allows you to choose, a presentation object for setting the font size, foreground and background, and border colors of the button control. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of radio buttons that define what type of button the newly created control is. Radio buttons in a group box are mutually exclusive; only one can be set to on in the group at one time. Each of the control styles will be described: Radio Button This option is set to off by default. Radio buttons are typically used in a mutually exclusive group. The application is responsible for responding to state changes (i.e. button clicked messages) for this button as well as other radio buttons within the group. Auto Radio Button This option is set to off by default. This style is similar to the Radio Button, but the state changes are handled automatically by the system. The state of the button can be checked with OS/2 Presentation Manager API calls. Check Box This option is set to off by default. A check box is a small square that is empty when it is not selected, and contains a small 'x' when selected. The text for the check box is displayed to the right of the small square. As with the Radio Button, the owner application window is responsible for changing the check box state. Auto Check Box This option is set to off by default. This style is similar to the Check Box, but the state changes are handled automatically by the system. As with auto radio buttons, the state of the check box can be queried and set with OS/2 Presentation Manager API calls. 3 State This option is set to off by default. The 3 State check box extends the normal check box, except that it toggles between selected, unselected, and halftone states. The owner application window is responsible for changing the 3 state appearance. Auto 3 State This option is set to off by default. The Auto 3 State check box is similar to the 3 State check box, but the state changes are handled automatically by the system. There are API calls available for checking the current status of the Auto 3 State. Push Button This option is set to on by default. The Push Button is the classic button style. When the user clicks on this button, or optionally uses a mnemonic key, the button sends notification messages to the owner window. User Button This option is set to off by default. The User Button can be a bitmap object drawn by the user. As with the normal push button, notification messages are sent to the owner window when the button is selected. When this option is selected, both the Normal and Hilited Bitmap combination boxes are enabled. You can select a defined bitmap object for both the normal and highlighted state of the button. Bitmaps must have been identified as an object to appear in the combination box list. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining bitmap objects. Button Options Group Box The Button Options group box contains a number of check boxes that define the operational characteristics of the button. This group box is only enabled when the Push Button or User Button styles have been chosen. Being check boxes, Gpf will generate the option if set to ON, and you may combine more than one option per button. Each of the options will be described below: Default This option is set to off by default. A button with this style is outlined with a heavy black border. A user can select this button by pressing the ENTER key. No Focus This option is set to off by default. A button with this style does not receive the focus, even when selected. No Cursor This option is set to off by default. With this style set the user will be unable to move the focus to this button using the keyboard cursor keys. No Border This option is set to off by default. With this style set, the button is drawn without a border, in effect removing the 'button' look and feel. These buttons, when selected, will still send notification messages to the application. Alias Group Box Presentation Manager maintains certain default notification messages for pushbuttons. The Alias group box allows you to define one of these for the current button control. Being radio buttons, these options are mutually exclusive. Note that Aliasing is only allowed for buttons with the Push Button style set. None This option is set to on by default. The currently defined button does not send an aliased notification message to the application window. In this case, the message sent is the contents of the name entered in the Name entry field. Ok This option is set to off by default. With this button option, the defined button will send the application window a DID_OK message. Cancel This option is set to off by default. With this button option, the defined button will send the application window a DID_CANCEL message. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current button control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to off by default. With this style set to on, the button control will act as the first member of a number of other buttons in a group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Button Control Styles dialog window and will save your changes. If any of the options you have selected will result in a change to the button control appearance, Gpf will automatically update the button to reflect those changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the button control while in the Button Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions desired for the button control item when the user selects it. The Action On dialog window allows you to define processing for the following user action: Click- This user action occurs when the user clicks on the button control item with the mouse, or invokes the button control item with an accelerator key. You can define the action associated with the button control item selection from a list of pre-defined actions, or with user developed source code. The click option is listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the button control item. When you select this option, Gpf will prompt you with a message to confirm that you want to destroy this button, as well as any children of this control. ═══ 4.1. Dlg Button Name ═══ Name Each button control has an identifying name. During program execution, the application's window procedure receives messages generated by the button in response to user input, either from the mouse or the keyboard. The application responds to these messages by using the identifier of the button control. ═══ 4.2. Dlg Button Order ═══ Sibling The Sibling control is a combination box which displays, and allows you to choose which control item or window is a sibling of the item currently being defined. ═══ 4.3. Dlg Button Text ═══ Text The Text control is an entry field where you specify the text that will appear inside, or next to, the button. Typically you can set a mnemonic character in the text so the user can select the button with the keyboard. For example, a button with the following text: ~Select Me would allow the user to select the button by pressing ALT+S. Use the tilde character (~) to identify the mnemonic character. ═══ 4.4. AUTORADIOBUTTON ═══ Button controls have these basic window styles: BS_AUTORADIOBUTTON A radio button is similar to a check box, but is typically used in groups in which only one button at a time is checked. When a radio button is clicked or a cursor key is pressed to move within the group, it notifies its owner window. It is then up to the owner window to check the clicked radio button and uncheck all the rest, if necessary. When clicked, an automatic radio button automatically checks itself and unchecks all other radio buttons in the same group. ═══ 4.5. AUTOCHECKBOX ═══ Button controls have these basic window styles: BS_AUTOCHECKBOX A checkbox is a small square with a character string to the right. If it is checked, a small black box appears inside the small square. When the box or string is clicked,by clicking on it with the pointing device or pressing the keyboard spacebar when it is active, the checkbox changes state and the parent window is notified. An automatic check box automatically toggles its state whenever the user clicks on it. ═══ 4.6. AUTO3STATE ═══ Button controls have these basic window styles: BS_AUTO3STATE A three-state check box is identical to a check box control except that its check box can be half-toned as well as the box being checked or unchecked. An automatic three-state check box automatically toggles its state when the user clicks on it. ═══ 4.7. PUSHBUTTON ═══ Button controls have these basic window styles: BS_PUSHBUTTON A pushbutton is a box that contains a string. When a button is pushed, by clicking the pointing device on it or pressing the SPACEBAR when it is active, the parent window is notified. ═══ 4.8. RADIOBUTTON ═══ Button controls have these basic window styles: BS_RADIOBUTTON A radio button is similar to a check box, but is typically used in groups in which only one button at a time is checked. When a radio button is clicked or a cursor key is pressed to move within the group, it notifies its owner window. It is then up to the owner window to check the clicked radio button and uncheck all the rest, if necessary. ═══ 4.9. CHECKBOX ═══ Button controls have these basic window styles: BS_CHECKBOX A checkbox is a small square with a character string to the right. If it is checked, a small black box appears inside the small square. When the box or string is clicked, by clicking on it with the pointing device or pressing the keyboard spacebar when it is active, the checkbox changes state and the parent window is notified. ═══ 4.10. 3STATE ═══ Button controls have these basic window styles: BS_3STATE A three-state check box is identical to a check box control except that its check box can be half-toned as well as the box being checked or unchecked. ═══ 4.11. USERBUTTON ═══ Button controls have these basic window styles: BS_USERBUTTON This is an application-definable button. The owner window of this style control receives the additional button style BN_PAINT. ═══ 4.12. Dlg Button PresParams ═══ Presentations The presentation parameter is a drop down list from which you select the visual attributes to assign to the current object. Presentations behave similarly to Desktop Publisher 'tags'; once defined they can be re-used, i.e., attached to as many controls as you desire. A new application will only have the choice NULL, which assigns system defaults to the current object. Note: There are no pre-defined presentations supplied. You must create one or more presentations through the Object- Presentation menu from the main editor Action Bar. ═══ 4.13. BITMAP1 ═══ For User Button styles this field selects the default (button not pressed) image for the button. Note: The list contains entries if and only if you have registered bitmaps for this application. This is accomplished via the Object- Icon/Bitmap/Pointer main menu Action Bar, with file type set to .BMP Note: If an entry exists in the text field it WILL appear in the center of your bitmap. This may or may not be desirable. Simply delete the text entry if need be. ═══ 4.14. BITMAP2 ═══ For User Button styles this field selects the default (button not pressed) image for the button. Note: The list contains entries if and only if you have registered bitmaps for this application. This is accomplished via the Object- Icon/Bitmap/Pointer main menu Action Bar, with file type set to .BMP Note: If an entry exists in the text field it WILL appear in the center of your bitmap. This may or may not be desirable. Simply delete the text entry if need be. ═══ 4.15. DEFAULT ═══ This style can be ORed with the BS_PUSHBUTTON and BS_USERBUTTON styles to give the BS_DEFPUSHBUTTON and BS_DEFUSERBUTTON styles: BS_DEFAULT A BS_DEFAULT pushbutton is one with a thick border box. It has the same properties as a pushbutton. In addition, the user may press a BS_DEFAULT pushbutton by pressing the RETURN or ENTER key. The intention is the same for userbuttons, but the appearance of a BS_DEFAULT userbutton is application-defined. ═══ 4.16. NOPOINTERFOCUS ═══ This style can be ORed with any of the basic button styles: BS_NOPOINTERFOCUS Buttons with this style do not set the focus to themselves when clicked with the pointing device. This enables the cursor to stay on a control for which information is required, rather than moving to the button. ═══ 4.17. NOCURSORSELECT ═══ This style can be ORed with the BS_AUTORADIOBUTTON style: BS_NOCURSORSELECT The radio button does not select itself when given the focus as the result of an arrow key or tab key. ═══ 4.18. NOBORDER ═══ These styles can be ORed with the BS_PUSHBUTTON style: BS_NOBORDER The pushbutton is displayed without a border drawn around it. There is no other change in the pushbutton's operation. ═══ 4.19. Dlg Button Group ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 4.20. Dlg Button TabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 4.21. DIDNONE ═══ This option is set to on by default. The currently defined button does not send an aliased notification message to the application window. In this case, the message sent is the contents of the name entered in the Name entry field. ═══ 4.22. DIDOK ═══ Send DID_OK message when this button is pressed. ═══ 4.23. DIDCANCEL ═══ Send DID_CANCEL message when this button is pressed. ═══ 4.24. Dlg Button Ok ═══ OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Button Control Styles dialog window and will save your changes. If any of the options you have selected will result in a change to the button control appearance, Gpf will automatically update the button to reflect those changes. ═══ 4.25. Dlg Button Cancel ═══ CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the button control while in the Button Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ═══ 4.26. Dlg Button EntryHelp ═══ ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ═══ 4.27. Dlg Button Action ═══ ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions desired for the button control item when the user selects it. The Action On dialog window allows you to define processing for the following user action: Click- This user action occurs when the user clicks on the button control item with the mouse, or invokes the button control item with an accelerator key. You can define the action associated with the button control item selection from a list of pre-defined actions, or with user developed source code. The click option is listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). ═══ 4.28. Dlg Button Destroy ═══ DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the button control item. When you select this option, Gpf will prompt you with a message to confirm that you want to destroy this button, as well as any children of this control. ═══ 5. Dlg Combo ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Combobox (ALT+C,C) Clicking on the Create Combobox (ALT+C,C) action will generate a combination box control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Combobox Control Styles dialog window. Refer to Figure 3-11. Combobox controls are combination boxes. A combination box is two controls in one: an entry field and a list box. Combination boxes let the user enter data by typing in the entry field or by choosing from a list in the list box. As shown, the Combobox Control Styles dialog window consists of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each combobox has an identifying name. During program execution, the application's window procedure receives messages generated by the combination box in response to user input. The application responds to these messages by using this identifier of the combination box control. OS/2 Presentation Manager also has a set of functions which can manipulate items in a combination box using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the Combobox currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size and the foreground, background and border colors of the Combobox items. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of radio buttons that define the Combobox style. Radio buttons are mutually exclusive; only one option can be set at one time. Each of the combination box options will be described below: Simple This option is set to OFF by default. A simple combination box displays its list box. The user can enter and edit text in the entry field or choose items from the list box. Drop Down This option is set to OFF by default. A simple drop down combination box displays its list box only if the user clicks the drop down button at the right end of the entry field. It hides the list box when the user clicks the drop down button a second time. In a drop down combination box, the user can enter and edit text in the entry field or choose items from the list box. Drop Down List This option is set to ON by default. A drop down list combination box is similar to the simple drop down combination box, but the user cannot enter or edit text in the entry field. The user can only choose items from the list box. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current Combobox control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the Combobox control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Combobox Control Styles dialog window. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Combobox control while in the Combobox Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control with the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Combobox control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Click - Presentation Manager generates a notification message to the owning window when the user clicks on any item in the list box. Double Click - Double clicking on an item in a Combobox will cause Presentation Manager to send a notification message to the Combobox owner. This message, in effect, simulates a user pressing the ENTER key. Change Data - When an item in a Combobox entry field is changed, the Combobox sends a notification message to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (Chapter 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Combobox control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Combobox control, as well as any children of this Combobox. ═══ 5.1. Dlg Combo Name ═══ Name Each combobox has an identifying name. During program execution, the application's window procedure receives messages generated by the combination box in response to user input. The application responds to these messages by using this identifier of the combination box control. OS/2 Presentation Manager also has a set of functions which can manipulate items in a combination box using the Name identifier as an argument. ═══ 5.2. Dlg Combo Order ═══ Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the Combobox currently being defined. ═══ 5.3. Dlg Combo PresParams ═══ Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size and the foreground, background and border colors of the Combobox items. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section for information on defining presentation objects. ═══ 5.4. SIMPLE ═══ These combo box control styles are available: CBS_SIMPLE Both the entry field control and the list box control are visible. When the selection changes in the list box control, the text of the selected item in the list box control is placed in the entry field. Also, the text in the entry field is completed by extending the text of the entry field with the closest match from the list box. ═══ 5.5. DROPDOWN ═══ These combo box control styles are available: CBS_DROPDOWN Inherits all the properties of a combo box control with a style of CBS_SIMPLE and, in addition, the list box control is hidden until the user requests that it should be displayed. ═══ 5.6. DROPDOWNLIST ═══ These combo box control styles are available: CBS_DROPDOWNLIST In which the entry field control is replaced by a static control that displays the current selection from the list box control. The user must explicitly cause the display of the list box control in order to make alternative selections in the list box. ═══ 5.7. Dlg Combo Group ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 5.8. Dlg Combo TabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 5.9. Dlg Combo Ok ═══ OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Combobox Control Styles dialog window. ═══ 5.10. Dlg Combo Cancel ═══ CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Combobox control while in the Combobox Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ═══ 5.11. Dlg Combo EntryHelp ═══ ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control with the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ═══ 5.12. Dlg Combo Action ═══ ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Combobox control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Click - Presentation Manager generates a notification message to the owning window when the user clicks on any item in the list box. Double Click - Double clicking on an item in a Combobox will cause Presentation Manager to send a notification message to the Combobox owner. This message, in effect, simulates a user pressing the ENTER key. Change Data - When an item in a Combobox entry field is changed, the Combobox sends a notification message to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (Chapter 3.10). ═══ 5.13. Dlg Combo Destroy ═══ DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Combobox control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Combobox control, as well as any children of this Combobox. ═══ 6. Dlg Edit EntryField ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Entry Field (ALT+C,E) Clicking on the Create Entry Field (ALT+C,E) action will generate an entry field control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Entry Field Control Styles dialog window. Refer to Figure 3-12. Entry fields are rectangular windows that display a single line of text a user can edit. When an entry field has the focus, it displays a flashing bar, called the cursor, that marks the current point where text can be entered. Entry fields send notification messages to the owner window when gaining or losing focus, or when the contents of the entry field have changed. As shown, the Entry Field Control Styles dialog window consists of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each entry field has an identifying name. During program execution, the application's window procedure receives messages generated by the entry field in response to user input. The application responds to these messages by using this identifier of the entry field control. OS/2 Presentation Manager also has a set of functions which can manipulate text in the entry field using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the entry field currently being defined. Text You can specify the text that is displayed in the entry field with this option. The application can replace this default text during runtime as well using OS/2 Presentation Manager API calls. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, as well as the foreground, background, and border colors of the entry field text. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.X.X) for information on defining presentation objects. Text Styles Group Box The Text Styles group box contains a number of radio buttons that define how the text in the entry field will be drawn. Radio buttons are mutually exclusive; only one option can be set at one time. Each of the entry field options will be described below. Left Aligned This option is set to on by default. Entry field controls with this style will display text flush left within the control window. Centered This option is set to off by default. Click this option on if you want to center the text in the entry field control window. Right Aligned This option is set to off by default. Entry field controls with this style will display text flush right within the control window. Entry Field Options Group Box The Entry Field Options group box contains a number of check boxes that control the display and formatting of text in the entry field control. Being check boxes, Gpf will generate the option if set to on. You may combine more than one option with the entry field control. Each of the options are described as follows: Margin This option is set to ON by default. The margin option will paint a wide border around the entry field control window. Command ** currently undefined except in PM SDK header files. Reserved for future expansion. Autoscroll This option is set to on by default. With this option set to on, the entry field control will scroll lengthy text within the control window horizontally. Unreadable This option is set to off by default. When this option is selected, any text entered in the entry field control will be masked with asterisk '*' characters. This is a useful option for entering passwords, or other sensitive data entry items. Autotab ** currently undefined. Read Only This option is off by default. When this option is set to on, the user cannot change the text within the entry field. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics for the current entry field control. Typically, these options are for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the entry field control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a similar style is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. Control Window Group Box The Control Window group box provide additional options for setting characteristics of an entry field control. Max Length This option is off by default. When the check box is set, a text length entry field is displayed. You can set the maximum length of characters that the user may enter with this option. NOTE: this function is disabled if the current field is associated with a database (selected in the Program Properties dialog.) Picture Mask ** currently undefined. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Entry Field Control Styles dialog window. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Entry Field control while in the Entry Field Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Entry Field Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Entry Field control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Kill Focus - When the entry field loses the keyboard focus, a notification message is sent to the owner window. Set Focus - When the entry field receives the keyboard focus, a notification message is sent to the owner window. Change Data - When the contents of the entry field changes, a notification message is sent to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows and associated processes are described in the Common Dialog Windows section (Chapter 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Entry Field control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Entry Field control, as well as any children of this Entry Field. ═══ 6.1. Dlg Edit Name ═══ Name Each entry field has an identifying name. During program execution, the application's window procedure receives messages generated by the entry field in response to user input. The application responds to these messages by using this identifier of the entry field control. ═══ 6.2. Dlg Edit Order ═══ Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the entry field currently being defined. ═══ 6.3. Dlg Edit Text ═══ Text You can specify the text that is displayed in the entry field with this option. The application can replace this default text during runtime as well using OS/2 Presentation Manager API calls. ═══ 6.4. Dlg Edit PresParams ═══ Presentations The presentation parameter is a drop down list from which you select the visual attributes to assign to the current object. Presentations behave similarly to Desktop Publisher 'tags'; once defined they can be re-used, i.e., attached to as many controls as you desire. A new application will only have the choice NULL, which assigns system defaults to the current object. Note: There are no pre-defined presentations supplied. You must create one or more presentations through the Object- Presentation menu from the main editor Action Bar. ═══ 6.5. LEFT ═══ Radio buttons are mutually exclusive; only one option can be set at one time. Each of the entry field options will be described below. Left Aligned This option is set to on by default. Entry field controls with this style will display text flush left within the control window. Centered This option is set to off by default. Click this option on if you want to center the text in the entry field control window. Right Aligned This option is set to off by default. Entry field controls with this style will display text flush right within the control window. ═══ 6.6. CENTER ═══ Radio buttons are mutually exclusive; only one option can be set at one time. Each of the entry field options will be described below. Left Aligned This option is set to on by default. Entry field controls with this style will display text flush left within the control window. Centered This option is set to off by default. Click this option on if you want to center the text in the entry field control window. Right Aligned This option is set to off by default. Entry field controls with this style will display text flush right within the control window. ═══ 6.7. RIGHT ═══ Radio buttons are mutually exclusive; only one option can be set at one time. Each of the entry field options will be described below. Left Aligned This option is set to on by default. Entry field controls with this style will display text flush left within the control window. Centered This option is set to off by default. Click this option on if you want to center the text in the entry field control window. Right Aligned This option is set to off by default. Entry field controls with this style will display text flush right within the control window. ═══ 6.8. MARGIN ═══ Margin This option is set to ON by default. The margin option will paint a wide border around the entry field control window. This style can be used to cause a frame to be drawn around the control, with a margin around the editable text. The margin is half a character-width wide and half a character-height high. When an entry field control with this style is positioned, it adjusts the position so that the text is placed at the position specified. This position differs from the original position by the width of the border and the margin. ═══ 6.9. AUTOSCROLL ═══ Autoscroll This option is set to on by default. With this option set to on, the entry field control will scroll lengthy text within the control window horizontally. ═══ 6.10. AUTOTAB ═══ AUTOTAB This flag exists in PM SDK header files but is currently undefined in MS or IBM documentation. ═══ 6.11. READONLY ═══ READONLY This style causes a single line entry field to be created in read only state. When an entry field is in read only state, characters do not get inserted into the text. However the insertion interface is still functional. The entry field read only state can be altered by use of the EM_SETREADONLY message. ═══ 6.12. COMMAND ═══ Command defined in PM SDK header files but undefined in MS or IBM documentation. Reserved for expansion. ═══ 6.13. UNREADABLE ═══ UNREADABLE This style causes the text not to be displayed (for passwords, for example). ═══ 6.14. Dlg Edit Group ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 6.15. Dlg Edit TabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 6.16. MAXLNG ═══ Control Window Group Box The Control Window group box provide additional options for setting characteristics of an entry field control. Max Length This option is off by default. When the check box is set, a text length entry field is displayed. You can set the maximum length of characters that the user may enter with this option. NOTE: this function is disabled if the current field is associated with a database (selected in the Program Properties dialog.) ═══ 6.17. MAXLENGTH ═══ The length appears if you check the MaxLength checkbox. Type in the number of characters which are to be allowed in this field. Note: If a DB has been associated with this field, length is set to AUTO and cannot be adjusted. Note: ═══ 6.18. PICTUREMASK ═══ Defined in PM SDK header files but undefined in MS or IBM documentation. Reserved for expansion. ═══ 6.19. Dlg Edit Ok ═══ OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Entry Field Control Styles dialog window. ═══ 6.20. Dlg Edit Cancel ═══ CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Entry Field controlwhile in the Entry Field Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ═══ 6.21. Dlg Edit EntryHelp ═══ ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Entry Field Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ═══ 6.22. Dlg Edit Action ═══ ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Entry Field control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Kill Focus - When the entry field loses the keyboard focus, a notification message is sent to the owner window. Set Focus - When the entry field receives the keyboard focus, a notification message is sent to the owner window. Change Data - When the contents of the entry field changes, a notification message is sent to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows and associated processes are described in the Common Dialog Windows section (Chapter 3.10). ═══ 6.23. Dlg Edit Destroy ═══ DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Entry Field control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Entry Field control, as well as any children of this Entry Field. ═══ 7. Dlg Window/Dialog ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Window/Dialog (ALT+C,W) You can generate a new window for your application definition through the use of the Create Window/Dialog action. For example, if you need to create a dialog window for a response to a menu selection you would use this option to first create the window template. You could then design this template to specification, adding the additional controls and actions that you want the window to have. When Gpf first generates the new window, it has the following characteristics: Title Bar System Menu Minimize and Maximize Buttons Sizing Border Unlike the standard window that Gpf generates when you use the File New (ALT,F,N) pull-down action, the generated window does NOT include a menu bar control. A menu bar can be added to this new window with the Create Menu (ALT+C,M) pull-down action. Once the new window is generated by the Create Window/Dialog action, the Window/Dialog Styles dialog window will appear to allow you to set the new window/dialog characteristics. Following is a description of each of the characteristic styles available for the new window, or dialog window. Figure 3-6 can be used as a reference. As shown, the Window/Dialog Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions. Name Each window or dialog window you create is named. This name is used as a reference for other controls and is also used for function naming when application source code is generated. By default, Gpf will name the windows in chronological order as follows: MainWindow This is the name given to the first window created by Gpf when you use the File New (ALT+F,N) action. Window1 This is the name given to the first window created by Gpf when you use the Create Window/Dialog (ALT+C,W) action. WindowX This is the name given to each additional window created with the Create Window/Dialog action, where X is equal to the next sequential number of the window created. For example, if you have created two windows using the Create Window/Dialog action, in addition to the window create from File New, the windows that Gpf will have generated would be: MainWindow Window1 Window2 You can enter a different name in this field if you do not want to use the names generated by Gpf. If you decide to change the default name, it would be best if you could make the window name as descriptive as possible. It is easier to guess the window relationship from a name such as: ListDataFieldsDialog rather than T5rKjd832 ! Window Names can contain as many as 20 characters, including underscore characters (_), hyphens (-), and periods (.), as well as any letter or number. You cannot use spaces in the Names field. Before discussing the next two controls, Parent and Owner, it is appropriate to examine what effect these controls have on the newly created window and the rest of the application. Parent and Owner Window Relationships There are two types of relationships that exist for Presentation Manager windows: parent-child, and ownership. Both will be discussed , as well as the effect that setting the Parent and Owner controls has on a new window or dialog window. NOTE: The recommended Parent and Owner for MODAL dialog boxes is DESKTOP. Parent-Child Relationships With the exception of the Presentation Manager Desktop and Desktop-Object windows, most windows have a parent window. For example, the first window you create in an application uses the Presentation Manager Desktop window as its parent. This first window is considered to be a child of the Desktop window. All windows are drawn relative to its parent window. All coordinates are based on the lower-left (0,0) corner of its parent window. For example, a window whose coordinates are (20,20) is placed 20 pixels left and 20 pixels up from the lower-left corner of its parent window. Many windows can share the same parent window; these are called sibling windows. Sibling windows can overlap on the screen; an application or a user can arrange the windows so that some appear on top of others. Each child window can have itself designated as a parent to a new window. Each child window in this chain of windows is called a descendant window of the original parent window. All child windows are clipped to the parent window, meaning that no part of a child window can exist outside of the parent. If the child window is larger then the client area of the parent window, the system will automatically clip the portion of the child that extends beyond the parent so that it does not appear. Setting the Parent control, in the Create Window/Dialog Styles dialog window, to DESKTOP will allow the new window to exist OUTSIDE of all the other defined windows in the application. The coordinate system is relative to the lower- left corner of the screen, which is the desktop window's lower-left corner. This window can be minimized, restored, or maximized, without effecting other windows within the application. Setting the Parent control in the Create Window/Dialog Styles dialog window to any window other than DESKTOP will cause the new window to appear WITHIN the boundaries of that designated parent. The new window will be clipped to the parent window so that if you shrink the parent window you will reduce the visible region of the child window. Also, if you hide or destroy the parent window, the child windows are hidden or destroyed as well. Ownership Any window can have an owner window. An owner is a window, not necessarily a parent window, that controls some aspect of another window. Ownership is typically used to establish a connection between windows so that together they carry out useful tasks. This connection is usually in the form of messaging communications between the window and the owner. For example, the title bar in an application's main window is owned by the frame window. Together they let the user move the entire application window by clicking the mouse in the title bar. Ownership establishes a relationship between windows that is independent of the parent-child relationship. Unlike parent and child windows, there are no predefined rules for how the owner and owned windows interact. Setting the Owner control in the Create Window/Dialog Styles dialog window to DESKTOP will establish ownership of the newly created window to the desktop window. The desktop will control the communication of messages to the newly created window. Setting the Owner control in the Create Window/Dialog Styles dialog window to any window other than DESKTOP will establish ownership of the newly created window to that of the designated window. The owner window will send messages to, and receive messages from, the newly created window. Window/Dialog Styles dialog window controls Parent The parent of the newly created window can be set from this control. The Parent control is a combination box which will list all the currently defined windows or dialog windows that were present when you created the new window. By default Gpf will list the DESKTOP window as the parent. You may select another window as the parent by clicking on the down arrow button on the Parent control. If there are any other windows that are defined in the current application, they will be listed here. Owner The owner of the newly created window can be set from this control. The Owner control is a combination box, like the Parent control, which will list all of the currently defined windows. By default Gpf will list the DESKTOP window as the owner of the newly created window. You may select another window as the owner by clicking on the down arrow button on the Owner control. If there are any other windows that are defined for the current application, they will be listed here. Title The Title control is an entry field where you can enter the text that you want to have appear in the newly created window's title bar. This text is typically the name of the application itself. For example, Gpf displays "Gpf Editor [Filename.ORC]" in its title bar. Title text can contain a maximum of 108 characters. Source The Source control is a combination box where you can select or define the name of the source file where you want Gpf to generate the newly defined window's source code. The name is not required to be the same name that is entered in the Main Window properties. When Gpf generates the source code for a multiple window and multiple source file definition, the appropriate compilation and link statements will be generated as well. To select an existing source file name for the window, click the down arrow button on the combination box to display a list of defined source names. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the new choice. If you want to create a new source file for the window, position the mouse pointer at the beginning of the currently displayed source file and type the new name to replace it. Thread The Thread control is a combination box where you can select which thread the new window will execute under. To select a thread for the window, click the downward pointing arrow button on the combination box to display a list of defined thread names. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the chosen thread name. If you want to create a new thread of execution for the window, position the mouse pointer at the beginning of the currently displayed thread name and type the new name in to replace it. Gpf will automatically generate the necessary source code for creating an OS/2 thread for the window. Presentation Client This control is a combination box where you can select the presentation parameters of the window client area, such as fonts, colors, visual frame attributes, etc. This combination box is read-only, therefore you will only be allowed to select from a list of pre-defined objects. To define these objects, see section 3.5.2.2. If none are defined there will be one and only one choice: NULL. The NULL choice specifies system defaults, as set via the Control Panel. To select a presentation for the window, click the downward pointing arrow button on the combination box to display the list of objectss. When you click on a selection from this list, the entry field portion of the combination box will change to reflect the color you chose. You will notice a small box marked "Color" in the Styles dialog window. As you choose a selection in the Color control this box will display a sample of the basic color of the selected presentation. Presentation Frame The Presentation control allows you to select an object from a list of Presentation Objects that were predefined for this application. These objects allow you to set the formatting and color of the basic frame being created. Like the Presentation Client control, the Presentation Frame control is a read-only combination box. To select a Presentation Object for the window title text, click the downward pointing arrow button on the combination box to display a list of Presentation Objects. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the object you chose. By default, this entry contains NULL. For a complete explanation of Presentation Objects, refer to the section titled Object Pull-down ( section 3.5). Icon The Icon control is a read-only combination box where you can set the icon that will be displayed when the window is minimized by the user. To select an icon for the window, click the downward pointing arrow button on the combination box. A list of Icon Objects will be displayed. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the object you chose. You will notice a small box marked "Icon" in the Styles dialog window. As you choose a selection in the Icon control this box will display the actual icon. Icons are defined as Objects, just like Presentation Objects. Refer to the section titled Object Pull-down, section 3.5, for a full description on defining Icon and Bitmap Objects. Choose Styles Group Box The Choose Styles group box contains a number of check boxes that will affect the appearance of your window. Check boxes turn on the related style when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the style for the window. Each of the styles available will be described. Title Bar This option is set to on by default. The title bar is located at the top of the window. Besides displaying text, the title bar is used to move the entire application window around on the screen. Click this check box off if you do not want to display a window title bar. Minimize Button This option is set to on by default. The minimize button allows a window to be minimized to an icon. Click this check box off if you do not want to have your window minimized. Setting this check box to off will also effectively ignore the Icon control selection. Maximize Button This option is set to on by default. The maximize button allows a window to be expanded to the borders of the windows parent - the entire screen in the case of the main window. Click this check box off if you do not want your application window to be maximized. System Menu This option is set to on by default. The system menu provides the user with window sizing and placement controls via keyboard commands and pull-down menu actions. Click this check box off if you do not want to have a system menu displayed on your application window. Appl Menu This option is set to on for the first window created in the Gpf application definition, and set to off for each window created thereafter. If this option is on, and a menu bar has been created for the window, Gpf will display a warning that the existing menu bar will be destroyed if you click this check box to off. If this check box option is off, and you later create a menu for the window, Gpf will automatically set this to on. Horz Scroll Bar This option is set to off by default. If you click this check box on, Gpf will create a horizontal scroll bar along the bottom of the client window. Vert Scroll Bar This option is set to off by default. If you click this check box on, Gpf will create a vertical scroll bar along the right border ( facing the screen ) of the client window. Information Message This option is set to off by default. If you click this check box on, Gpf will allow you to display one line informational text in the Information message box. The Information message box is located along the bottom of the client window, above the horizontal scroll bar if one is defined. The text for the Information message box can be specified in the Entry Extended Help dialog box. Refer to the Common Dialog Window section of this document for an detailed explanation of the Information Message. Appl Modal This option is set to off by default. Windows with the application modal style set to ON will not allow you to access other windows, or menus, within the application until the modal window is dismissed. This style is usually found set to ON for dialog windows. System Modal This option is set to OFF by default. Windows with the system modal style set to ON will not only prevent you from accessing other windows or menus within the application, but will also prevent access to any other application on the system. The system modal style is typically set to on to signal the user of a critical error, or of some other reason that requires immediate attention. NOTE: It is recommended that MODAL dialog boxes have the DESKTOP as both owner and parent. Choose Options Group Box The Choose Options group box contains a number of check boxes that will effect how Presentation Manager controls various aspects of your window. Check boxes are considered to be turned ON for the related option when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the window. Each of the options available will be described. Logo This option is set to OFF by default. The Logo is an opening window for your application, usually containing copyright or application specific information. Click this option ON if you want to have your application display a logo. Note that Presentation Manager can override this option if the PM Control Panel option for displaying a logo is set to OFF. Save Bits This option is set to ON by default. The Save Bits instructs Presentation Manager to save the image under the window as a bitmap. When the window is moved or hidden, the system restores the image by copying the bits. Click this option to OFF if you do not want bitmap images saved. NoMoveWithOwner This option is set to OFF by default. This option will instruct Presentation Manager to create a window that will not move if the owner window moves. Click this option ON if you want your window NOT to move with the owner window. Adjust This option is set to OFF by default. This GPF feature, when set to ON, will cause all controls to re-size if the enclosing window is re-sized. This effect can be viewed in ANIMATOR mode. SyncPaint This option is set to ON by default. This option, when set to on, will cause the window to immediately receive WM_PAINT messages after a part of the window becomes invalid. When this option is set to OFF, the window receives WM_PAINT messages only if no higher priority messages are waiting to be processed in the window message queue. NoByteAlign This option is set to OFF by default. This option will instruct Presentation Manager to create a window that is not byte aligned. If this option is set to OFF, Presentation Manager will align the window on an eight byte boundary. This results in faster screen drawings in the client window. Border Styles Group Box The Border Styles group box contains a number of radio buttons that will control the type of border your window will have. Radio buttons in a group box are mutually exclusive. Only one can be set to on in the group at one time. By clicking on the different border options, you will set the radio button ON for the new option, while turning the radio button OFF on the previously set option. Sizeable Border This option is set to OFF by default. The Sizeable Border option instructs Gpf to generate a border around the window that will allow the user to size the height and width of the window with the mouse or keyboard commands. This border style is typically used in most OS/2 Presentation Manager applications. Window Border This option is set to OFF by default. The Window Border option instructs Gpf to generate a thin lined border around the window. The user cannot change the size of the window when this option is set to ON. This border type is typically used for windows that display a quick message to the user and are then dismissed. Dialog Border This option is set to OFF by default. The Dialog Border option instructs Gpf to generate a border that is thicker than the Window Border. The user is still prohibited from changing the size of the window. This border type is typically used for dialog windows. No Border This option is set to OFF by default. The No Border option instructs Gpf NOT to generate any border whatsoever around the window. This border type is typically used for windows with a parent other then the DESKTOP. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Window Styles dialog window. If any of the options you have selected will result in a change to the windows appearance, Gpf will automatically update the window to reflect those changes. For example, if the window was created with a Sizeable Border, and you change the border type to Window Border, the window's border will be changed to a Window Border type. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the window while in the Window Style dialog window, Gpf will ignore the changes and restore the original control settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Window Styles dialog window, you will be able to define the general help text for your window. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the window from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A) will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the window during the following stages: Window Creation or Initialization - Presentation Manager creates or initializes every window or dialog window. The developer can change the default processing during the creation phase with either different pre-defined actions, or their own source code. Window Activation - After the above step, the window is then activated. The developer can change the default processing during the activation phase with either different pre-defined actions, or their own source code. Window DeActivation - This occurs when the user or application has dismissed or destroyed the window. The developer can change the default deactivation processing with either pre- defined actions, or their own source code. Each of the above are listed in the Action On dialog window. To select an action from the list box, either click on the target phase with the mouse, or use the directional keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section. OK When you are finished viewing or modifying the action processing for the window, click on the OK (ALT+O) button to return to the Window Styles dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the window as well as any children windows associated with the window. This option is NOT available for the main window, as every application must have at least one window. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this window, as well as any children of this window. ═══ 7.1. Dlg Frame Name ═══ Name Each window or dialog window you create is named. This name is used as a reference for other controls and is also used for function naming when application source code is generated. By default, Gpf will name the windows in chronological order as follows: MainWindow This is the name given to the first window created by Gpf when you use the File New (ALT+F,N) action. Window1 This is the name given to the first window created by Gpf when you use the Create Window/Dialog (ALT+C,W) action. WindowX This is the name given to each additional window created with the Create Window/Dialog action, where X is equal to the next sequential number of the window created. For example, if you have created two windows using the Create Window/Dialog action, in addition to the window create from File New, the windows that Gpf will have generated would be: MainWindow Window1 Window2 You can enter a different name in this field if you do not want to use the names generated by Gpf. If you decide to change the default name, it would be best if you could make the window name as descriptive as possible. It is easier to guess the window relationship from a name such as: ListDataFieldsDialog rather than T5rKjd832 ! Window Names can contain as many as 20 characters, including underscore characters (_), hyphens (-), and periods (.), as well as any letter or number. You cannot use spaces in the Names field. ═══ 7.2. Dlg Frame Source ═══ Source The Source control is a combination box where you can select or define the name of the source file where you want Gpf to generate the newly defined window's source code. The name is not required to be the same name that is entered in the Main Window properties. When Gpf generates the source code for a multiple window and multiple source file definition, the appropriate compilation and link statements will be generated as well. To select an existing source file name for the window, click the down arrow button on the combination box to display a list of defined source names. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the new choice. If you want to create a new source file for the window, position the mouse pointer at the beginning of the currently displayed source file and type the new name to replace it. ═══ 7.3. Dlg Frame Parent ═══ Parent The parent of the newly created window can be set from this control. The Parent control is a combination box which will list all the currently defined windows or dialog windows that were present when you created the new window. By default Gpf will list the DESKTOP window as the parent. You may select another window as the parent by clicking on the down arrow button on the Parent control. If there are any other windows that are defined in the current application, they will be listed here. ═══ 7.4. Dlg Frame Thread ═══ Thread The Thread control is a combination box where you can select which thread the new window will execute under. To select a thread for the window, click the downward pointing arrow button on the combination box to display a list of defined thread names. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the chosen thread name. If you want to create a new thread of execution for the window, position the mouse pointer at the beginning of the currently displayed thread name and type the new name in to replace it. Gpf will automatically generate the necessary source code for creating an OS/2 thread for the window. ═══ 7.5. Dlg Frame Owner ═══ Owner The owner of the newly created window can be set from this control. The Owner control is a combination box, like the Parent control, which will list all of the currently defined windows. By default Gpf will list the DESKTOP window as the owner of the newly created window. You may select another window as the owner by clicking on the down arrow button on the Owner control. If there are any other windows that are defined for the current application, they will be listed here. ═══ 7.6. Dlg Frame PresParams Frame ═══ Presentations The presentation parameter is a drop down list from which you select the visual attributes to assign to the current object. Presentations behave similarly to Desktop Publisher 'tags'; once defined they can be re-used, i.e., attached to as many controls as you desire. A new application will only have the choice NULL, which assigns system defaults to the current object. Note: There are no pre-defined presentations supplied. You must create one or more presentations through the Object- Presentation menu from the main editor Action Bar. ═══ 7.7. Dlg Frame Title ═══ Title The Title control is an entry field where you can enter the text that you want to have appear in the newly created window's title bar. This text is typically the name of the application itself. For example, Gpf displays "Gpf Editor [Filename.ORC]" in its title bar. Title text can contain a maximum of 108 characters. ═══ 7.8. Dlg Frame PresParams Client ═══ Presentations The presentation parameter is a drop down list from which you select the visual attributes to assign to the current object. Presentations behave similarly to Desktop Publisher 'tags'; once defined they can be re-used, i.e., attached to as many controls as you desire. A new application will only have the choice NULL, which assigns system defaults to the current object. Note: There are no pre-defined presentations supplied. You must create one or more presentations through the Object- Presentation menu from the main editor Action Bar. ═══ 7.9. Dlg Frame TitleBar ═══ Title Bar This option is set to on by default. The title bar is located at the top of the window. Besides displaying text, the title bar is used to move the entire application window around on the screen. Click this check box off if you do not want to display a window title bar. ═══ 7.10. Dlg Frame Min ═══ FCF_MINBUTTON Minimize button. Minimize Button This option is set to on by default. The minimize button allows a window to be minimized to an icon. Click this check box off if you do not want to have your window minimized. Setting this check box to off will also effectively ignore the Icon control selection. ═══ 7.11. Dlg Frame Max ═══ FCF_MAXBUTTON Maximize button. Maximize Button This option is set to on by default. The maximize button allows a window to be expanded to the borders of the windows parent - the entire screen in the case of the main window. Click this check box off if you do not want your application window to be maximized. ═══ 7.12. Dlg Frame SysMenu ═══ FCF_SYSMENU System menu. System Menu This option is set to on by default. The system menu provides the user with window sizing and placement controls via keyboard commands and pull-down menu actions. Click this check box off if you do not want to have a system menu displayed on your application window. ═══ 7.13. Dlg Frame ApplMenu ═══ FCF_MENU Application menu. Appl Menu This option is set to on for the first window created in the Gpf application definition, and set to off for each window created thereafter. If this option is on, and a menu bar has been created for the window, Gpf will display a warning that the existing menu bar will be destroyed if you click this check box to off. If this check box option is off, and you later create a menu for the window, Gpf will automatically set this to on. ═══ 7.14. Dlg Frame Hsb ═══ FCF_HORZSCROLL Horizontal scroll bar. Horz Scroll Bar This option is set to off by default. If you click this check box on, Gpf will create a horizontal scroll bar along the bottom of the client window. ═══ 7.15. Dlg Frame Vsb ═══ FCF_VERTSCROLL Vertical scroll bar. Vert Scroll Bar This option is set to off by default. If you click this check box on, Gpf will create a vertical scroll bar along the right border ( facing the screen ) of the client window. ═══ 7.16. Dlg Frame InfoMsg ═══ Information Message This option is set to off by default. If you click this check box on, Gpf will allow you to display one line informational text in the Information message box. The Information message box is located along the bottom of the client window, above the horizontal scroll bar if one is defined. The text for the Information message box can be specified in the Entry Extended Help dialog box. Refer to the Common Dialog Window section of this document for an detailed explanation of the Information Message. ═══ 7.17. Dlg Frame ApplModal ═══ Appl Modal This option is set to off by default. Windows with the application modal style set to ON will not allow you to access other windows, or menus, within the application until the modal window is dismissed. This style is usually found set to ON for dialog windows. ═══ 7.18. Dlg Frame SysModal ═══ FCF_SYSMODAL The frame window is System Modal. System Modal This option is set to OFF by default. Windows with the system modal style set to ON will not only prevent you from accessing other windows or menus within the application, but will also prevent access to any other application on the system. The system modal style is typically set to on to signal the user of a critical error, or of some other reason that requires immediate attention. ═══ 7.19. Dlg Frame Icon ═══ Icon The Icon control is a read-only combination box where you can set the icon that will be displayed when the window is minimized by the user. To select an icon for the window, click the downward pointing arrow button on the combination box. A list of Icon Objects will be displayed. By clicking on a selection from this list, the entry field portion of the combination box will change to reflect the object you chose. You will notice a small box marked "Icon" in the Styles dialog window. As you choose a selection in the Icon control this box will display the actual icon. Icons are defined as Objects, just like Presentation Objects. Refer to the section titled Object Pull-down, section 3.5, for a full description on defining Icon and Bitmap Objects. ═══ 7.20. Dlg Frame Logo ═══ Logo This option is set to OFF by default. The Logo is an opening window for your application, usually containing copyright or application specific information. Click this option ON if you want to have your application display a logo. Note that Presentation Manager can override this option if the PM Control Panel option for displaying a logo is set to OFF. ═══ 7.21. Dlg Frame SyncPaint ═══ WS_SYNCPAINT Window is synchronously repainted. This style is set for windows that have Class Style CS_SYNCPAINT. Applications can then turn this style on and off to vary the window processing. System-Provided Window Styles ═══ 7.22. Dlg Frame SaveBits ═══ WS_SAVEBITS This specifies that the screen image of the area under a window of this style be saved when the window is made visible. ═══ 7.23. Dlg Frame NoByteAlign ═══ FCF_NOBYTEALIGN When this flag is not set, the frame window is adjusted so that window operations, such as moving, can be perfomed in an optimized manner. For example, some displays can move a window more quickly if the movement is by a multiple of eight pels. If this flag is set, such optimizations are not performed and size and position values are honored. ═══ 7.24. Dlg Frame NoMove ═══ FCF_NOMOVEWITHOWNER The window should not be moved when its owner is moved. ═══ 7.25. Dlg Frame AdjustSize ═══ Adjust This option is set to OFF by default. This GPF feature, when set to ON, will cause all controls to re-size if the enclosing window is re-sized. This effect can be viewed in ANIMATOR mode. ═══ 7.26. Dlg Frame SizeBorder ═══ FCF_SIZEBORDER Wide sizing border. Sizeable Border This option is set to ON by default. The Sizeable Border option instructs Gpf to generate a border around the window that will allow the user to size the height and width of the window with the mouse or keyboard commands. This border style is typically used in most OS/2 Presentation Manager applications. ═══ 7.27. Dlg Frame WindowBorder ═══ FCF_BORDER Window is drawn with a thin border. Window Border This option is set to OFF by default. The Window Border option instructs Gpf to generate a thin lined border around the window. The user cannot change the size of the window when this option is set to ON. This border type is typically used for windows that display a quick message to the user and are then dismissed. ═══ 7.28. Dlg Frame DlgBorder ═══ FCF_DLGBORDER Window is drawn with a standard dialog border. Dialog Border This option is set to OFF by default. The Dialog Border option instructs Gpf to generate a border that is thicker than the Window Border. The user is still prohibited from changing the size of the window. This border type is typically used for dialog windows. ═══ 7.29. Dlg Frame NoBorder ═══ No Border This option is set to OFF by default. The No Border option instructs Gpf NOT to generate any border whatsoever around the window. This border type is typically used for windows with a parent other then the DESKTOP. ═══ 8. Dlg Grid ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Options Grid (ALT+O,G) The Options Grid pull-down action will allow you to set an alignment grid for windows in the current application definition. This is useful for insuring that all controls created are aligned properly within the target window. Clicking on this option will invoke the Grid Values dialog window. Please refer to Figure 3-24 for the following dialog control descriptions: The Grid Values Dialog Window The Grid Values dialog windows contain a number of entry fields and pushbuttons that will allow you to set the grid dimensions for your application windows. When placed on the window, Gpf will automatically align a control to the nearest grid coordinates. This is often referred to in other software packages as a "snap to" grid. For the following grid settings, Gpf will allow a maximum dimension size of 5. All measurements are in relative increments, and the settings entered here will be reflected in all current application window definitions. Horizontal (x) The default is one (1) increment. To have the horizontal grid in your application window spaced by more than 1 increment, enter the number in this entry field. The maximum increment is 5. Vertical (y) The default is one (1) increment. In this entry field you can set the number of increments that you would like the vertical grid set to within your application window. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed any changes in the Grid Values dialog window and are ready to exit. CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to exit the Grid Values dialog window without saving any changes made. HELP This is the standard gateway button, permitting entry into the full HELP system. ═══ 8.1. GRIDX ═══ This is the horizontal resolution, the minimum incremental value by which objects can be sized or moved. Enter a value in the range 1..5 ═══ 8.2. GRIDY ═══ This is the vertical resolution, the minimum incremental value by which objects can be sized or moved. Enter a value in the range 1..5 ═══ 9. Dlg EntryHelp ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Entry Extended Help Dialog Window The Entry Extended Help, or Entry Help, dialog window allows you to specify help text for a particular menu pull-down, menu pull-down action item, control or window. This dialog window allows you to define the help descriptive text that the Presentation Manager Help Facility will display when in invoked. The help text is context sensitive to each of the defined controls of the application. The displaying of help text to the user is controlled by the Presentation Manager Help Facility, and requires no additional coding on your part. Gpf automatically generates all the required Presentation Manager API calls, as well as the proper resource definitions for the help text. Optionally the Entry Extended help dialog will allow you to define a single informational message that will be displayed along with your application client window. The Entry Extended Help Dialog Window The Entry Extended Help dialog window provides a means for defining context sensitive help messages for every control (i.e. Window, Button, Scroll Bar, Menu Pull-down, etc.) in your application. The display of the help text that you describe is managed by the Presentation Manager Help Facility, all you have to do is provide the help reference titles, subtitles, and text. Use Figure 3-27 as a reference. ═══ 9.1. Dlg EntryHelp Title ═══ Help Title When Presentation Manager displays a help window, the title bar of the window will contain the text relative to what the help facility was invoked for. You can fill the Help Title field with a short description of the context for the current help reference. The panel being created will also appear in the HELP Contents pull-down under this name. The maximum number of characters that can be entered in this field is 31. ═══ 9.2. Dlg EntryHelp Index ═══ Help Index Part of the Presentation Manager Help Facility is the ability to display an index of all the available help text. This provides the user with an easy way to locate help text quickly. Fill the Help Index field with an index reference for the current help reference. The maximum number of characters that can be entered in this field is 31. ═══ 9.3. Dlg EntryHelp Text ═══ Help Text The Help Text area is a multiple line text entry (MLE) box in which you can type the help text associated with the current help reference. The MLE supports standard cut and paste editing control as well as a word wrap feature. When the user invokes help for a specific item in the application, the Presentation Manager Help Facility will be invoked. The client window of the Help Facility will contain the text you enter here. Text can be entered directly from the keyboard, or can be pasted in via the system clipboard. Yet another way is to have the file read in automatically via the ".im" directive, understood by the IPF utilities. As a matter of fact, any ".", "&", or ":" command normally used when creating file-based help panels can be used here. Gpf itself does very little processing of this text, other than to extract it from the '.ORC' file and pass it on to IPF. Gpf will allow you to enter approximately 4Kbytes of text. If more is required, use .im filename ═══ 9.4. Dlg EntryHelp Information Msg ═══ Information Message You can optionally define an informational message display in the client window of your application. The information display box will be positioned at the bottom of your application client window and is a read only control (i.e. the user can not modify the text displayed here). You can define an informational message for controls, menu items, or child windows in your application. When the user passes the mouse over them, or selects then with cursor movements, the information message will appear in the message box created at the window bottom. The maximum number of characters that can be entered in this field is 59. ═══ 10. Dlg IconBitmapPointer ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Object Icon/Bitmap/Pointer Objects (ALT+B,I) Icons, Bitmaps, or Pointers can be incorporated into your application definition. Once defined as an object they can be set onto the window in the form of user drawn buttons, static text controls, or even used as the minimize icon. Clicking on the Object Icon/Bitmap/Pointer Object (ALT+B,I) pull-down action will invoke the Icon/Bitmap/Pointer list dialog window. The Icon/Bitmap/Pointer List dialog window contains a list of all currently defined Icon/Bitmap/Pointer Objects for the current application definition. The following will describe adding, editing, or deleting these objects: OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Icon/Bitmap/Pointer List dialog window. View/Modify Object Click on this button (ALT+V) to display or modify any pre-defined Icon/Bitmap/Pointer objects. The current selection in the list will be chosen for this operation. This will invoke the Icon/Bitmap Object dialog window for modifying the selected object. The Icon/Bitmap Object dialog window is described in the following section. Add Object Clicking on the Add Object (ALT+A) button will invoke the Icon/Bitmap Object dialog window for defining the controls of the new object. Icon/Bitmap Object Dialog Window The Icon/Bitmap Object dialog window contains radio buttons, entry fields, and pushbuttons to assist you in defining the Icon/Bitmap/Pointer object. Each of the controls will be described below. Options located in a group box will be noted. Name Each Icon/Bitmap/Pointer object has an identifying name. During the Gpf edit session, when you are setting an Icon/Bitmap/Pointer object to a particular window, menu, or other control, this name will appear in the Icon/Bitmap/Pointer combination box of the particular control setting dialog. By default Gpf will insert a Name for you as: Iconx where x is the sequential number of the next Icon/Bitmap/Pointer object to be defined. File Name The actual file that contains the icon, bitmap, or pointer needs to be identified to Gpf. The File Name entry field allows you to type in the name of the file created by the Microsoft or IBM Icon Editor, or by a similar bitmap creation utility. File Type Group Box The File Type group box contains a number of radio buttons for indicating what type of object is being defined. The options will be described below. Radio buttons are mutually exclusive; only one can be selected at a time. Icon This option is set to on by default. This option indicates that you are identifying an Icon drawing as the current object. Gpf will search for the file: filename.ICO where filename is the name of the file as specified in the File Name entry field. Bitmap This option is set to off by default. This option indicates that you are identifying a Bitmap drawing as the current object. Gpf will search for the file: filename.BMP where filename is the name of the file as specified in the File Name entry field. Pointer This option is set to off by default. This option indicates that you are identifying a Pointer drawing as the current object. Gpf will search for the file: filename.PTR where filename is the name of the file as specified in the File Name entry field. Bitmap, pointer, and icon files are closely related. You may specify an icon to be used as a pointer object and vice-versa. You may also define an icon or a pointer as a bitmap object. Path The Path control is an entry box where you must type in the full path to the target icon, bitmap, or pointer file. Gpf will search the path for the above described filename and extension. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed the current definition in the Icon/Bitmap Object dialog window. This will return you to the Icon/Bitmap/Pointer List dialog window, where you will be able to view the graphic object as it will appear in your application. CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to exit the Icon/Bitmap Object dialog window without saving any changes made. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the Icon/Bitmap/Pointer object. Gpf will prompt you with a message to confirm that you want to destroy this object, as well as any children of the object. ═══ 10.1. Dlg Ibp Name ═══ Name Each Icon/Bitmap/Pointer object has an identifying name. During the Gpf edit session, when you are setting an Icon/Bitmap/Pointer object to a particular window, menu, or other control, this name will appear in the icon / Bitmap / Pointer combination box of the particular control setting dialog. By default Gpf will insert a Name for you as: Iconx where x is the sequential number of the next Icon/Bitmap/Pointer object to be defined ═══ 10.2. Dlg Ibp Icon ═══ Icon This option is set to on by default. This option indicates that you are identifying an Icon drawing as the current object. Gpf will search for the file: filename.ICO where filename is the name of the file as specified in the File Name entry field. ═══ 10.3. Dlg Ibp BitMap ═══ Bitmap This option is set to off by default. This option indicates that you are identifying a Bitmap drawing as the current object. Gpf will search for the file: filename.BMP where filename is the name of the file as specified in the File Name entry field. ═══ 10.4. Dlg Ibp Pointer ═══ Pointer This option is set to off by default. This option indicates that you are identifying a Pointer drawing as the current object. Gpf will search for the file: filename.PTR where filename is the name of the file as specified in the File Name entry field. ═══ 10.5. Dlg Ibp Ok ═══ OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed the current definition in the Icon/Bitmap Object dialog window. This will return you to the Icon/Bitmap/Pointer List dialog window, where you will be able to view the graphic object as it will appear in your application. ═══ 10.6. Dlg Ibp Cancel ═══ CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to exit the Icon/Bitmap Object dialog window without saving any changes made. ═══ 10.7. Dlg Ibp Destroy ═══ CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to exit the Icon/Bitmap Object dialog window without saving any changes made. ═══ 11. Dlg ListAction ═══ This dialog lists all the actions you have currently defined and the object that is the target of the action. Use ADD or ADDTOP to insert additional items, where ADDTOP will place it at the beginning of the list, and ADD will insert it immediately after the hilited entry. ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... ═══ 12. Dlg ListBox ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Listbox (ALT+C,L) Clicking on the Create Listbox (ALT+C,L) action will generate a list box control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Listbox Control Styles dialog window. Refer to Figure 3-10. As shown, the Listbox Control Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each listbox has an identifying name. During program execution, the application's window procedure receives messages generated by the listbox in response to user input. The application responds to these messages by using this identifier of the listbox control. OS/2 Presentation Manager also has a set of functions which can manipulate items in a list box using the Name identifier as an argument. Sibling The Sibling control is a combination box which displays, and allows you to choose which control item, or window, will be a sibling of the listbox currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, foreground and background, and border colors of the listbox items. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes that define what type of attributes can be applied to the listbox control. Being check boxes, Gpf will generate the option if it is set to on. You may combine more than one option per listbox. Each of the options will be described below: Horizontal Scroll Bar This option is set to off by default. When Gpf generates the listbox control, it is automatically drawn with a vertical scroll bar. Click this option on if you want a horizontal scroll bar drawn on this listbox as well. Multiple Selection This option is set to off by default. With this option on, a user can select multiple listbox items as opposed to just one item. Owner Draw This option is set to on by default. When the listbox must be redrawn, Presentation Manager will send a notification message to the owner window of the list box. This includes when items must be hilited ( selected ). Another important effect of Owner Draw is the proper columnar alignment of proportional font text, e.g. when several fields of a DBM table is displayed in the listbox. No Adjust Position This option is off by default. With this option set to on, the listbox height will automatically adjust to a multiple of the height of a listbox selection. Sort Options Group Box The Sort Options group box contains a number of radio buttons that define how text items that fill the listbox should be sorted. This option is active only if the items being loaded are done so via SQL\DBM table functions, i.e. these must be columns from the database selected in the Program Properties screen. Radio buttons in a group box are mutually exclusive; only one can be set to on in the group at one time. Each of the sort options will be described as follows: None This option is on by default. Text items in a listbox are listed in the order that they were inserted in. Ascending This option is set to off by default. This option will cause text items to be inserted in ascending alphabetical order into the listbox. Descending This option is set to off by default. This option will cause text items to be inserted in descending alphabetical order into the listbox. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current listbox control. Typically these options are for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the listbox control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Listbox Control Styles dialog window. If any of the options you have selected will result in a change to the listbox control appearance, Gpf will automatically update the listbox to reflect those changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the button control while in the Listbox Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) button in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ASSOCIATE This button is active if you have specified a database in the Program Properties (see Files pulldown) screen. If active, pressing this button will place you in the Associate dialog, as described in the Common Dialog Windows section, 3.10. Briefly speaking, from here you can specify which tables\columns to extract from your DB, and what is to be done with them. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the listbox control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Click - Presentation Manager generates a notification message to the owning window when the user clicks on any item in the list box. Double Click - Double clicking on an item in a listbox will cause Presentation Manager to send a LN_ENTER notification message to the listbox owner. This message, in effect, simulates a user pressing the ENTER key. Set and Kill Focus - When an item in a listbox is selected, the listbox is given focus by the system. When another control, menu, button, etc., is chosen outside of the listbox, the listbox loses the focus. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the listbox control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this listbox control, as well as any children of this listbox. ═══ 12.1. Dlg Listbox Name ═══ Name Each listbox has an identifying name. During program execution, the application's window procedure receives messages generated by the listbox in response to user input. The application responds to these messages by using this identifier of the listbox control. OS/2 Presentation Manager also has a set of functions which can manipulate items in a list box using the Name identifier as an argument. ═══ 12.2. Dlg Listbox Order ═══ Sibling The Sibling control is a combination box which displays, and allows you to choose which control item, or window, will be a sibling of the listbox currently being defined. ═══ 12.3. HORZSCROLLBAR ═══ A list box can have these styles: LS_HORZSCROLL The list box control enables the operator to scroll the list box horizontally. ═══ 12.4. MULTIPLESEL ═══ A list box can have these styles: LS_MULTIPLESEL The list box control enables the operator to select more than one item at any one time. Lists that do not have this style allow only a single selection at any one time. ═══ 12.5. OWNERDRAW ═══ A list box can have these styles: LS_OWNERDRAW The list box control has one or more items that can be drawn by the owner. Typically, these items are represented by bit maps rather than by text strings. ═══ 12.6. NOADJUSTPOS ═══ A list box can have these styles: LS_NOADJUSTPOS If this style is included, the list box control is drawn at the size specified. This can cause parts of an item to be shown. ═══ 12.7. Dlg Listbox PresParams ═══ Presentations The presentation parameter is a drop down list from which you select the visual attributes to assign to the current object. Presentations behave similarly to Desktop Publisher 'tags'; once defined they can be re-used, i.e., attached to as many controls as you desire. A new application will only have the choice NULL, which assigns system defaults to the current object. Note: There are no pre-defined presentations supplied. You must create one or more presentations through the Object- Presentation menu from the main editor Action Bar. ═══ 12.8. SORTNONE ═══ This message inserts an item into a list box control. LIT_END Add the item to the end of the list. ═══ 12.9. SORTAS ═══ This message inserts an item into a list box control. LIT_SORTASCENDING Insert the item into the list sorted in ascending order. ═══ 12.10. SORTDES ═══ This message inserts an item into a list box control. LIT_SORTDESCENDING Insert the item into the list sorted in descending order. ═══ 12.11. Dlg Listbox Group ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 12.12. Dlg Listbox TabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 13. Dlg ListIconBitmapPointer ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... The upper section of the screen is a read-only list of all ICON/BITMAP/POINTER objects known to your current application. The list includes a (possibly reduced) picture of the item. More objects can be added by the ADD or MODIFY buttons below. Delete an object with DESTROY. ═══ 14. Dlg ListMessageBoxes ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... The list at the top of the screen is read-only and shows all defined message boxes, with a name and current contents. You can click on an entry and press one of the editing buttons, or simply double-click on an entry. If no objects of this type exist the list is empty. ═══ 15. Dlg List Presentation Objects ═══ The upper section of the screen is a read-only list of all (if any) defined presentations, listed by the name you gave them during their creation. Press Add to insert additional items. Press View/Modify to edit the properties of an existing presentation object. Press Destroy to delete an object. ═══ 16. Dlg List User Function Objects ═══ The upper section of the screen is a read-only list of all User Function objects which you have defined. Select an object with a click and press: Add to insert additional items View/modify to edit an existing object To delete an object, press View/Modify then press Destroy in the following screen. ═══ 17. Dlg DB Table List ═══ The upper section of this screen is a read-only list of the tables (databases) which are can be read into the current object. Press Select Column to add or edit items from this list. ═══ 18. Dlg Menu ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Menu (ALT+C,M) The Create Menu action allows you to add a menu bar to a window. When you create a new Gpf application definition, the first window that is created contains a default menu bar. For each additional window created, using the Create Window/Dialog Window (ALT+C,W), Gpf does not generate a menu bar. Clicking on the Create Menu (ALT+C,M) action will generate a menu bar and allow you to attach it to any visible window. If the target window does not have a menu bar already defined, Gpf will immediately invoke the Menu Options dialog window. Refer to Figure 3-7. Gpf will allow you to define three types of menu items: top level menu items, pull-down actions, and submenu items. Top level menu items are those that are directly visible in the application's menu bar. Clicking on a top level menu item will typically display a 'pull-down' list of action items. Subsequently, each pull-down action item can have a pull-down list of menu items, called a submenu. The following text and control descriptions apply to all three of these menu types. As shown, the Menu Options dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and push buttons. Some of these controls are located in group boxes and will be noted in the following descriptions. Name Each menu item has an identifying name. During program execution, the application's window procedure receives messages generated by the menu in response to user input, either from the mouse or the keyboard. The application responds to these messages by using the identifier of the menu item that is contained in each menu message. Text You can specify the text that is displayed in the menu or pull-down with the Text entry field. You can indicate a mnemonic keystroke for the menu item by preceding that character in the item text with a tilde, as in "~Open". The user can choose that item by pressing the mnemonic key when the menu is active. A menu item can have a keyboard accelerator associated with it. Accelerators differ from mnemonic keystrokes in that the menu does not have to be active for the accelerator key to work. Typically the accelerator is displayed to the right of the menu item. This is done by placing a tab character (\t) in the menu text before the characters that should be displayed on the right. For example, to indicate that the F3 function key can be used to exit the application, the text field entry would contain: Exit\tF3 Refer to the Accelerator Key description for generating the proper accelerator for your menu item. Sibling The Sibling control is a combination box which displays, and allows you to choose, which menu item is a sibling to the currently displayed menu item. You can re-arrange the position that the menu item appears in by changing the sibling relationship. The siblings are listed from either the top of the pull-down list order or across for top level menu items. Parent and Owner The Parent and Owner controls are read-only displays which indicate the respective Parent and Owner of the menu bar. Gpf sets this relationship automatically, with the menu directly communicating (sending messages) with the window it is attached to. Accelerator Key The Accelerator Key control is a combination box which lists all the available key combinations that can be used for the current menu item definition. Keyboard accelerators provide an optional interface, the keyboard, for selecting menu items. Accelerators associate keystrokes with menu action items and therefore do not require the menu itself to be active. You can select an Accelerator Key from the Accelerator Key combination box for the current menu item definition by scrolling through the list of predefined keystroke combinations and clicking on the desired one. Submenu Presentation The Submenu Presentation combination box includes a list of all defined Presentation Objects. Refer to the Objects Pull- down (section 3.5) in this documentation for a description on creating Presentation Objects. The Presentation Object can change the appearance ( i.e. Foreground and Background Color, Font and Font Sizes, Borders, etc. ) of the pull-down menu items. You can select a Submenu Presentation object by scrolling through the list of Presentation Objects and clicking on your choice. Menu Styles Group Box The Menu Styles group box contains a number of check boxes that affect how Presentation Manager displays the menu item. Check boxes are considered to be turned on for the related option when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the menu item. Each of the options available will be described: Break This option is set to off by default. Presentation Manager will start a new row or column for the menu item when it encounters this style. Static This option is set to off by default. When the Static style option is set to on, the menu item is displayed as an informational item only. The user cannot select a menu item with this type, with either the mouse or keyboard. Button Separator This option is set to off by default. When the Button Separator style option is set to on, the item cannot be selected by using the keyboard cursor keys. The item can only be selected with the mouse or defined accelerator keys. Break Separator This option is set to off by default. This style is the same as is described above for the Break style, with the exception that Presentation Manager will draw a separator line between the menu row or column. Menu Attributes Group Box The Menu Attributes group box contains a number of check boxes that control the display aspects of a menu item, such as its highlighted and checked state. Check boxes controls are considered to be turned on for the related option when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the menu item. Each of the options available will be described. No Dismiss This option is set to OFF by default. When this option is set to ON, the menu which contains the current menu item will not be dismissed, even after the user makes a menu selection. The application becomes responsible for removing the menu from view. Framed This option is set to OFF by default. If this option is set to ON, the menu item will be framed by vertical lines to the left and right. Checked This option is set to OFF by default. If this option is set to ON, the menu item will have a check mark to the left of it when displayed. The application must control turning the check on and off on a menu item during program run- time. Disabled This option is set to OFF by default. The Disabled attribute, when set to ON, will gray out the menu item. The user may view a grayed menu item, but the system will issue an error beep when the menu item is clicked upon. The application is responsible for setting and clearing the disabled state of a menu item during program run-time. Highlighted This option is set to OFF by default. Presentation Manager will normally highlight the topmost pull-down item when a menu list is displayed. Set this option ON if you would rather have a different menu item highlighted at run-time. Menu Type Group Box The Menu Type group box contains a number of radio buttons which indicate what type of object the menu item is. Radio buttons in a group box are mutually exclusive; only one can be set to on in the group. Each of the menu types will be described. Text This is the default menu type. The menu item is displayed as a text string. Bitmap This menu type allows you to include a bitmap drawing as the menu item. When you enable this option, Gpf will activate the bitmap display box and the bitmap object combination box. The display box is located to the right of the bitmap option, and the combination box is at the bottom of the Type group box. The bitmaps must have been previously identified as an object to appear in the combination box list. Refer to the Objects Pull-down section (Section 3.5) for information on defining bitmap objects. Separator This menu type is set to off by default. The Separator type will generate a non-selectable horizontal line in the menu pull-down list. This is helpful for separating logical groups of pull-down actions in the same menu. Any text entered in the Text Entry Field is ignored when the Separator type is selected. Owner Draw This menu type is set to off by default. When a menu type is defined to be of type Owner Draw, then the application is responsible for drawing, redrawing, and dismissing the menu. The application receives notification messages from the menu bar each time a draw request needs to be serviced. OK Click on the OK (ALT+O) button when you are finished viewing or modifying the top level, pull-down, or submenu item, and want to save the item definitions or changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the menu item while in the Menu Options dialog window, Gpf will ignore the changes and restore the original menu settings. PULLDOWN Top level menu items can have a pull-down action list of menu items associated with them. The PULLDOWN (ALT+P) button will allow you to add, edit, or remove pull-down action items. Clicking on the PULLDOWN button will invoke the Selection Pull-down dialog window. The Selection Pull-down dialog window will list the pull-down action items already defined for the top level. Double clicking on an available pull-down item in the list will invoke a nested Menu Options dialog window. The control options are the same as the ones used when defining the top level menu item with the exception that the PULLDOWN button is renamed to SUBMENU. If no pull-down items have been defined, you must first add one with the ADD ITEM (ALT+A) button. Each pull-down menu item can have a submenu associated with it. Submenus typically provide 'in line' menu options for the particular pull-down action, as opposed to invoking dialog boxes for user input. Submenu items are defined using the Menu Options dialog window, just like the pull-down and top level menu items. ENTRY HELP By clicking the Entry Help (ALT+E) button in the Menu Options dialog window, you will be able to define the general help text for your menu item. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when the menu is the active selection. You can also define an informational message for the menu item from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions desired for the menu item when the user selects it. The Action On dialog window allows you to define processing for the following user action: Click When the user clicks on the menu item with the mouse, or invokes the menu item with an accelerator key. You can define the action associated with the menu item selection with pre-defined, or user developed source code . The click option is listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the directional keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection is to be viewed or modified, click on the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section. OK Once you are finished viewing or modifying the action processing for the menu, click on the OK (ALT+O) button to return to the Menu Options Styles dialog window. If you are nested in defining pull-down menu items, or submenus, Gpf will return to the next highest level. Continue to click the OK button until you return to the Gpf edit screen. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the menu item as well as any pull-down menu items associated with the menu. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this menu item, as well as any pull-down children of this menu item. ═══ 18.1. MIS_BREAK ═══ Menu Item Style MIS_BREAK The item is the last one in a row or column. The next item is displayed at the beginning of a new row or column. ═══ 18.2. MIS_STATIC ═══ Menu Item Style MIS_STATIC This type of item exists for information purposes only. It cannot be selected with the pointing device or keyboard. ═══ 18.3. MIS_BUTTONSEPARATOR ═══ This will right justify the item and insert a vertical separator bar to its immediate left. ═══ 18.4. MIS_BREAKSEPARATOR ═══ Menu Item Style MIS_BREAKSEPARATOR The same as MIS_BREAK, except that it draws a separator between rows or columns of a pull-down menu. This style can only be used within a submenu. ═══ 18.5. MIA_NODISMISS ═══ Menu items have the following attributes. MIA_NODISMISS If this item is selected, the pull-down menu containing this item should not be hidden before notifying the application window of the selection. ═══ 18.6. MIA_FRAMED ═══ Menu items have the following attributes. MIA_FRAMED If this attribute is TRUE a frame is drawn around the item. ═══ 18.7. MIA_CHECKED ═══ Menu items have the following attributes. MIA_CHECKED If this attribute is TRUE a checkmark appears next to the item. ═══ 18.8. MIA_DISABLED ═══ Menu items have the following attributes. MIA_DISABLED This attribute is TRUE if the item is disabled and cannot be selected. The item is drawn in a disabled state. ═══ 18.9. MIA_HILITED ═══ Menu items have the following attributes. MIA_HILITED The state of this attribute is TRUE, if and only if, the item is selected. ═══ 18.10. MIS_TEXT ═══ Menu Item Style MIS_TEXT The display object is a text string. ═══ 18.11. MIS_BITMAP ═══ Menu Item Style MIS_BITMAP The display object is a bit map. ═══ 18.12. MIS_SEPARATOR ═══ Menu Item Style MIS_SEPARATOR The display object is a horizontal dividing line. This type of item can only be used in pull-down menus. This type of item cannot be enabled, checked, disabled, highlighted, or selected by the user. The functional object is NULL when this style is specified. ═══ 18.13. MIS_OWNERDRAW ═══ MIS_OWNERDRAW Items with this style are drawn by the owner. WM_DRAWITEM and WM_MEASUREITEM notification messages are sent to the owner to draw the item or determine its size. ═══ 19. Dlg Multiple Line Entry ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Multiple LE (ALT+C,U) Clicking on the Create Multiple LE (ALT+C,U) action will generate a Multiple Line Entry Field (MLE) control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Multiple Line Entry Control Styles dialog window. Refer to Figure 3-13. A Multiple Line Entry Field is a sophisticated entry field control window that the user can use to view and edit multiple lines of text. In addition, a multiple line entry field provides all the text editing capability of a simple text editor, making these features readily available to applications. As shown, the Multiple Line Entry Field Control Styles dialog window consists of entry fields, combination boxes, check boxes, radio buttons, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each Multiple LE control has an identifying name. During program execution, the application's window procedure receives messages generated by the Multiple LE control in response to user input. The application responds to these messages by using this identifier of the Multiple LE control. OS/2 Presentation Manager also has a set of functions which can manipulate text in the Multiple Line Entry field using the handle of the MLE as an argument. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the Multiple Line Entry field currently being defined. Text You can specify the text that is initially displayed in the Multiple Line Entry field with this option. The application can replace this default text during runtime as well by using OS/2 Presentation Manager API calls. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, as well as foreground, background, and border colors of the Multiple Line Entry field text. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes which allow you to set a number of characteristic styles for the Multiple LE field control. Each of the Multiple LE options will be described below. Check boxes are considered to be set to on when a small 'x' appears in the check box. Border This option is set to ON by default. With this option set to on, the Multiple LE field will have a black border drawn around it. Vert Scroll Bar This option is set to on by default. A vertical scroll bar is added to the Multiple LE. The initial state of the scroll bar is disabled until the number of lines of text exceed the Multiple LE height. Word Wrap This option is set to ON by default. When a line of text exceeds the length ( width ) of the Multiple LE, lines will automatically break at a convenient place in the text and wrap to the next line. Horz Scroll Bar This option is set to OFF by default. A horizontal scroll bar is added to the Multiple LE. The initial state of the scroll bar is disabled until the width of the text line exceeds the Multiple LE width. Read Only This option is set to OFF by default. With this option set, the Multiple LE will not accept any date edit or entries. This is typically used to display static text. Ignore Tab This option is set to on by default. This directs the Multiple LE to ignore tabs entered by the user. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current Multiple LE field control. Typically these options are for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the Multiple LE field control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Multiple Line Entry Control Styles dialog window. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation. If you have changed any options for the Multiple LE Field control while in the Control Styles dialog window, Gpf will ignore the changes and restore the original settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Multiple Line Entry Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key during application run time. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION The ACTION button (ALT+A), will invoke the Gpf Action On dialog window. From this dialog window you can set the processing actions for the Multiple LE field control item when the user selects it. The Action On dialog window allows you to define processing for the following user actions: Kill Focus - When the Multiple LE field loses the keyboard focus, a notification message is sent to the owner window. Set Focus- When the Multiple LE field receives the keyboard focus, a notification message is sent to the owner window. Change Data- When the contents of the Multiple LE field have changed, a notification message is sent to the owner window. The above options are listed in the Action On dialog window. To select an action from the list box, either click on the target with the mouse, or use the cursor keys on the keyboard. View/Modify Action On Once the action has been selected, and the processing for that selection are to be viewed or modified, click the View/Modify Action On (ALT+V) button. This will invoke the Action List dialog window. Action List dialog windows, and associated processes, are described in the Common Dialog Windows section (section 3.10). DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the current Multiple LE field control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Multiple LE Field, as well as any children of this control. ═══ 19.1. MLEBORDER ═══ These multi-line entry field control styles are available: MLS_BORDER A thin border is drawn around the multi-line entry field window. ═══ 19.2. WORDWRAP ═══ These multi-line entry field control styles are available: MLS_WORDWRAP The multi-line entry field initially word-wraps text. ═══ 19.3. MLEREADONLY ═══ These multi-line entry field control styles are available: MLS_READONLY The multi-line entry field is initially in read-only mode. ═══ 19.4. VSCROLL ═══ These multi-line entry field control styles are available: MLS_VSCROLL The multi-line entry field displays and handles a vertical scroll bar. ═══ 19.5. HSCROLL ═══ These multi-line entry field control styles are available: MLS_HSCROLL The multi-line entry field displays and handles a horizontal scroll bar. ═══ 19.6. IGNORETAB ═══ These multi-line entry field control styles are available: MLS_IGNORETAB The multi-line entry field ignores tab key strokes. It passes the appropriate WM_CHAR to its owner window. ═══ 19.7. DlgMleGroup ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 19.8. DlgMleTabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 19.9. Dlg Mle Pres ═══ Presentations The presentation parameter is a drop down list from which you select the visual attributes to assign to the current object. Presentations behave similarly to Desktop Publisher 'tags'; once defined they can be re-used, i.e., attached to as many controls as you desire. A new application will only have the choice NULL, which assigns system defaults to the current object. Note: There are no pre-defined presentations supplied. You must create one or more presentations through the Object- Presentation menu from the main editor Action Bar. ═══ 20. Dlg Message Box ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Object Message Box Object (ALT+B,M) Message boxes provide an easy way to display simple messages without creating dialog windows. A message box is easy to use and is appropriately used when an application requires a clearly defined response to a static message. Typically, message boxes consist of an Icon, message text, and the response pushbuttons. An example of a typical message box would be for querying the user if they want to continue with an operation. The message box itself would have a YES and NO pushbutton for a response. Clicking on the Object Message Box Object (ALT+B,M) pull-down action will invoke the Message Box list dialog window. The Message Dialog window contains a list of all currently defined Message Box Objects for the current application definition. The following will describe how to add, edit, or delete Message Box objects: OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Message Dialog window. View/Modify Msg Box Click on this button (ALT+V) to display or modify any previously defined message box objects. The current selection in the Message Dialog list will be chosen for the operation. This will invoke the Message Box Object dialog window for modification of the selected object. The Message Box Object dialog window is described in the following section. Add Msg Box Clicking on the Add Msg Box (ALT+A) button will invoke the Message Box Object dialog window for defining the controls of the new message box object. Message Box Object Dialog Window The Message Box Object dialog window contains combination boxes, radio buttons, check boxes, multiple line entry fields, and pushbuttons to assist you in defining the message box object. Each of the controls will be described below. Options located in a group box will be noted. Text The Text control is a multiple line entry field where you enter the message text for the message box. The text entered here is displayed to the user when the message box is invoked during application runtime. The multiple line entry will automatically word wrap your line of text if it is greater then the width of this control. Reply Button The Reply Button is a combination list box with the available button combinations that will be displayed with your message box. The list of button combinations are standard message box responses and should be diverse enough to suit your needs. To select a button combination, either click on the selection with the mouse, or use the cursor keys to go up and down through the list. Default Button Group Box The Default Button group box contains a number of radio buttons that will allow you to define which button of the Reply Button combination will be set as the default button. Default buttons are drawn with a thick black border. Radio buttons are mutually exclusive; only one may be selected at one time. No 1 This option is set to on by default. This option designates the first button in the Reply Button group as the default button. No 2 This option is set to off by default. This selection will choose the second button in the Reply Button group as the default button. No 3 This option is set to off by default. This selection will choose the third button in the Reply Button group as the default button. If a default button position is chosen, and the Reply button group does not contain as many buttons, the first button will be used as the default button. For example, if you choose the YES and NO Reply Button group, and indicate that the third button will be the default, then YES will default. Icon Group Box The Icon group box contains a number of radio buttons which allow you to choose an icon to be displayed in the current message box object. When you change a selection from this group, an icon representing the selection will be displayed in the lower right corner of the Icon group box. Radio buttons are mutually exclusive; only one may be selected at one time. No Icon This option is set to off by default. When selected, the defined message box will not have an icon displayed during runtime. Warning This option is set to off by default. The Warning icon displays an exclamation point ("!") in the defined message box. Information This option is set to on by default. The Information icon displays the letter ('i') in the defined message box. Error This option is set to off by default. The Error icon displays a stop sign in the defined message box. Question This option is set to off by default. The Question icon displays a question mark ("?") in the defined message box. Alarm Option Group Box The Alarm Option group box contains a number of radio buttons which allow you to sound an audible tone upon creation of the message box object. When the message box is displayed, during application runtime, the tone will sound. Note that certain selections from the Icon group box will set tones of different frequencies. These will be identified in the following text. No Alarm With this selection set to on, no tone will be emitted with the message box appearance. This option is automatically selected when the No Icon option is chosen from the Icon group box. Note This option will cause a high toned beep to sound when the message box is displayed. Setting either Information or Question icons from the Icon group box will automatically select this option. Warning This option will cause a beep (an octave lower in pitch than the Note beep) to be emitted when the message box is displayed. Setting the Warning icon from the Icon group box will automatically select this option. Error This option will cause a beep (an octave lower in pitch than the Warning beep) to be emitted when the message box is displayed. Setting the Error icon from the Icon group box will automatically select this option. Modal Group Box The Modal group box contains two radio buttons that will set the modal style of the message box. Appl This option is set to off by default. When the Appl modal option is selected, the message box must be dismissed before input is allowed into any other window in the owner application. Other applications running under Presentation Manager may be accessed without responding to this message box. System This option is set to on by default. The System modal option requires that the message box is dismissed before any other application running under Presentation Manager can be accessed. Options Group Box The Options group box contains two check boxes that allow you to set additional message box controls. Help This option is set to OFF by default. With this option set to on, a "Help" button will be added to the existing Reply Button combination. This is to provide the user with extended help information on why or what the message box may be indicating. Moveable This option is set to ON by default. This option provides a title bar to the message box. This allows the user to move the message box around the Presentation Manager desktop by dragging it with the mouse. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed any changes in the Message Box Object dialog window. If any of the options you have selected will result in a change to the message box appearance, you will have to run the Animate mode of Gpf to view the changes. Refer to the Toolkit Pull-down section for information on the Animate function (Chapter 3.10). ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Scroll bar Control Styles dialog window, you will be able to define the general help text for your message box. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key or "Help" button when you finally run your compiled application. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the message box window. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this message box window, as well as any children of the message box. ═══ 21. Dlg Presentation ═══ Object Presentation Object (ALT+B,P) Clicking on the Object Presentation Object (ALT+B,P) pull-down action will invoke the Presentation Parameter List dialog window. A Presentation Object allows you to define any combination of specific font, foreground, background, or border color, as an object. This object can then be applied when creating other windows or controls when a custom presentation is desired. For example, consider the use of different font sizes for menu pull-down actions, dialog window text, or list box items. The Presentation Parameter List dialog window contains a list of all currently defined Presentation Objects for the current application definition. Once defined, such objects can be invoked from the 'Presentation' list boxes contained in most control\dialog definition screens. The following will describe adding, editing, or deleting Presentation objects: OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Presentation Parameter List dialog window. View/Modify Click on this button (ALT+V) to display or modify any defined presentation objects. The current selection in the dialog list will be chosen for this operation. This will invoke the Presentation Object Parameters dialog window for modifying the selected object. The Presentation Object Parameters dialog window is described in the following section. Add Clicking on the Add (ALT+A) button will invoke the Presentation Object Parameters dialog window for defining the controls of the new presentation object. Presentation Object Parameters Dialog Window The Presentation Object Parameters dialog window contains combination boxes, entry fields, and pushbuttons to assist you in defining the presentation object. Each of the controls will be described below: Name Each presentation object has an identifying name. During the Gpf edit session, when you are setting a presentation object to a particular window, menu, or other control, this name will appear in the Presentation combination box of the particular control setting dialog. By default Gpf will insert a Name for you: PresParmsx where x is the sequential number of the next presentation object to be defined. Generally speaking, you should probably edit this field to a more useful name, such as "BlueListBox" or "LargeRedFont". Font Name Size The Font Names Size control is a combination box which will list all the different sized fonts that Gpf finds installed on your system. You can select a font and font size for the current presentation object from this list. To display the list with the mouse, click on the downward pointing arrow to the right of the entry field portion of the combination box. While holding the mouse button down, drag the highlight selector through the font names in the list. Release the mouse button to select the current highlighted font. To display the list with the keyboard, first use the TAB key to move the focus to the Font Named Size combination box, then press ALT+DOWNARROW. You can then use the keyboard cursor keys to move the highlight selector through the list. To make a font selection, use the RIGHTARROW key when the highlight selector is on the font of your choice. As you move the highlight selector, a sample of the font will be displayed in both the Font Sample and Overpaint display windows. These windows are located at the bottom of the Presentation Object Parameters dialog window. If the list of fonts is being displayed you will not be able to view the Overpaint display window. Background Color The Background Color control is a combination box which lists the available background colors available for the presentation object. To list the available background colors with the mouse or keyboard, follow the instructions as explained in the Font Named Size description above. As you move the highlight selector, a sample of the background color will be displayed in the Font Sample display windows. Foreground Color The Foreground Color control is a combination box which lists the available foreground colors available for the presentation object. To list the available foreground colors with the mouse or keyboard, follow the instructions as explained in the Font Named Size description above. As you move the highlight selector, a sample of the foreground color will be displayed in the Font Sample display windows. Background Hilite Selects the background color attribute for a selected item. Foreground Hilite Selects the foreground color attribute for a selected item. Background Disabled Selects the background color attribute for the disabled state of an item. Foreground Disabled Selects the foreground color attribute for the disabled state of an item. Border Color The Border Color control is a combination box which lists the border colors available for the presentation object. To list the available border colors with the mouse or keyboard, follow the instructions as explained in the Font Named Size description above. As you move the highlight selector, a sample of the border color will be displayed in both the Font Sample display windows. Font Sample Display The Font Sample Display window is where the presentation object definition can be displayed. This enables you to test a multitude of selections before saving the Presentation Object definition. Overpaint Display The Overpaint Display window is where the presentation object definition can be displayed. This enables you to test a multitude of selections before saving the Presentation Object definition. ═══ 22. Dlg App Program Properties ═══ The File Properties Pull-down Action At any time during your Gpf edit session you can modify the Program Properties as described in the File New Pull-down Action section. When you choose File Properties (ALT+F,P), Gpf displays the Program Properties dialog window as shown in Figure 3-4. From this dialog window you can modify the name of the main source code file that will be generated by Gpf, the version or revision number of the definition, copyright information, Presentation Manager task list entry, the target programming language, what SQL databases are to be used by the new application, as well as text to display for the application help windows. Main Source Name In this field specify the name of the source code file, and all supporting files needed for compilation, that will be generated by Gpf when you are ready to compile a Gpf defined application. The name entered here does not have to be the same as the name specified as the Gpf definition file, but the naming convention guidelines are the same. Actually Gpf will limit you to entering a maximum of eight characters without an extension. Gpf will automatically generate the extension based on the target language used and whether or not SQL data bases will be accessed. Examples of Gpf generated source code files: FIRSTONE.C C Source code generated by Gpf FIRSTONE.SQC SQL embedded C source code generated by Gpf Level Gpf allows you to track the number of revisions you may make to the application definition through the Level field. For example, if you have made minor modifications you may want to change the Level number from 1.0 to 1.1. You can enter any combination of letters, numbers, or punctuation marks. The maximum length for the Level field is four (4) characters. Copyright The copyright field can be used to enter the name of the person or company that will hold the copyright of the application being generated. The text that is entered here will be placed in the generated source code, as well as the other supporting compilation files generated by Gpf. The maximum length for the Copyright field is sixty-three (63) characters. Task List Title The Task List title is entered into the Presentation Manager Task List box when the compiled Gpf application is actually running. Users can move between active applications running under OS/2 by selecting a name from the task list. A short, descriptive, line of text is recommended for this entry. The maximum length for the Task List Title field is sixty-three (63) characters. Language The Language field is actually what is known as a Presentation Manager combination box. A combination box looks like an entry field with the exception that there is a downward-pointing arrow control on the far right side. By clicking this down arrow, a list of possible entries will be displayed. You can then choose an item from the list to fill in the top part of the combination box. You cannot enter text directly into the field for this combination box. Currently Gpf generates only 'C' language source code, subsequently it is the only available option for the Language field. Database Name The Database Name field is another combination box where you can choose which, if any, SQL databases are to be referenced in the current Gpf application being defined. When you start the Gpf editor, a search is automatically conducted to determine if there are any SQL databases available on your system. Gpf will then fill the Database Name list with the results of the search. If your application does not need to access information from an SQL database you can choose the 'No DBM' option, which is also the default. You cannot enter text directly into the field for this combination box. OK By clicking on the OK button (ALT+O) you will signal Gpf that you have completed any modifications in the Program Properties dialog window. Gpf will check the Program Properties dialog window and display an error message if there are any problems with your entries. Another way to signal Gpf that you want to save the changes you have made is by pressing the ENTER key. ACTION The ACTION dialogs permit association of system or code functions with current circumstances, control manipulations, initializations, and so on. In the case of the Program Properties window, you will see two default circumstances for which actions can be invoked: Init Application and End Application. This permits specification of items which are to be performed upon program start and end. Please refer to Common Dialog Windows, section 3.10.3, for a detailed explanation of the Action dialog window. Entry Extended Help By clicking the Entry Extended Help (ALT+E) in the Program Properties dialog window, you will be able to define the general help text for your application. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the application from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Extended Help dialog window. ═══ 22.1. Dlg Properties Source Name ═══ Main Source Name In this field you specify the name of the source code file that will be generated by Gpf when you are ready to compile a Gpf defined application. The name entered here does not have to be the same as the name specified for the Gpf definition file, but the naming convention guidelines are the same. Actually Gpf will limit you to entering a maximum of eight characters without an extension. Gpf will automatically generate the extension based on the target language used and whether or not you specify that SQL data bases will be accessed. For example, if you have named your main source file as FIRSTONE Gpf will generate the following files: File Name Contents FIRSTONE.C C source code generated by Gpf, or FIRSTONE.SQC SQL embedded C source code generated by Gpf. FIRSTONE.RC Resource Statements FIRSTONE.IDS Constant definitions FIRSTONE.MAK Make File FIRSTONE.CMD Automatic compiler call batch file. This field is the only required field for continuing with the New Application Definition; Gpf will not allow you to proceed if you leave this field blank. This holds true even if you attempt to CANCEL the Program Properties dialog. ═══ 22.2. Dlg Properties Level ═══ Level Gpf allows you to track the revision number of the application definition through the Level field. By default, Gpf will set the level at '1.0' when you create a new application definition. You can enter any combination of letters, numbers, or punctuation marks. The maximum length for the Level field is four (4) characters. ═══ 22.3. Dlg Properties Copyright ═══ Copyright The copyright field can be used to enter the name of the person or company that will hold the copyright of the application being generated. The text that is entered here will be placed in the generated source code, as well as the other supporting compilation files generated by Gpf. The maximum length for the Copyright field is sixty-three (63) characters. ═══ 22.4. Dlg Properties TaskList ═══ Task List Title The Task List title is the string of text that gets entered into the Presentation Manager Task List box when the compiled Gpf application is actually running. Users can move between active applications running under OS/2 by selecting a name from the Task List. A short, descriptive, line of text is recommended for this entry. The maximum length for the Task List Title field is 63 characters. FCF_TASKLIST When this flag is set, the program title is added to the front of the frame window text. The resulting string is used as the window title and is also entered on the task list. In this context, the program title is the text string used by the Desktop Manager to identify the program, or the text string specified as a parameter in the START command. If neither string has been defined, the filename and extension of the .EXE file are used as the program title. ═══ 22.5. Dlg Properties Language ═══ Language The Language field is actually what is known as a Presentation Manager combination box. A combination box looks like an entry field with the exception that there is a downward-pointing arrow control on the far right side. By clicking this down arrow, a list of possible entries will be displayed. You can then choose an item from the list to fill in the top part of the combination box. You cannot enter text directly into the field for this combination box. Currently Gpf generates only 'C' language source code, subsequently it is the only available option for the Language field. ═══ 22.6. Dlg Properties DataBase Name ═══ Database Name The Database Name field is another combination box where you can choose which, if any, SQL databases are to be referenced in the current Gpf application being defined. When you start the Gpf editor, a search is automatically conducted to determine if there are any SQL databases available on your system. Gpf will then fill the Database Name list with the results of the search. If your application does not need to access information from an SQL database you can choose the 'No DBM' option, which is also the default. You cannot enter text directly into the field for this combination box. ═══ 22.7. Dlg Properties Ok ═══ OK By clicking on the OK button (ALT+O), or pressing the ENTER key, you will signal Gpf that you are ready to create the first window of your application definition. Gpf will check the Program Properties dialog window and display the appropriate error message if there are any problems with your entries. ═══ 22.8. Dlg Properties EntryHelp ═══ Entry Extended Help By clicking the Entry Extended Help (ALT+E) in the Program Properties dialog window, you will be able to define the general help text for your application. The text that you enter will be displayed by the Presentation Manager Help Manager if the user presses the F1 key when you ultimately run your compiled application. You can also define an informational message for the application from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section for a detailed explanation of the Entry Extended Help dialog window. ═══ 22.9. Dlg Properties Action ═══ ACTION Pressing the ACTION button will call up a set of screens from which you can define what is to occur upon program start and program end. Please refer to Common Dialog Windows, section 3.10.3, for a detailed explanation of the ACTION dialog window. ═══ 23. Dlg NewFile and SaveAs ═══ The File New Pull-down Action When you select the File New (ALT+F,N) action, you are indicating to Gpf that you want to create a new Gpf definition. Gpf definitions is where Gpf saves all the controls and windows that you create for your application within the editing session. It is from this definition file that Gpf generates the C language source code and supporting files for compilation. The definition files are in a binary format, and are readable only by the Gpf system utilities. If you do not have a definition loaded in the current editing session, Gpf will automatically display the Create New Application dialog window as shown in Figure 3-1. Otherwise Gpf will query you to save the definition before continuing. If you have made changes to the definition and have not saved them, it is a good idea to save it now because your changes will be lost if you reply NO to the "Save the current file?" option. You are now ready to create a new application definition. Creating a new application definition is a two step process: 1. Name the definition and identify what drive/directory to record it in 2. Specify the program properties of the new definition. Naming the New Application Definition File The New Application dialog window will allow you to define the name of the new definition file as well as identifying which drive and directory to store it in. Each of the controls in the File New Dialog Window will be explained below: File Name When the dialog windows appears, specify the name that you want to save the Gpf definition to in this entry field. When naming a definition, follow these guidelines: The file name can be no longer than eight characters long. Gpf will automatically add an identifying three- character extension unless you add one yourself. Gpf's default extension is '.ORC'. If desired, you can add other extensions by typing a period, and then the extension-for example, FIRSTONE.TST. Files with extensions other than .ORC don't appear in the Files box in the File Open dialog window. You must explicitly state the extension that you added during future sessions when you open a file using a non-ORC extension. You can use any characters in a filename except spaces and the following characters: * ? . , ; [ ] + = \ : | Directory is : This is a read-only field which informs you where the file named above will be stored. You can change the directory from the Directories list box, and change the drive using the icons at the top of the window. If you decide to save the definition on a different drive or directory, remember where you placed it for later retrieval. OK Once you have filled in the File Name field and have chosen the drive and directory where you will place the new definition, you can signal Gpf that you are ready to begin by selecting the OK (ALT+O) button. Another way to signal Gpf to begin is by pressing the ENTER key. Gpf will append the .ORC extension to the name that you have specified in the File Name entry field if you have not specified your own extension. A search for the filename specified is then conducted to insure that the new file name is indeed unique. If Gpf finds another file of the name specified in the working directory you will be presented with an error message. You are then given the option to overwrite the existing file. If you do not want to destroy an existing file, you can cancel the overwrite and use a different name in the File Name entry field. CANCEL If you wish to cancel the operation at anytime during the naming of the New Gpf definition, click on the CANCEL button in the dialog window. This will signal Gpf that you do not want to continue and you will be returned to the Gpf session window. Another way to signal Gpf that you want to cancel the current operation is by pressing the ESC key. HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information on options available for creating a New Application definition. New Application Program Properties Once you have given your new application definition a valid file name and have elected to continue creating the definition, Gpf will display the Program Property dialog window as shown in Figure 3-2. ═══ 23.1. Dlg NewFile / SaveAs Name ═══ File Name When the dialog windows appears, specify the name that you want to save the Gpf definition to in this entry field. When naming a definition, follow these uidelines: The file name can be no longer than eight characters long. Gpf will automatically add an identifying three character extension unless you add one yourself. Gpf's default extension is '.ORC'. If desired, you can add other extensions by typing a period, and then the extension-for example, FIRSTONE.TST. Files with extensions other than '.ORC' don't appear in the Files box in the File Open dialog window. You must explicitly state the extension that you added during future sessions when you open a file using a non-ORC extension. ═══ 23.2. Dlg NewFile / SaveAs Directory ═══ Directory is : This is a read-only field which informs you where the file named above will be stored. You can change the directory from the Directories list box, and change the drive using the icons at the top of the window. If you decide to save the definition on a different drive or directory, remember where you placed it for later retrieval. ═══ 23.3. Dlg NewFile / SaveAs OK ═══ OK Once you have filled in the File Name field and have chosen the drive and directory where you will place the new definition, you can signal Gpf that you are ready to begin by selecting the OK (ALT+O) button. Another way to signal Gpf to begin is by pressing the ENTER key. Gpf will append the '.ORC' extension to the name that you have specified in the File Name entry field if you have not specified your own extension. A search for the filename specified is then conducted to insure that the new file name is indeed unique. If Gpf finds another file of the name specified in the working directory you will be presented with an error message. You are then given the option to overwrite the existing file. If you do not want to destroy an existing file, you can cancel the overwrite and use a different name in the File Name entry field. ═══ 23.4. Dlg NewFile / SaveAs Cancel ═══ CANCEL If you wish to cancel the operation at anytime during the naming of the New Gpf definition, click on the CANCEL button in the dialog window. This will signal Gpf that you do not want to continue and you will be returned to the Gpf session window. Another way to signal Gpf that you want to cancel the current operation is by pressing the ESC key. ═══ 23.5. Dlg NewFile / SaveAs Help ═══ HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information on options available for creating a New Application definition. ═══ 24. Dlg Scroll ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Horizontal Scroll Bar (ALT+C,H) Clicking on the Create Horizontal Scroll Bar (ALT+C,H) action will generate a horizontal scroll bar control and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Scroll Bar Control Styles dialog window. Refer to Figure 3-15. Scroll bars are controls that take mouse and keyboard input and generate notification messages to the owner window. Applications typically use scroll bars to scroll the contents of a client window. As shown, the Scroll Bar Control Styles dialog window consists of entry fields, combination boxes, check boxes, and pushbuttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each scroll bar control has an identifying name. During program execution, the application's window procedure receives messages generated by the scroll bar in response to user input. The application responds to these messages by using this identifier of the scroll bar control. OS/2 Presentation Manager also has a set of functions which can manipulate the slider portion and the active/inactive state of the scroll bar control by using the Name identifier as an argument to OS/2 API functions. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the scroll bar currently being defined. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size as well as the foreground, background, and border colors of the scroll bar control. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (section 3.10) for information on defining presentation objects. Control Styles Group Box The Control Styles group box contains a number of check boxes that will set the style for the current control. Check boxes are considered to be set to on when a small 'x' appears in the check box. Each of the control styles are defined as follows: Horizontal Scroll Bar This option is set to on by default. Setting this option to off will cause the created Horizontal Scroll Bar to change appearance to a Vertical Scroll Bar. Thumb Size This option is set to off by default. With this option set to on, the scroll bar slider will change its height to reflect the percentage of data visible and thus the percentage of the scroll bar that the slider should occupy. Auto Track ** currently undefined Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current scroll bar control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the scroll bar control will act as an encapsulated group. It will receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to on by default. This style is typically used in conjunction with the Group style. When set to on, the current control will receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Scroll Bar Control Styles dialog window. If any of the options you have selected will result in a change to the scroll bar control appearance, Gpf will automatically update the control to reflect those changes. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Scroll bar Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (section 3.10) for a detailed explanation of the Entry Extended Help dialog window. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the scroll bar control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this Scroll bar control, as well as any children of this scroll bar. ═══ 24.1. HORZSCRBAR ═══ These scroll bar control styles are available: SBS_HORZ Create a horizontal scroll bar. SBS_VERT Create a vertical scroll bar. ═══ 24.2. THUMBSIZE ═══ These scroll bar control styles are available: SBS_SETTHUMBSIZE Indicates the presence of the visible and total parameters in the SBCDATA data structure. ═══ 24.3. DlgScrollGroup ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 24.4. DlgScrollTabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 25. Dlg Find PM Control ═══ Object Find PM Control (ALT+B,F) The Gpf Find PM Control function is a control management utility. With the Find PM Control dialog box you can search for or destroy controls (e.g. Buttons, List Boxes, Icons) defined in windows. Clicking on the Find PM Control (ALT+B,F) pull-down action will invoke the Search Object dialog window. All currently visible Gpf application windows will be dismissed from view when this dialog box is invoked. Search Object Dialog Window The Search Object dialog window contains a list of all windows defined in the current application. For each defined window there is also a list of controls associated with the window. The following is a description of each of the available options in the dialog window: Window List Box The Window list box contains a list of all windows created in the current application definition. By default the Main Window, or whatever you may have named it, will always be listed first in this list. Selecting a window from this list will cause Gpf to search through and display any of the controls or objects, associated with the selection in the Object list box. Object List Box The Object list box lists all of the controls and objects associated with the currently selected window in the Window list box. SEARCH Clicking on the SEARCH button will cause Gpf to search for and display the window that contains the currently selected object. If found, the window owning the object will be brought to the foreground, and the target object will be highlighted. This will also dismiss the Search Object dialog window. CANCEL Clicking on the CANCEL button or pressing the ESC key will signal Gpf that you want to dismiss the Search Object dialog window. DESTROY Clicking on the DESTROY button (ALT+D), will cause Gpf to remove the currently selected object. You will first be prompted to confirm that you want to destroy the object as well as any children of the object. ═══ 26. Dlg SelMenu ═══ The upper section of this window is a read-only list of existing menu items at this level. The left section of each line is the item logical name, while on the right is the text which will appear in the menu. A tilde (~) character depicts the item HOT key. Press on the following controls: Ok when done View/Modify to edit or examine existing entries Add ActionBar to insert an item. It will be placed AFTER the highlighted item. Destroy to delete an item ═══ 27. Dlg Pulldown List ═══ The upper section of this screen is a read-only list of defined items in this PullDown. The operation of this screen is identical to the menu creation screen. See the Dlg SelMenu entry in Help Contents. ═══ 28. Dlg Statistic ═══ Option Statistics (ALT+O,S) Each time you create a window, control, or object, you are using some of the available Presentation Manager resources. Under versions 1.1 and 1.2 of OS/2 Presentation Manager, there are a limited number of resources available. Gpf keeps track of how many resources of each type are being used by your current application definition. With the Option Statistics (ALT+O,S) pull-down, you can view the current state of resource consumption. Clicking on the Option Statistics pull-down action (ALT+O,S) will invoke the Statistics Dialog Window. This dialog window, and the resource indicators are described as follows: Statistics Dialog Window The Statistics dialog window is a read-only group of identifiers which indicate the current state of application definition resource usage. As a read-only dialog window, you will not be able to modify any of the values displayed. This dialog is for informational purposes only. Here are each of the identifiers: Window This indicates the number of windows or dialog windows currently defined for the application. By default this value will be 1 for the main window. Control This indicates the number of controls (i.e. Buttons, Static Text, List Boxes, etc.) currently defined in the application. Menu This indicates the total number of menu elements defined for the current application. Menu elements include both the high level menu bar items, as well as any pull-down or submenu items. Help This indicates the number of Entry Help descriptions defined for the current application. SQL This indicates the number of SQL associations defined in the current application. A SQL association is where you associate a control (e.g. List Box, Combobox, Entry Field) with an SQL table.column name. Action This indicates how many actions have been defined for any existing windows, menus, or other controls in the current application. Source This field indicates the number of source code files that have been identified in the current application. When you create a new window or dialog window, you have the option of having the source code generated to a file different than the main source file. Threads This indicates the number of threads that have been identified in the current application. When you create a new window or dialog window, you have the option of creating a separate thread of execution for each one. Icon Bitmap This indicates the number of Icon/Bitmap/Pointer objects that have been defined in the current application. Message Box This field indicates the number of Message Box objects that have been defined in the current application. Presentation This field indicates the number of Presentation objects that have been defined in the current application. User Text This field indicates the number of User Function objects that have been defined in the current application. Resource Usage Graphic The Resource Usage graphic is a bar graph showing the ratio of the amount of resources used to the total number of resources available. For OS/2 1.2 Extended Edition, the total number of available resources is set at 8192. The resource usage field is calculated by: THE_NUMBER_OF_USED_RESOURCE / 8192 where THE_NUMBER_OF_USED_RESOURCE is the sum total of the resource indicators. The Resource Usage graph itself is broken into 25% quarters, where the current resource usage will be graphed. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you are through looking at the Statistics dialog window. ═══ 29. Dlg Text ═══ ******************************* This dialog contains one or more of the following keys. Double-click on the key for which you need Help. Action Associate Cancel Destroy EntryHelp Help Ok View/Modify... Create Text Static (ALT+C,T) Clicking on the Create Text Static (ALT+C,T) action will generate a static text control item and allow you to attach it to any visible window. Once the control is placed on the target window or dialog window, Gpf will invoke the Static Control Styles dialog window. Refer to Figure 3-8. Static controls are simple text fields, bitmaps, or icons that can be used to label, enclose, or separate other window control windows. Static controls do not accept user input and they do not send notification messages to their owning applications. As shown, the Static Control Styles dialog window consists of a number of entry fields, combination boxes, check boxes, radio buttons, and push buttons. Some of these controls are located in group boxes and will be noted in the following descriptions: Name Each static text control item has an identifying name. During program execution, the application's window procedure can manipulate the item using this name as an argument to the OS/2 Presentation Manager API functions. Sibling The Sibling control is a combination box which displays and allows you to choose which control item or window will be a sibling of the item currently being defined. Text The Text control is an entry field where you can type in the text associated with the currently created item. Item definitions where text entries are ignored will be identified at the appropriate control item description. Presentation The Presentation control is a combination box which displays and allows you to choose a presentation object for setting the font size, foreground, background, and border colors for the static control being defined. The Presentation object must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining presentation objects. Static Control Styles Group Box The Static Control Styles group box contains a number of radio buttons that define what type of control the newly created item is. Radio buttons in a group box are mutually exclusive, only one can be set to on in the group at one time. Each of the control styles are described as follows: Text This option is set to on by default. With the control style of Text, various formatting options are available to produce formatted text in the boundaries of the control. The text entered in the text entry field control is displayed. Refer to the discussions of Horizontal and Vertical Options following this (Static Control Styles Group Box) section. Group Box This option is set to off by default. Group boxes are useful for grouping other kinds of control items, such as radio buttons and check boxes. The text entered in the text entry field control is displayed in the upper left corner of the group box when displayed in the application or dialog window. ForeGround Frame This option is set to off by default. A control with this style is drawn as a rectangular frame with the current foreground color. Any text entered in the Text entry field is ignored with this option. BackGround Frame This option is set to off by default. A control with this style draws a filled rectangle with the current background color. Any text entered in the Text entry field is ignored with this option. Half Tone Frame This option is set to off by default. Half tone frames draw a rectangular frame with a halftone pattern in the current foreground color. Any text entered in the Text entry field is ignored with this option. Icon This option is set to off by default. Click on this style if you want to display an icon on the application or dialog window. The icon must have been previously identified as an object to Gpf. Refer to the Objects Pull- down section (Chapter 3.5) for information on defining icon objects. Bitmaps This option is set to off by default. Click on this style if you want to display a bitmap on the application or dialog window. The bitmap must have been previously identified as an object to Gpf. Refer to the Objects Pull-down section (Chapter 3.5) for information on defining bitmap objects. If either Icon or Bitmap is selected as a style, the Icon/Bitmap combination box will become active with a list of defined Icon/Bitmap objects. Selecting an object from the combination box will also fill in the Icon/Bitmap view box located to the right of the Icon and Bitmap style radio button. ForeGround Rect This option is set to off by default. This style draws a rectangle filled with the current foreground color. Any text entered in the Text entry field is ignored with this option. BackGround Rect This option is set to off by default. This style draws a rectangle filled with the current background color. Any text entered in the Text entry field is ignored with this option. Half Tone Rect This option is set to off by default. This style will draw a rectangle filled with a halftone pattern with the current foreground color. Any text entered in the Text entry field is ignored with this option. Horz Options Group Box The horizontal placement of the text in the Text field entry is controlled by the options in this group box. These options are only available if the style for the static control is marked Text. Being radio button options, the horizontal controls are mutually exclusive. Left Aligned This option is set to on by default. Setting the Left Aligned option will draw the text entered in the text entry field flush left with the text box border. Horizontal Centered This option is set to off by default. This option will center the text between the left and right boundaries of the text box. Right Aligned This option is set to off by default. Setting the Right Aligned option will draw the text entered in the text entry field flush right with the text box border. Vert Options Group Box The vertical placement of the text in the Text field entry is controlled by the options in this group box. As with the horizontal controls, the style of the static control must be set at Text. Being radio button options, the vertical controls are mutually exclusive. Top Aligned This option is set to off by default. The Top Aligned option will draw the text entered in the Text entry field, starting in the top line of the text box. Vert Centered This option is set to on by default. Vertical centering will align the text between the top and bottom borders of the text box. This is typically used for single line text entries. Bottom Aligned This option is set to off by default. This option will draw the text entered in the Text entry field, starting along the bottom border of the text box. Text Options Group Box The Text Options group box contains a number of check boxes that will effect the overall appearance of your text. Check boxes are considered to turn on the related style when there is an 'X' in the check box itself. If the check box is empty, Gpf will not generate the option for the text. Each of the styles available will be described. Word Wrap This option is set to off by default. Click on this option if the text entry extends for more than one line, or if the text box is too small. Word wrap will automatically wrap the text to fit into the defined text box boundary. Half Tone This option is set to off by default. Setting this option on will display the text in a halftone pattern with the current text color. Dialog Styles Group Box The Dialog Styles group box contains a number of check boxes that will set characteristics of the current static control. Typically these options are used for defining characteristics of a control in dialog windows. Group This option is set to on by default. With this style set to on, the static control will act as the first member of a number of other controls in a group. It will also be able to receive the keyboard or mouse focus. The group style remains in effect until the next control with a style such as this is found. Tabstop This option is set to off by default. This style is typically used in conjunction with the Group style. When set to on, the current control will be able to receive the focus when the user presses the TAB key to move between dialog controls. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the Static Control Styles dialog window and save your changes. If any of the options you have selected will result in a change to the controls appearance, Gpf will automatically update the control to reflect those changes. CANCEL Clicking on the CANCEL button, or pressing the ESC key will cause Gpf to abort the current operation . If you have changed any options for the control while in the Static Control Styles dialog window, Gpf will ignore the changes and restore the original control settings. ENTRY HELP By clicking the Entry Extended Help (ALT+E) in the Static Control Styles dialog window, you will be able to define the general help text for your control. The text that you enter will be displayed by the Presentation Manager Help Facility if the user presses the F1 key when you finally run your compiled application. You can also define an informational message for the control from the Entry Extended Help dialog window. Please refer to the Common Dialog Windows section (Chapter 3.10) for a detailed explanation of the Entry Extended Help dialog window. ACTION Because static controls do not allow user input, the ACTION button is disabled. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove the static control. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this control, as well as any children of this control. ═══ 29.1. TEXT ═══ Static controls can have these styles: SS_TEXT Creates a text field. The text is formatted before it is displayed according to the setting of these text drawing-style flags: Flag Meaning DT_LEFT Left-justified text DT_CENTER Centered text DT_RIGHT Right-justified text ORed with one of: Flag Meaning DT_TOP Text is aligned to top of window DT_VCENTER Text is aligned vertically in center of window DT_BOTTOM Text is aligned to bottom of window The following text drawing style can also be ORed, but only if DT_TOP and DT_LEFT are also specified: DT_WORDBREAK Text is multi-line with word-wrapping at ends of lines. Programming Note For "static" text that can be selected, a Button Control with a style of BS_NOBORDER can be used. ═══ 29.2. GROUPBOX ═══ Static controls can have these styles: SS_GROUPBOX A group box static control is a box that has an identifying text string in its upper left corner. Group boxes are used to collect a group of radio buttons or other controls into a single unit. ═══ 29.3. FGNDFRAME ═══ Static controls can have these styles: SS_FGNDFRAME Creates a box with a foreground color frame. ═══ 29.4. BKGNDFRAME ═══ Static controls can have these styles: SS_BKGNDFRAME Creates a box with a background color frame. ═══ 29.5. ICON ═══ Static controls can have these styles: SS_ICON Draws an icon. The text of the static control is a string that is used to derive the resource ID from which the icon is loaded. The format of the string is: o The first byte is X'FF', the second byte is the low byte of the resource ID, and the third byte is the high byte of the resource ID. o The first character is "#"; subsequent characters make up the decimal text representation of the resource ID. This format can be used for specifying a system icon in a resource file. The decimal string is the value of the appropriate SPTR_* constant. If the string is empty or does not follow the format above, no resource is loaded. The resource is assumed to reside in the resource file of the current process. This control is resized to the size of the icon. ═══ 29.6. BITMAPS ═══ Static controls can have these styles: SS_BITMAP Draws a bit map. The text of the static control names the bit-map resource, as for SS_ICON. ═══ 29.7. FGNDRECT ═══ Static controls can have these styles: SS_FGNDRECT Creates a foreground color-filled rectangle. ═══ 29.8. BKGNDRECT ═══ Static controls can have these styles: SS_BKGNDRECT Creates a background color-filled rectangle. ═══ 29.9. TEXTLEFT ═══ Static controls can have these styles: DT_LEFT Left-justified text ═══ 29.10. TEXTCENTER ═══ Static controls can have these styles: DT_CENTER Centered text ═══ 29.11. TEXTRIGHT ═══ Static controls can have these styles: DT_RIGHT Right-justified text ═══ 29.12. TOP ═══ Static controls can have these styles: DT_TOP Text is aligned to top of window ═══ 29.13. VCENTER ═══ Static controls can have these styles: DT_VCENTER Text is aligned vertically in center of window ═══ 29.14. BOTTOM ═══ Static controls can have these styles: DT_BOTTOM Text is aligned to bottom of window ═══ 29.15. WORDBREAK ═══ Static controls can have these styles: DT_WORDBREAK Text is multi-line with word-wrapping at ends of lines. ═══ 29.16. DlgTextGroup ═══ Styles for Windows in Dialogs WS_GROUP This identifies the dialog items that make up a `group'. This style should be specified on the first window of any group. Subsequent windows of the group must not have this style. The windows of the group must be adjacent siblings. This can be done by listing the windows consecutively in templates or by inserting each new window in the group behind the previous one (WinCreateWindow). ═══ 29.17. DlgTextTabStop ═══ Styles for Windows in Dialogs WS_TABSTOP This identifies a dialog item as one to which the operator can TAB. ═══ 30. Dlg Actions List ═══ Action List Definition Dialog Window The Action List Definition dialog window is where you select from a number of predefined actions and associations. The dialog window itself contains three (3) list boxes: Actions Contains a list of all Gpf predefined actions that perform some action to either a window, control, menu item, or object. For example, if the action in the Action list is a menu action, then the Window list box will disappear and the Object list box will contain all the menu and pull-down objects currently defined. Each action, and the effect any action may have on the contents of the other list boxes, will be described below. Windows Contains a list of all windows or dialog windows in your application definition. Many of the actions selected from the Action list work on a window selected here. If a selected action does not effect a window this list box will not be displayed. Objects Contains a list of objects (i.e. Controls, Menus, User Functions ) that an action may directly effect. If the selected action in the Action list does not effect an object, this list will not be displayed or will display empty. Gpf Predefined Action List The following is a list of available actions as predefined by Gpf. A brief description of the action, as well as the target object for the action, will be provided. This list contain actions typically performed to another window, which can be selected in the Window list box. Window Show (Visible) When selected this action will cause the target window to display itself on the screen. Window Dismiss (Invisible) This action will cause the target window to dismiss itself from the screen. The window in effect hides itself. Window Focus This will cause the target window to obtain the keyboard and mouse input focus. This in effect switches the active window during the application run. Window Enable This action will cause the target window to become enabled. If the target window is already enabled this action will have no effect. Window Disable This action will cause the target window to become disabled. If the target window is already disabled this action will have no effect. Window Center Screen This action will cause the target window to center itself on the screen in relation to the parent window. Window Top Screen This action will cause the target window to align the top of its border with the top of the desktop screen. Window Max Screen This action will cause the target window to maximize itself. If the parent window is the DESKTOP, the application window will fill the entire screen, otherwise the window fills the parent window client area. Window Reset Default Button This action will cause the button defined as the default button to reset itself to the default button status. Default buttons are drawn with a heavy black border. NOTE: the next two items have several properties the user must be aware of. First, they are both reserved for SQL associations. Second, the code generated by GPF for these functions must NOT be modified, though you can ADD code. Third, they are inactive if the application has no associated DATABASE. Lastly, when invoked these functions send data back and forth between the current CONTROL and the "static sql area". Window Send Data To Window This selection will cause Gpf to generate a function call and empty function shell for use by the developer. Window Receive Data To Window This selection will cause Gpf to generate a function call and empty function shell for use by the developer. This list contains actions that effect List boxes or Combination boxes. If a window has any of these controls it will be listed in the Object list box. Select different windows from the Window list box. Listbox Load List/Combo Box (SQL) This action will generate the necessary SQL statements to fill a list box with table column headings . Listbox Get Selection (SQL) This action will retrieve the row associated with the selection in the list box. These actions work on controls within a window. Controls for a particular window, created with the Create pull-down, appear in the Objects list box with the window selected in the Windows list box. Control Show (Visible) When selected this action will cause the target control to display itself on the screen. Control Hide (Invisible) This action will cause the target control to dismiss itself from the screen. The Control in effect hides itself. Control Focus This will cause the target control to obtain the keyboard and mouse input focus. This in effect switches the active control during the application run. Control Enable This action will cause the target control to become enabled. If the target control is already enabled this action will have no effect. Control Disable This action will cause the target control to become disabled. If the target control is already disabled this action will have no effect. These actions work on buttons (Check boxes, Radio) within a window. Buttons for a particular window, created with the Create pull-down, appear in the Objects list box with the window selected in the Windows list box. Button Check True This action will cause the target radio or check box button to be changed to an on state. Button Check False This action will cause the target radio or check box button to be changed to an off state. Button Check Alternate This action toggles the state of the target radio or check box button, i.e if ON it will be turned OFF, and vice versa. Button Set Default Button This action will cause the target button to become the default button. Default buttons are drawn with a heavy black border, and are invoked if the user presses the ENTER key. These actions work on menu pull-down, pull-down lists, and submenus. Menus for the window, as selected in the Windows list box, will be displayed in the Object list box. Menu Enable This action will cause the target menu item to be enabled. When enabled, menu items can be selected with the mouse or keyboard. Menu Disable This action will cause the target menu item to become disabled. When menu items are disabled they are not selectable by the user. Menu Mark This action will place a check mark next to the target menu item. Menu Unmark This action will remove, if previously set, a check mark next to the target menu item. Menu Swap Mark This option will alternate a check mark next to the target menu item. If the menu item is checked it will be unchecked, if unchecked it will be checked. These actions will send a message directly to the target window. Send Did Ok This is an OS/2 Presentation Manager predefined message for indicating a user has clicked on an OK button, or a button with a DID_OK identifier. Send Did Cancel This is an OS/2 Presentation Manager predefined message for indicating a user has clicked on a CANCEL button, or a button with a DID_CANCEL identifier. Send Text Message This action will display a message box object as defined in your application. A list of message box objects will appear in the Object list box. The following actions do not have any windows or objects associated with them: Quit Application This will cause the application to exit the system. The following actions will generate a help subsystem call. The Window and Object list boxes are removed when selecting these calls, with the exception of the Help for Window action. Help Help for Help This will issue a message to the help subsystem to display the general overview of using the help subsystem. Help Help Extended This will issue a message to display the extended help screens for the application. Help Help Index This action will issue a message to display the application index of help entries. Help Help Contents This action will issue a message to display a hierarchical table of contents for all available apllication help panels. Help Help Keys This action will issue a message to display all the help screens describing keyboard combinations for the application. Help Help For Window This action will display the help information for a specific window as selected from the Window list box. The following action will display a list of User Function objects in the Object list box. The name of this feature is intentionally "User Function", as the proper way to utilize it is to create these objects in the form of simple function calls (refer to section 3.5.2.4 for a detailed explanation .) User Function This will cause a User Function created with the Object pull-down action to be invoked. Gpf generates the appropriate source statements for these objects, placed in the appropriate place within the generated file. These functions MUST be defined prior to use, via the OBJECT pulldown of the GPF Editor. ═══ 31. Dlg Associate ═══ The upper right area, Free Columns, is a read-only list of all columns (fields) found in the current table. Select an item from this list and press either Add, which inserts the item in next sequential order, or Addtop to place it at the head of the list. Selected items appear in the left list and, in your application, will be written in top to bottom order. You can highlight and remove an item from the left list with the Destroy button. ═══ 32. Dlg User Function Definition ═══ Object User Function Object (ALT+B,U) User objects are defined source code statements or references to external library functions that can be embedded into the Gpf application definition. This provides a 'safe' method for inserting source code into the definition. Source code that is entered directly into the Gpf generated source files will be overwritten the next time a Toolkit Generate action is performed. For a detailed description of the Gpf source generation function, refer to the Toolkit Pull-down Actions section (Chapter 3.8) in this document. Clicking on the Object User Function Object (ALT+B,U) pull-down action will invoke the User Function Object List dialog window. The User Object Function List dialog window contains a list of all currently defined User Objects for the current application definition. The following section will describe adding, editing, or deleting these objects. OK Clicking on the OK (ALT+O) button or pressing the ENTER key will signal Gpf that you have completed any changes in the User Object Function List dialog window. View/Modify Click on this button (ALT+V) to display or modify any defined user defined source or function objects. The current selection in the User Function list will be chosen for this operation. This will invoke the User Function Editor dialog window for modification of the selected object. The User Function Editor dialog window is described in the following section. Add Clicking on the Add (ALT+A) button will invoke the User Function Editor dialog window for creating and editing the source code function object. The User Function Editor Dialog Window The User Function Editor dialog window contains an entry field, a multiple line entry field, and pushbuttons that allow you to define and type in source code comprising the User Function object. The User Function editor is not meant to replace high level program editors or word processors, but to provide you with a convenient way to insert source code functions into your application definition. Name Each User Function object has an identifying name. During the Gpf edit session, when you are applying a User Function object to a particular action, you would associate the action with this identifying object name. For information on associating User Function objects with actions, refer to the Common Dialog Window section (section 3.10). User Function Multiple LE Edit Box Below the Name entry field is the User Function edit box. This is where you can enter either a reference to a pre- existing function, or raw source code statements. Whatever statements are entered here will be generated into the source code generated from your application definition. Modifying any source statements here, as opposed to making changes in the actual source file, will insure that Gpf will not overwrite these statements. Gpf will overwrite any statements entered directly into the source code file because your additions will be unknown to both Gpf and the definition file. Ideally, you should save making modifications directly to the source code as the last step you perform before actual compilation. The edit box itself contains text editing features. Although they are not as extensive as a specialized programmers editor, it will sufficiently facilitate statement coding. Besides the basic features provided (i.e. Delete, Insert, etc...) the following controls are available: Cut And Paste - The standard cut and paste operations from the Presentation Manager clipboard are supported which allow you to copy source code from another file into the Gpf edit box. Tabs- Tab characters are supported for the purpose of indenting source code statements. OK Clicking on the OK button or pressing the ENTER key will signal Gpf that you have completed any additions or changes to the User Function Editor dialog window. If any of the options you have selected will result in a change to the application definition file, you will have to run the Toolkit Generate action in Gpf to view the changes that occur in the target source code. Refer to the Toolkit Pull-down section (section 3.8) for information on the Generate function. CANCEL Clicking on the CANCEL button, or pressing the ESC key will signal Gpf that you want to dismiss the User Function Editor dialog window without retaining any changes you have made. DESTROY By clicking on the DESTROY (ALT+D) button, you can remove this User Function object. When you select this button, Gpf will prompt you with a message to confirm that you want to destroy this object, as well as any children of the object. ═══ 33. Dlg SelectFile ═══ The File Open Pull-down Action The next pull-down action on the File menu is the Open action. When you choose the File Open (ALT+F,O) action, you are indicating to Gpf that you want to open an existing application definition file. Gpf definitions are where Gpf saves all the controls and windows that you create for your application. By default Gpf files have the following syntax: filename.ORC where filename is the eight character name that you originally assigned to the file when it was created. If you have a Gpf definition loaded in the current editing session, you will be prompted to save the definition before continuing. If you have made changes to the definition, and have not saved them, it is a good idea to save it now because they will be lost if you reply no to the save option. Gpf will then display the File Open dialog window, as shown in Figure 3-3. If you did not have a Gpf definition loaded, this dialog window would have appeared automatically. The File Open dialog window will allow you to enter the name of the target Gpf definition, as well as providing controls for locating other directories where the file may be located. Each of the controls in this dialog window will be discussed. Directory Is This is an informational, read only, display of the current working directory. If you change the target drive and directory with the Directories list box, this field will reflect the new target. File Name This entry field is where you can enter the name of the Gpf definition file you want to open. This field can be filled a number of ways; either by keying in the filename explicitly, or by making a selection from the FILES list box with the mouse. If you choose the latter, Gpf will automatically fill the File Name entry field with your list selection. By default Gpf will search for all files in the current working directory that have the following form: *.ORC where the '*' is the OS/2 wildcard character which means 'find all files with the ORC extension that can contain any characters before the extension'. Files This list box contains all the files that Gpf has found using the file name default pattern described above. You can use wild cards for searching file names with extensions other than the Gpf default by entering the pattern in the File Name field and pressing the ENTER key. The Files list box will display all the files that it finds that match the File Name pattern. You can select a filename from this list box by double clicking your selection. To use the keyboard in this list box, first use the TAB key to highlight the filename at the top of the list, and then use the UP and DOWN cursor keys to highlight different entries. Pressing the ENTER key will automatically load the selected entry in the Files list box. Directories If the file you want to open is not available in the current directory you can select a different drive or directory from the Directories list box. For example, if you want to load a file that has been stored to a floppy disk using drive A:, click on the drive identifier [A:] and Gpf will automatically search the drive with the pattern or explicit filename listed in the File Name field. OK By clicking on the OK button (ALT+O) you will signal Gpf that you are ready to load the current file that is listed in the File Name field. Gpf will check the drive and directory for that file's existence. If the file does not exist, Gpf will notify you with a 'Requested File Not Found' message, otherwise the file will be loaded. Another way to signal Gpf to load the file is by pressing the ENTER key. CANCEL Clicking on the CANCEL button will signal to Gpf that you want to abort the File Load operation and ignore the settings in the File Open dialog window. Another way to signal Gpf that you want to cancel the current operation is by pressing the ESC key. Note that if you had saved and closed a Gpf definition when you invoked the File Open dialog window, that definition is still closed. When you abort the File Open operation, Gpf will not have any definitions loaded at all. HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information for options available when opening a Gpf definition file. ═══ 33.1. Dlg SelectFile FileNameFilter ═══ File Name This entry field is where you can enter the name of the Gpf definition file you want to open. This field can be filled a number of ways; either by keying in the filename explicitly, or by making a selection from the FILES list box with the mouse. If you choose the latter, Gpf will automatically fill the File Name entry field with your list selection. By default Gpf will search for all files in the current working directory that have the following form: *.ORC where the '*' is the OS/2 wildcard character which means 'find all files with the ORC extension that can contain any characters before the extension'. ═══ 33.2. Dlg SelectFile Directory ═══ Directories If the file you want to open is not available in the current directory you can select a different drive or directory from the Directories list box. For example, if you want to load a file that has been stored to a floppy disk using drive A:, click on the drive identifier [A:] and Gpf will automatically search the drive with the pattern or explicit filename listed in the File Name field. ═══ 33.3. Dlg SelectFile File ═══ Files This list box contains all the files that Gpf has found using the file name default pattern described above. You can use wild cards for searching file names with extensions other than the Gpf default by entering the pattern in the File Name field and pressing the ENTER key. The Files list box will display all the files that it finds that match the File Name pattern. You can select a filename from this list box by double clicking your selection. To use the keyboard in this list box, first use the TAB key to highlight the filename at the top of the list, and then use the UP and DOWN cursor keys to highlight different entries. Pressing the ENTER key will automatically load the selected entry in the Files list box. ═══ 33.4. Dlg SelectFile Ok ═══ OK By clicking on the OK button (ALT+O) you will signal Gpf that you are ready to load the current file that is listed in the File Name field. Gpf will check the drive and directory for that file's existence. If the file does not exist, Gpf will notify you with a 'Requested File Not Found' message, otherwise the file will be loaded. Another way to signal Gpf to load the file is by pressing the ENTER key. ═══ 33.5. Dlg SelectFile Cancel ═══ CANCEL Clicking on the CANCEL button will signal to Gpf that you want to abort the File Load operation and ignore the settings in the File Open dialog window. Another way to signal Gpf that you want to cancel the current operation is by pressing the ESC key. ═══ 33.6. Dlg SelectFile Help ═══ HELP Clicking on the HELP button will invoke the Presentation Manager Help Facility. The Help window will provide you with information for options available when opening a Gpf definition file. ═══ 34. Messages ═══ Messages Msg001 GPF001: Grid X Error - Enter an integer in the range 1-5. Msg002 GPF002: Grid Y Error - Enter an integer in the range 1-5. Msg003 GPF003: File I/O Error: Write. Msg004 GPF004: File I/O Error: Read. Msg005 GPF005: File I/O Error: Write Open. Msg006 GPF006: File I/O Error: Read Open. Msg007 GPF007: Duplicate or Invalid Name. Msg008 GPF008: Delete this Window and its children? Msg009 GPF009: Delete this Control and its children? Msg010 GPF010: Delete this Menu and its children? Msg011 GPF011: Delete this Action and its children? Msg012 GPF012: Delete this help item and its children? Msg013 GPF013: Delete this 'Associate Data' and its children? Msg014 GPF014: Change this 'Associate Data' and Delete its children? Msg015 GPF015: Invalid Source Name. Msg016 GPF016: Invalid File Name. Msg017 GPF017: Icon/BitMap/Pointer File Not Found. Msg018 GPF018: Please Clean Desktop. Msg019 GPF019: Save the current File? Msg020 GPF020: DataBase Open Error. Msg021 GPF021: File not Found - (Binder) GpfEdit.Bnd Msg022 GPF022: Sql Host variable (Table_Column) is too long. Msg023 GPF023: Delete this Message and its children? Msg024 GPF024: Invalid Thread Name. Msg025 GPF025: Delete this Object and its children? Msg026 GPF026: Delete this Presentation and its children? Msg027 GPF027: Unable to execute GpfRun.Exe Msg028 GPF028: Set this window to 'SYSTEM MODAL'? Msg029 GPF029: This function will be implemented in future releases. Msg030 GPF030: CUA requires mnemonics for each choice in an ActionBar / PullDown / Button. Mnemonics are specified by placing a tilde (~) before the character which is to be the mnemonic for the choice. Bypass CUA requirements? Msg031 GPF031: CUA does not allow mnemonics on the CANCEL push Button. Bypass CUA requirements? Msg032 GPF032: The specified mnemonic has already been assigned to another control within the same selection field. CUA requires mnemonics to be unique within a selection field. Bypass CUA requirements? Msg033 GPF033: CUA requires that controls begin with a capital letter. Bypass CUA requirements? Msg034 GPF034: No DataBase specified in opening screen - Invalid Action. Msg035 GPF035: No Column Selected - Select Column or Set Null Table. Msg036 GPF036: Delete the UserText object and its children? Msg037 GPF037: The 'Max Length' field is invalid. Msg038 GPF038: Before EXIT, save the current File? Msg039 GPF039: Change the 'DATABASE NAME' and Delete all children? Msg040 GPF040: A file with this name already exists in this directory. Overwrite? Msg041 GPF041: Not enough memory to complete task. Terminate one or more other jobs. Select OK when ready, or select Cancel to terminate. Msg042 GPF042: The CATALOG contains more than 255 DATABASE names. Msg043 GPF043: The DATABASE contains more than 127 TABLE names. Msg044 GPF044: The DATABASE contains more than 1023 COLUMN names. Msg045 GPF045: Invalid Dll Name OR Dll Load Error. Msg046 GPF046: 'Dll User control' is not a Gpf API. Msg047 GPF047: Delete the UserControl object and its children? ═══ 34.1. GPF007 ═══ Msg007 Msg007 GPF007: Duplicate or Invalid Name. 'Name' can contain as many as 20 characters, including underscore characters (_), hyphens (-), and periods (.), as well as any letter or number. You cannot use spaces in the Names field. ═══ 34.2. GPF008 ═══ Msg008 Msg008 GPF008: Delete this Window and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.3. GPF009 ═══ Msg009 Msg009 GPF009: Delete this Control and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.4. GPF010 ═══ Msg010 Msg010 GPF010: Delete this Menu and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.5. GPF011 ═══ Msg011 Msg011 GPF011: Delete this Action and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.6. GPF012 ═══ Msg012 Msg012 GPF012: Delete this help item and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.7. GPF013 ═══ Msg013 Msg013 GPF013: Delete this 'Associate Data' and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.8. GPF019 ═══ Msg019 Msg019 GPF019: Save the current File? The following will occur based on the response to the file save prompt: o If you answer CANCEL to the prompt, Gpf aborts the 'SAVE'. o If you answer NO to the prompt, Gpf discard any changes you may have made to the current definition. o If you answer YES to the prompt, Gpf will save the current definition to disk. ═══ 34.9. GPF023 ═══ Msg023 Msg023 GPF023: Delete this Message and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.10. GPF025 ═══ Msg025 Msg025 GPF025: Delete this Object and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.11. GPF026 ═══ Msg026 Msg026 GPF026: Delete this Presentation and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.12. GPF036 ═══ Msg036 Msg036 GPF036: Delete the UserText object and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ 34.13. GPF038 ═══ Msg038 Msg038 GPF038: Before EXIT, save the current File? The following will occur based on the response to the file save prompt: o If you answer CANCEL to the prompt, Gpf aborts the shutdown. o If you answer NO to the prompt, Gpf will exit and discard any changes you may have made to the current definition. o If you answer YES to the prompt, Gpf will save the current definition to disk before exiting. ═══ 34.14. GPF047 ═══ Msg047 Msg047 GPF047: Delete the UserControl object and its children? Press Ok to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ ═══ There can be no keys associated with this item. The Window Menu Option simply lists all existing windows, and is, of course, a dynamic list. The names appearing in the list are user-defined. ═══ ═══ The Action key allows the interface designer to define the actions which are to occur if and when the user activates a particular control, or the control goes through a phase change (such as initializing or dismissing a window.) ═══ ═══ This button exists and is active under two conditions: o the control is capable of displaying DB information o you have defined the application as being related to a DataBase, in the properties screen (see File- Properties.) Press this key to define which fields from which tables are to appear in the control (listbox, etc), and the order in which they are to appear. Note: The columns may not line up between adjacent lines if a proportional font is used. Switch to monospace fonts if alignment is desired, or turn ON the Owner Draw option for the list (combo) box. ═══ ═══ Press the Cancel key to leave a screen and disregard changes to that screen. Note: This will not cause the object being defined to vanish; you must use the Destroy button to eliminate an object. ═══ ═══ Press Destroy to eliminate an object. This object and all its children will cease to exist. CAUTION: Destruction is FINAL. There is no UNDO function. ═══ ═══ Press EntryHelp if you want to: o define a help panel for the current object o define an information message for this object, the message to appear at the bottom of the parent window (which must have this field enabled.) ═══ ═══ The Help key promises further help for the particular screen you're in. ═══ ═══ The Ok button should be pressed if and when you are satisfied with all definitions or edits to this screen. Your changes are registered and you are returned to the previous level or screen. ═══ ═══ The View/Modify... key is used to look at or edit some defintions or actions. A list item must be selected prior to pressing this button. Alternatively, you can achieve the same effect by simply double clicking on the list item.