═══ 1. Compiler Setup Information ═══ You can use this to control your IPF Compiler. This will send the proper commands to correctly build your online document. ═══ 1.1. Base Project File ═══ This is the name of the base project file to use when compiling projects. It will also be the name of the file to compile if you are not using a project when you choose compile. Generally, this will be automatically filled in either with the current document file or the project base file by the IPF Editor. This will also be the name of the output file with the extension of either .HLP for online help files or .INF for online document files. ═══ 1.2. Output View (INF) File Type ═══ This will cause the compiler to generate a VIEW.EXE compatible INF file. ═══ 1.3. Output Help (HLP) File Type ═══ This will cause the compiler to generate a help file that can be used with applications that you write. ═══ 1.4. Display Compiler Results ═══ This will enable the compiler results window during the compile. ═══ 1.5. Generate Cross Reference ═══ This will cause the compiler to generate a cross-reference list of all tags used in your document. ═══ 1.6. IPFC Environment ═══ This is the IPFC environment variable value that is required by the IPFC Compiler. It points to the IPFC directory in the OS/2 2.x Toolkit. This is filled in automatically by the IPF Editor if you have the IPFC environment variable defined in your CONFIG.SYS. If you don't have it predefined you will need to fill this value with the :\TOOLKT2x\IPFC directory. ═══ 1.7. Compiler ═══ Pressing this will let you locate your IPFC compiler on your disk. If the IPFC compiler is in your path, just press Select. Otherwise, you will need to use the file dialog to locate your IPFC compiler. ═══ 1.8. Warning Level 1 ═══ This will set the compiler warning level to 1. This will return level 1 only messages. Level 1 messages are the most severe. For a complete list of error messages see the IPF Compiler Online Help "Compiler Error Messages" section. ═══ 1.9. Warning Level 2 ═══ This will set the compiler warning level to 2. This will return level 1 and level 2 messages. ═══ 1.10. Warning Level 3 ═══ This will set the compiler warning level to 3. This will return all levels of warning messages. Level three messages are the least severe (informational). ═══ 2. Compiler Results Window ═══ This window shows you the results of your last IPF Compiler compile. You may scroll through the list of messages shown here. If you see an error message (a message that starts with " nnn") you may double click on it and you will be taken directly to the error in that file and its best guess as to the location in that file. Be sure to save the current file you are working on, however, before exercising this option as the current file is not saved before switching to the new file. The following shows how to read an error message: 101: Invalid Document Body. The file and the line number containing the error is shown in the opening brackets. The next number (in the example 101) shows both the severity (indicated by the one-hundred level number) and the error message index (the 01 portion). If you look up error 101 you will see that it is an "Invalid Document Body" message. ═══ 3. File Open Information ═══ This shows a list of the last twenty files that you have edited. If you are working on a project it will contain the files that are associated with the project to make it easier to keep track of them and access them. If you are using the project mode you will also see file icons at the bottom of the IPF Editor display. You can select any file in your project by clicking once on the file icon. If there are more files in your project than will fit in the display the scroll bar at the bottom of the IPF Editor will let you scroll through the list of file icons. ═══ 3.1. Previously Edited Files ═══ This shows files that you have previously edited or that are in the current project. To use this just click once on the desired file and then select the Open pushbutton or double click on the file name. ═══ 3.2. File List Information ═══ This will cause the standard OS/2 File Open dialog box to appear. From that you may select any IPF file that you wish to open. ═══ 4. Panel Headers for HyperLinking Dialog ═══ The Panel Headers for Hyperlinking contains a list of all of the panel headers that have been created in the current file or project and may be hyperlinked to. Use this to select panel headers to hyperlink text or graphics to. This is only brought up when you choose the "Hypertext/Graphics link" command. You may hyperlink to the same panel from multiple text locations (i.e. from you may mark different sections of text and link them to the same panel header). Note: You will probably want to use the "Application Generate Auto-hypertext/graphics links" menu item to generate all hypertext links. ═══ 4.1. Panel Headers for HyperLinking List ═══ The Panel Headers for HyperLinking list contains a list of all of the panel headers scanned in from your document. This list is only shown as a result of selecting the hypertext/graphics link command. You may double click the left mouse button on a panel header or click once on the desired item and then click on the "Select" push button. ═══ 5. Panel Header List Information ═══ This shows a list of panel definitions that may be used to define panel header names and res codes. These panel definitions are generated from the C include files you load in using the "Application Load definition include file." If you have not loaded an include file this list will be empty. ═══ 5.1. Panel Header Name List Usage ═══ Select the definition you want to use for a panel header name. You may click once on the panel header name and then select the "Select" push button or you may double-click on the desired panel header name. If a definition has an IPF file name before the definition name, as shown below, the definition has already been used for a panel header and should not be used again. <> IDD_SAMPLE_DIALOG ═══ 5.2. Panel Header Name Select ═══ Use this to select the panel header definition currently highlighted. You can also double click on the panel header definition name directly. ═══ 5.3. Panel Header Name Cancel ═══ Use this to cancel the panel heading creation. ═══ 5.4. Panel Header Name Create ═══ Selecting this will let you enter in a new panel heading definition for panels that you wish to create that don't have pre-defined definitions. Generally this would be used if you are creating on-line documentation where there is no C program's source code containing these definitions. You might also use this if you are creating on-line help for your application and you wish to include a footnote or other entry that isn't directly tied to your application. ═══ 6. Application Menu Information ═══ This menu allows you to automatically create the resource, include, and C Source code file required to add help to your application. It also let's you select an existing include file to use as definitions for header statements. ═══ 6.1. Create Help Resource Tables Information ═══ This will create all of the files you need to add Help support to your C program. You must also have a 32 bit C Compiler such IBM's C Set/2 and the resource compiler included with the IBM OS/2 2.0 Toolkit. When you select this option the following steps will occur: The IPF Editor will ask you for the name of an include file to use as the basis for generating panel definitions (typically this is the include file containing your C #define statements used when you defined your menus). It will then scan this file and extract from it your menu, dialog, and dialog control definitions. You can only select groups of files located in the same directory. Next you will be asked for the name of the resource file to be generated to hold the help resource statements required to add help to your application. This file should NOT be the same as your primary resource file containing menu and/or dialog statements. The IPF Editor will now attempt to scan the main resource files for your application. It will read the menu, dialog, and dialog control statements and extract the definition labels for each control. If you are building help for a large project it is desirable to create a separate directory and copy all of the resource files from each module into it. It may also ask you for the application resource ID value (the value assigned to the applications menu, acceltable, or icon statements in the resource file) if it is unable to find a MENU table to extract it from in the first resource file scanned. Just select the appropriate ID value from the list displayed and that value will be used. The IPF Editor will ask you for the name of the include file to create for use in your application and in your resource file. This will contain all of your panel definitions for your help files. The IPF Editor next will ask you for the name of the C Source Code file to generate. This file will contain several functions that you may call from your C application. You may either compile and link this file into your application or create a Dynamic Link Library and link it in that way. Note: No prototypes are generated for these functions. It is up to you to create the prototypes required and use them in your source code. The following functions are available: - HelpInit Call this after you have created your main window for your application. This will activate the help system with your applications help files. - HelpDestroyInstance This will remove the help system and should be called before you exit your program. If you do not call this before exiting OS/2 will automatically deassociate the help instance from your application (since your application no longer exists). - HelpProcessMessages Call this from your main window function for the following messages: o WM_ACTIVATE o WM_INITMENU o WM_COMMAND o HM_ERROR o HM_GENERAL_HELP_UNDEFINED o HM_HELPSUBITEM_NOT_FOUND The following table shows the functions generated, their arguments, and their purpose: ┌────────────────────┬─────────────────────────┬─────────────────────────┐ │Function │Description │Arguments │ ├────────────────────┼─────────────────────────┼─────────────────────────┤ │HelpInit │This intiializes the help│HWND hwndFrame - Owner of│ │ │system and sets the help │help instance. │ │ │instance to your │ │ │ │application help │ │ │ │document. │ │ ├────────────────────┼─────────────────────────┼─────────────────────────┤ │HelpDestroyInstance │This removes the help │No Arguments. │ │ │instance. This will │ │ │ │allow you to set a new │ │ │ │help instance or you may │ │ │ │call this before your │ │ │ │program exits. │ │ ├────────────────────┼─────────────────────────┼─────────────────────────┤ │ProcessHelpMessages │This will process │HWND hwnd, USHORT msg, │ │ │WM_ACTIVATE, WM_INITMENU,│MPARAM mp1, MPARAM mp2 - │ │ │and WM_COMMAND messages │Standard window procedure│ │ │and process help related │arguments. │ │ │portions of these │ │ │ │messages. │ │ └────────────────────┴─────────────────────────┴─────────────────────────┘ The following limitations exist (per project) when creating application help resource files: o 1 Primary Menu The first MENU statement found is the one used. Any following MENU statements are ignored. Generally, applications have a menu used in the menu bar, and some may have a pop-up menu containing a sub-set of the regular menu. The IPF Editor will generate help resource files that will provide help for both menus automatically. o 256 Menu Item o 4096 Panel Definition Names from Include Files Include files contain base ID code and definition and are automatically converted to PANEL_xxxx statements as required by your tagged document(s). o 128 Dialog boxes o 32 Controls per dialog box o 32 Include Files (containing definitions for dialog and menu items) General Rules for easily creating help for your applications: o Always create all dialog boxes using individual resource ID values. Don't create two or more dialog boxes that have controls with the same ID's in them. Also avoid creating controls or dialogs with resource ID's the same as Menu ID's. o Adding Headers If you wish to add headers to a project that has already been loaded always save the file, then reload the project before using the Application Generate Resource Option. This allows the IPF Editor to accurately scan all files that have been modified before building the help related files. o Scanning Include Files Be sure to scan the include files before trying to add headers as it will automatically create header panel ID's for you. If you try to generate a header and no panel ID's are are available, you have not yet scanned an include file. o Help Menu Items The following help menu items are automatically generated in the C source file: - IDM_HELP_USING - IDM_HELP_INDEX - IDM_HELP_CONTENTS - IDM_HELP_GENERAL To take advantage of the code generated to process these messages you must define them in an include file. You must also create the appropriate menu item statements in your applications menu resource statement. If you do not want to handle these in your application comment them out of the C source file generated. Warning: You must define one panel as PANEL_MAIN so that the application can correctly initialize the help manager. The PANEL_MAIN is the general help displayed when the user presses F1 with no menu or dialog selected. ═══ 6.2. Load Definition File ═══ This will scan a C include file and extract all of the definition labels defined in it. These may then be used for header references when creating online help documents. You may select more than one include file to scan as long as they all reside in the same directory. ═══ 6.3. Generate Auto-Hypertext Links ═══ This will scan the current file for any words that match previously defined headings in any file in the current project. It will then insert the appropriate hypertext link command. Matches are based on the heading name matching exactly (not counting case) text in the file. If the text being linked ends with an 'S' (as in a plural version of the word) the 'S' will be included in the hypertext link. No marking is required for this function to work. ═══ 6.4. Application Generation Control Panel ═══ This control panel lets you select which file names you wish to change when generating help resource files for use with your C program. You can select any of the check-boxes shown to mark which file names you wish to reselect during the generation process. If you select Start Generation without selecting any check-boxes the IPF Editor will automatically generate all files without any further input from you (If you have filled in these values from a previous generation). ═══ 6.4.1. C Include Files ═══ This lets you select the C include (.h) file to scan for definition statements used as headers in your help file document. This is the same as the Application Load definition include file function but must be filled in correctly for the auto table generation to work. You should select any include file that contains "#define" statements that are used in menu or dialog definitions. ═══ 6.4.2. C Include Files List ═══ This contains a list of C Include files that will be scanned for definition statements that may be used in your help document. These files are used to correctly generate the help tables. All include files must reside in the same directory. ═══ 6.4.3. C Resource Files ═══ Mark this to let you select your resource files containing menu and dialog definition statements. ═══ 6.4.4. C Resource File List ═══ This contains the resource (RC) file(s) that will be scanned for MENU, DIALOG, and other related resource file statements. The help panel definitions are built from these files. ═══ 6.4.5. C Panel IncludeFile ═══ Selecting this lets you specify the C Include (.H) file to generate containing panel definitions for use with the help resource file. ═══ 6.4.6. C Panel Include File Selected ═══ This shows the currently selected C Include file that will be generated and contain the panel definitions for use with the help resource table being generated. ═══ 6.4.7. Help Resource File ═══ Selecting this lets you set the name of the RC (resource) file to generate containing the help resource tables. ═══ 6.4.8. Help Resource File Name ═══ This contains the name of the RC (resource) file to generate. This resource file contains the HELP table statements that will be used in your resource file. ═══ 6.4.9. C Source File ═══ Selecting this option lets you choose the name of the C language source code file you want to generate. ═══ 6.4.10. C Source File Selected ═══ This shows the currently selected name for the C Source code file to generate. ═══ 6.4.11. Start Generation ═══ This will being the generation of the help resource files. ═══ 6.4.12. Generate Panels From RC File ═══ Using this will let you select a resource (.RC) file to generate panel headers from. It will automatically scan the RC file and determine what headers are needed to generate complete help for your application. All header resources will be generated in separate files, and added to the current project file. You may find this function easier to use using the File Create Project menu item. ═══ 7. Compiler Menu Information ═══ This menu provides you with the ability to compile your IPF Documentation files. You must have the IBM OS/2 2.0 Toolkit IPF Compiler (IPFC.EXE) to actually compile and the IPF Editor will ask you to locate the IPFE.EXE program on your drive (typically in the \TOOLKT2x\OS2BIN directory). ═══ 7.1. Compile Document File ═══ Use this to compile the current file you are editing. This is useful for testing whether or not the current file has any problems. If this file is part of a project. you can compile it for debugging by adding :userdoc. and :euserdoc. statements surrounding the document. Generally, however, you will want to use the Compile Project command to build the project documentation completely. ═══ 7.2. Compile Project ═══ This will compile all files in a project and generate the file (either .HLP or .INF) that will you can use with either your application (if developing a .HLP file) or the VIEW.EXE program supplied with OS/2 2.0. ═══ 7.3. Test Document ═══ This will let you test your online documentation file. It will attempt to run VIEW.EXE and have it display your document. This will not work with Application Help documents. ═══ 7.4. Show Compiler Results ═══ This will toggle displaying compiler results in the compiler results window. Compiler results will be displayed when you enable this menu option. The compiler results are taken directly from the IPFC compiler. For explanations of the results displayed see the IPF Compiler documentation. When looking at the compiler results you may see errors. You may double click on the error and you will be taken immediately to the file containing the problem and at the appropriate line number. ═══ 8. Edit Menu Information ═══ These menu options allow you to undo mistakes, cut, copy, and paste marked text. ═══ 8.1. Edit Undo Information ═══ This will let you restore the last change you made to the document if you change your mind. ═══ 8.2. Edit Cut Information ═══ Use this to cut marked text out of the current document and place them in the OS/2 system clipboard. You can also use the Shift Del key to cut text out and place it in the clipboard. Text cut this way and placed in the clipboard may be pasted back into any application that supports the clipboard paste command. ═══ 8.3. Edit Copy Information ═══ Use this to copy marked text from the current document and place it in the OS/2 system clipboard. You can also use the Ctrl-Ins key combination to copy marked text into the clipboard buffer. Text copied this way and placed in the clipboard may be pasted back into any application that supports the clipboard paste command. ═══ 8.4. Edit Paste Information ═══ Use this option to paste the contents of the clipboard into the current document at the current cursor location. You can also use the Shift-Ins keyboard combination. ═══ 9. File Menu ═══ The file menu option contains commands that allow you to create new IPF files, edit existing IPF files, merge IPF files together, and create projects. It also lets you print IPF files and import text files so that they are compatible with the IPF file format. ═══ 9.1. File New ═══ The File New command allows you to create new IPF files for editing. The current file (if any) is erased from the editing window and the cursor is reset to the top of the list. If you are not in project mode you will be asked if you want to use the standard online document template. If you say yes, the IPF Editor will automatically provide you a template for creating a single file online document, complete with the initial panel header required by all online documents. If you are in project mode you will be asked whether you want to add the new file you are creating to the current project. If you say no a new file will not be created. If you say yes an empty file will be added to the current project (it will have the title "Untitled.ipf"). You must use the "File Save As" menu option to save the file to the project permanently. If you wish to quit working on the current project and create a new document use the "File Reset (clear) project" menu option. ═══ 9.2. File Open ═══ The File Open command allows you to edit existing IPF files. You may either select a file from the list of previously opened files or from the standard OS/2 File Dialog box. To create a new file select the File New command. If you are using a project the list of files will contain those currently part of the project. Alternatively, you may wish to use the file icons below the editing window to select project files. ═══ 9.3. File Merge ═══ The File Merge command allows you to merge an IPF file into the current file beginning at the current cursor location. Any text following the current cursor location is pushed back to immediately following the merged text. Note: You should only merge IPF files. Do not merge text files as they may not be compatible with the IPF editor. ═══ 9.4. File Select Project ═══ The Select Project menu option allows you to select an existing project to work on. This will replace the current project if one is already selected. Projects may be created using the File Create Project menu option. Only one project may be opened at one time. Each project contains a list of active files, base file, ═══ 9.5. File Create Project ═══ The Create Project option allows you to select IPF files to group together into a single project to produce either a .INF or .HLP file. ═══ 9.6. File Create Base File ═══ This option allows you to create a base file that all chapters/sections of your documentation will be merged into when you compile your document. This file has the same extension as other help source files (.IPF). Note: You do not need to use this option if you are using a project since the base file creation is automatic. ═══ 9.7. File Reset Project ═══ This removes the current project from memory. It will not be removed from the disk. The IPF Editor will no longer be in project editing mode (therefore project related functions such as Compiler Compile Project, Create Base File, etc. will be disabled). ═══ 9.8. File Import Word Processing/text File ═══ Use this to read in an ASCII text or WordPerfect file and convert all colons to &colon. and make other required adjustments to ease the conversion. Future revisions of the IPF Editor may directly read other word processing files. ═══ 9.9. File Save ═══ This lets you save the file you are editing. If this option isn't available you haven't made any changes to the file. Information will be saved to the current file name supplied. If the current file is "Untitled.ipf" you will not be able to use this option. Note: To save it to a different file name use the File Save As menu option. ═══ 9.10. File Save As ═══ This option prompts you to select the directory and file name to save the current file. If the selected file already exists the file will be overwritten. If the current file hasn't been altered this option will not be available. ═══ 9.11. File Print ═══ This option will let you print the current file to your printer. ═══ 9.12. File Quit ═══ This allows you to exit the IPF Editor. If you have made changes to your document but haven't saved them you will be warned that you should save the changes before quitting. You will also be asked whether you want to save the current IPF Editor settings. These include the position of the IPF Editor window, various options (such as requiring tag names, autosave features, etc.), and the last 30 files you have edited list. See Options Save Options Preferences for more details. ═══ 9.13. Project Definitions ═══ Projects are groups of files that are all part of the same help or online document. Typically projects consist of IPF files set up so that there is one IPF help file per chapter or section of the application. This help file was setup to have each sub-menu in a separate IPF file. Projects require a base file that will be generated automatically by the IPF Editor. Each base file contains .im statements that imbed (or include) each IPF file. ═══ 9.14. IPF File Format ═══ The IPF file format requires that the text file contain straight ASCII characters (extended characters are OK). ═══ 9.15. Import File Type Selection ═══ This dialog allows you to select the type of file you are about to import. Currently, ASCII text and WordPerfect 4.2, 5.0, and 5.1 are supported. Use the 5.0 option to import WP 4.2 options. ═══ 9.16. Importing WordPerfect 5.0 ═══ This will read a WordPerfect 5.0 for DOS or OS/2 file and import it into the IPF Editor. Many of the WordPerfect text markings will be converted to IPF tags. If your WordPerfect document has a table of contents each TOC entry will create a new panel in the IPF file(s) created. Note: If the file is larger than 60,000 bytes it will be split into several different files automatically. ═══ 9.17. Importing WordPerfect 5.1 ═══ This will read a WordPerfect 5.1 for DOS or Windows file and import it into the IPF Editor. Many of the WordPerfect text markings will be converted to IPF tags. If your WordPerfect document has a table of contents each TOC entry will create a new panel in the IPF file(s) created. Note: If the file is larger than 60,000 bytes it will be split into several different files automatically. ═══ 9.18. Importing ASCII ═══ This sets the current import file type to ASCII. ASCII files have the colons replaced with &colon.. No other changes to the file are made. Note: If the file is larger than 60,000 bytes it will be split into several different files automatically. ═══ 9.19. Import Start ═══ This starts the import file operation. From here you will be taken to the file selection dialog where you can select the actual file to import. ═══ 9.20. Import Cancel ═══ This allows you to cancel the current import file operation. ═══ 9.21. File Create Project Dialog Help ═══ Use this dialog to create new projects. It will allow you to quickly and easily create projects for either online help or online documents. Note: Remember, the base file name is also the name of the output file with the extension of either .HLP for online help files or .INF for online document files. ═══ 9.21.1. Selected Files List ═══ This list contains the files that are currently included in the project. You can add IPF files to the project using the "Select Existing IPF Files" or "Generate IPF from RC" push buttons. ═══ 9.21.2. Select Existing IPF Files ═══ Use this to bring up a standard file dialog box to select existing IPF files to add to your project. ═══ 9.21.3. Generate IPF from RC ═══ Use this to scan application resource (.RC) files to generate IPF files including Panel Headers. This is the fastest way to create new online help projects. The created files will be placed in the Selected Files list. ═══ 9.21.4. Project Base File ═══ This contains the name of the project base file. This file is used to hold the basic IPF Tag commands required for IPF documents/online help files. It also includes all of the IPF imbed statements linking your IPF files to the current project. Note: This will also be the name of the output file with the extension of either .HLP for online help files or .INF for online document files. ═══ 9.21.5. Select Base File Name ═══ Use this to select an existing base file for use with your project. If you want to create a new base file name it is easier to just enter the new name in the Project Base File entry field. This will also be the name of the output file with the extension of either .HLP for online help files or .INF for online document files. ═══ 9.21.6. Project Type Online Help ═══ Select this radio button to generate online help for your applications. ═══ 9.21.7. Project Type Online Documentation ═══ Select this radio button to generate online documentation. ═══ 9.21.8. Project Title ═══ Enter a description of your project here. If you are creating an online documentation project this will also appear as the title of the document when examined with the VIEW.EXE program. ═══ 9.21.9. Project Creation Save ═══ Select this to create your project. ═══ 9.21.10. Project Creation Cancel ═══ Select this to cancel project creation. ═══ 9.22. Print Setup Help ═══ Use this dialog to set up your printer for printing the current file. ═══ 9.22.1. Select Print Queue List ═══ Select the print queue to print to. ═══ 9.22.2. Copies Entry Field ═══ Enter the number of copies to print in this field. The default is one copy. ═══ 9.22.3. Print All Files ═══ Select this radio button to print all of the file. ═══ 9.22.4. Print Marked ═══ Select this radio button to print the marked text (marked with the mouse). ═══ 9.22.5. Raw Output ═══ Select this radio button to print the IPF tags as well as the text. ═══ 9.22.6. Print Setup Print ═══ Select this to print the file ═══ 9.22.7. Print Cancel ═══ Select this to cancel the print operation ═══ 9.22.8. Print Preview ═══ Select this to preview your print before actually printing. ═══ 10. IPF Editor General Help ═══ Overview The IPF Editor provides an easy to use method for creating both online documentation and online help files for your applications or as stand-alone files to use with the VIEW.EXE program provided with IBM OS/2 2.x. For more detailed information on using the IPF Help Editor see the tutorial and sample projects included with this package as well as the IBM Information Presentation Facility Guide (Version 2.x) and the IPF Editor Reference. Currently there are two versions of the IPF Editor available. The first is a 25-usage trial version with some options disabled. The second is a registered version that must be purchased from PCS and includes many more features, customer support, updates to new versions, a complete tutorial, optional printed documentation, samples, and more! The IPF Editor IPF Commands menu provides you with a large variety of IPF tags to choose from. Some commands require you to mark text (high-light it) before selecting the command. If an IPF command is not available it is because it requires marked text to operate correctly. Use your mouse to mark the desired text, then select the tagging command you want to apply to the marked text. The following general information is available: o Using the IPF Editor to create an Online Document (.INF) File o Using the IPF Editor to create a Help (.HLP) File o Project File Selection and Creation o Graphical Tool Menu o Registration o Source File Size Limitations o C Functions Created for Online Help Support o Final Caveats ═══ 10.1. Using the IPF Editor to create an Online Document ═══ To create on online document perform the following steps: o Enter all text that you wish to include in your document, or import text from a word processor. o Mark the document using the standard IPF commands available in the IPF Editor or enter them manually if they are available in the IPF Guide but not directly supported by the IPF Editor. o Create a project by selecting the files to include in your document using the Create Project. All files must be in the same directory. o Use the Compiler Compile Project option to generate your online document. o Test your online document using the Compiler Test Document option. ═══ 10.2. Using the IPF Editor to create an Online Help File ═══ The IPF Editor makes creating online help for your C and C++ applications easy. To create an online help file you must tag all panel headers, compile the IPF files (creating a .HLP file), and add resource statements and C function calls to your application. To generate the resource, C source, and include files to successfully add online help to your C application you will need to use the "Application Create Help Resource Tables" option. It will ask you to select several files (the source resource files and include files), decide on names for the output files (the resource help table file name, include file name, and C source file name), and then it will generate those files for you. Note: You must also have a 32 bit C Compiler such IBM's C Set/2, C Set ++ and the resource compiler included with the IBM OS/2 2.x Toolkit. Use the following list for the steps to successfully add context sensitive help to your applications: Create Panels Each panel (a panel is one section of a online help file when - you are currently looking at a single panel) in an online help file must have a panel header. The panel header is created using the panel header menu command. There are six level's of panel headers, but only the top four (1-4) are supported by the hypertext/graphics linking commands. Each panel header in an online help file requires a tag res number. You must enable the "Options Require Tag Res" menu option to turn this res number generation on. You may also wish to generate tag names for each panel to make it easier to keep track of panel names when creating hypertext/graphics links and other operations performed on panel headers. Each panel's tag resource number must match the resource identifier for the menu item, dialog item, etc. in your application. You can make panel definition much easier by scanning the include files for your application using the "Application Load definition include file" option. Once you've read in those files every time you create a panel header (the title of the panel) the tag res number will be set to the resource ID number from the #define definition you select from a list of include file definitions. If you've turned on the tag name option the #define label will automatically be used to create a "PANEL_