═══ 1. Trademarks ═══ The following terms are trademarks of the IBM Corporation in the United States or other countries: C Set ++ IBM VisualAge Visual Builder WorkFrame ═══ 2. General Tasks for Visual Builder ═══ Visual Builder is an object-oriented development environment that you can use to visually construct applications with graphical user interfaces using a technology called construction from parts. To develop an application with Visual Builder, you must do the following: 1. Create your application. 2. Use the Composition Editor to create your user interface. 3. Make connections between the parts. To learn more about using Visual Builder, refer to the following Visual Builder documentation: Visual Builder User's Guide To learn more about using Visual Builder parts, classes, and features to build applications Visual Builder Visual Builder Parts Reference For details about specific Visual Builder parts, classes, and features you can use ═══ 3. Visual Builder Help Menu Items ═══ The central portion of the Help pull-down menu is dedicated to all the online documentation that is shipped with Visual Builder. Making a selection from any of these cascade menus launches the Visual Builder documentation associated with the menu item. You can find the same documentation in the Information folder found in the Visual Builder Desktop folder. The cascade menus are organized as follows: At A Glance Provides general information on using Visual Builder, such as what is new in this release, the overall tutorial, a description of all the sample programs, and answers to frequently asked questions. Using Visual Builder Provides direct access to the individual sections of the user's guide. For example, if you are using the Browser, you would look in the Browsing section for more information. How Do I? Selections Provides access to the How Do I... information for each component of Visual Builder. Use How Do I? information to find out how to perform common tasks within Visual Builder. C/C++ Provides access to the information that is specific to programming in C and C++. Class Libraries Provides access to the Visual Builder Open Class Library documentation. Visual Programming Provides access to the information that is specific to creating your programs visually. OS/2, PM, and Graphics Provides access to the documentation for the key aspects of OS/2, Presentation Manager, and graphics programming. IPF, REXX, and Editing Provides access to the IPF, REXX and Editor references. SOM and WorkPlace Shell Provides access to the information specific to SOM and the WorkPlace Shell. Multimedia Provides access to the information that is specific to creating multimedia applications. ═══ 4. Project Pull-Down Menu Help ═══ The Project menu gives you direct access to all of the actions that you can perform from your current location. ═══ 5. How To Use the Task Roadmap ═══ Use How Do I? to see a list of tasks you can perform using Visual Builder. To use the task roadmap, select a task from the list. Visual Builder displays the steps you can use to perform the task. To close the task roadmap, do one of the following:  Press F3.  Click on the window using mouse button 2, and select Exit from the pop-up menu. ═══ Product information ═══ Use Product Information to see version and copyright information about Visual Builder. ═══ 6. Building an Application Visually ═══ The Composition Editor lets you visually construct the composite parts that make up your application. From the Visual Builder window, you open the Composition Editor to edit a part. By editing the part that represents the overall structure of your application (usually its main user interface view), you graphically build your application by making connections between parts. Building an application with the Composition Editor involves the following tasks:  Adding a part to the parts palette  Changing part settings  Manipulating parts on the free-form surface  Modifying the parts palette ═══ 6.1. Adding a Part from the Parts Palette ═══ To add a part from the parts palette to the free-form surface, follow these steps: 1. In the left column of the parts palette, use mouse button 1 to select the category containing the part you want. The icons representing the parts in the selected category appear in the right column. 2. Select the part with mouse button 1. The mouse pointer becomes a crosshair, indicating that the mouse pointer is now loaded with the part you selected. 3. Move the mouse pointer to the location where you want to place the part. 4. Press and hold mouse button 1. An outline of the part you selected appears under the mouse pointer on the free-form surface. Without releasing the mouse button, you can move the mouse pointer to position it precisely. 5. Release the mouse button. The part you selected is placed at the location of the mouse pointer, and the mouse pointer returns to normal. If you need to add multiple parts of the same class, before you select one or more categories that contain the parts you want, select the Sticky check box. If the part you want to add is not on the parts palette, you can add it with the Add new part choice from the Options menu. ═══ 6.2. Changing Part Settings ═══ To change the settings for a part, follow these steps: 1. Place the mouse pointer over the part and click mouse button 2. The pop-up menu for the part appears. 2. Select Open settings from the menu. The settings view for the part appears. For help with filling out the settings view for a part, open the online help for that part. ═══ 6.3. Manipulating Parts on the Free-Form Surface ═══ You can perform the following operations on most parts:  Selecting and deselecting parts  Moving a part  Resizing a part  Copying a part  Editing part text  Displaying part pop-up menus ═══ 6.3.1. Selecting and deselecting parts ═══ To select a part, click once on the part with mouse button 1. To select more than one part, do either of the following:  Position the mouse pointer over the first part you want to select and press mouse button 1. While holding the mouse button down, move the mouse pointer over the other parts you want to select and then release the mouse button.  Hold down the Ctrl key and click with mouse button 1 on each of the parts you want to select. Selection is indicated by handles, small boxes that appear on the corners of the selected part. If you select more than one part, the one you selected most recently has primary selection, indicated by closed or solid handles (■); the others have open handles. To deselect a part, position the mouse pointer over the part, hold down the Ctrl key, and click mouse button 1. ═══ 6.3.2. Moving a Part ═══ To move a part to another location on the free-form surface, follow these steps: 1. Place the mouse pointer over the part you want to move. 2. Hold down mouse button 2 and move the mouse pointer to the new location. As you move the mouse, you see an outline of the part you are moving, and target emphasis (a solid border) around the window or form that contains the part when you release the mouse button. 3. Release the mouse button. The part appears in its new location. If the part you are dragging is one of several that you selected, all of the selected parts move together. If you start to move a part and then decide you want to leave it where it is, press Esc before releasing the mouse button. ═══ 6.3.3. Resizing a Visual Part ═══ To change the size of a visual part, follow these steps: 1. Select the part by clicking once on the part with mouse button 1. 2. Once the part is selected, place the mouse pointer over one of the handles and press mouse button 1. 3. Hold down mouse button 1 and drag the handle to a new location. As you move the mouse, you see the outline of the part dynamically changing size. When it is the size you want, release the mouse button. The part changes to the size that you chose. If you start to resize a part and then decide you want to leave it as it was, press Esc before releasing the mouse button. ═══ 6.3.4. Copying a Part ═══ To copy a part, follow these steps: 1. Place the mouse pointer over the part you want to copy. 2. Hold down the Ctrl key and mouse button 2, and move the mouse pointer to the location where you want the copy to be. As you move the mouse, you see the outline of the part you are copying, and target emphasis (a solid border) around the window or form that contains the new part when you release the mouse button. 3. Release mouse button 2 and the Ctrl key. The part appears in its new location. If the part you are dragging is one of several that you selected, all of the selected parts are copied. If you start to copy a part and then decide you do not want to, press Esc before releasing the mouse button. ═══ 6.3.5. Editing Part Text ═══ To edit the text of a label for a part, follow these steps: 1. Hold down the Alt key. 2. Click on the text you want to change with mouse button 1. The text is selected for editing. 3. Edit the text. 4. When you are finished, press Shift-Enter, or click with mouse button 1 on any part other than the one whose label you edited. ═══ 6.3.6. Displaying Part Pop-Up Menus ═══ To see a menu of operations you can perform on a part, click once on the part with mouse button 2. The pop-up menu for the part appears. Choices on the pop-up menu allow you to delete the part, rename it, and perform other operations (which vary from one part to another). ═══ 6.4. Tearing Off Attributes ═══ To tear off an attribute, follow these steps: 1. Select Tear off attribute from the pop-up menu of the part whose attribute you want to access. Another menu appears listing all of the attributes of the part. 2. Select the attribute you want to tear off. The mouse pointer is now loaded with a part representing the attribute you selected. Place the new part on the free-form surface, as you would any other nonvisual part. The torn-off attribute now appears as a stand-alone part connected to the original part by an attribute-to-attribute connection. ═══ 7. Modifying the Parts Palette ═══ You can modify the contents of the parts palette in the following ways:  Add a new category  Remove a category  Add a new part  Remove a part By modifying the parts palette, you can reuse parts you have purchased or built yourself. ═══ 8. Visual Builder Window ═══ Use the Visual Builder window to work with parts. Tasks for this window  General Tasks for Visual Builder  Load or unload .vbb files  Save changes made to .vbb files  Import or export part information  Create new parts  Edit, copy, delete, or rename parts  Generate source code for the part and for the main application  Add parts to the parts palette  Filter part names Panes in this window The Visual Builder window consists of the following panes:  Loaded part files  Visual parts  Nonvisual parts  Loaded type info  Status area Menu bar choices  File  Part  Edit  Options  Help ═══ 8.1. Loaded Part Files ═══ The Loaded part files pane in the Visual Builder window provides a list of .vbb files that you have already loaded into Visual Builder. To load one or more files, do the following: 1. Select FileLoad. 2. From the window that appears, select the files you want to load. 3. Select OK. By default, Visual Builder loads vbbase.vbb, which contains all parts shipped with Visual Builder. ═══ 8.2. Visual Parts ═══ The Visual parts pane in the Visual Builder window provides a list of visual C++ parts you can work with. To see what parts are available, select one or more .vbb files from the Loaded part files pane. To work with parts, follow these steps:  Select more parts from the Visual parts pane and the Nonvisual parts pane.  Select a choice from the Part menu bar item. ═══ 8.3. Nonvisual Parts ═══ The Nonvisual parts pane in the Visual Builder window provides a list of nonvisual C++ parts you can work with. To see what parts are available, select one or more .vbb files from the Loaded part files pane. To work with parts, follow these steps:  Select more parts from the Visual parts pane and the Nonvisual parts pane.  Select a choice from the Part menu bar item. ═══ 8.4. Loaded Type Information ═══ The Loaded type information pane in the Visual Builder window shows the types defined in the files you have loaded. ═══ 8.5. Status Area ═══ The status area is a static text field at the bottom of the Visual Builder window. It displays information about what to do, your current selection, or the last operation. For example, if you select vbbase.vbb from the Loaded part files and then select IButton from the Visual parts pane, the Status area. displays the following text: IButton selected ═══ 9. Composition Editor ═══ Use the Composition Editor to design and build the user interface for the parts that make up your application. You build the interface by adding parts to the free-form surface, and construct the application logic by making connection between the parts. The Composition Editor makes it easy to build a part because of the functions available on the menu bar, pop-up menus, tool bar, and the variety of reusable parts on the parts palette. You can create new parts or edit existing ones. Areas in this window The four main areas of the Composition Editor window are as follows:  Parts palette  Free-form surface  Tool bar  Status area When you develop applications, you work extensively with these areas. Tasks for this window  General Tasks for Visual Builder  Placing parts on the free-form surface  Adding a part  Making connections  Saving a part  Generating code Menu bar choices  File  Edit  View  Options  Tools  Help Other views You can switch to another available view of a part using the icons in the bottom-right corner of the window. The view icon for the editor you are currently using is not available. For example, if you are using the Composition Editor, the Part Interface Editor and Class Editor icons are available. Here are the views you can switch to from within the Class Editor: Class Editor Displays the Class Editor for the part you are working with. Use the Class Editor to specify the names of files that Visual Builder writes to when you generate default code. You can also use this editor to specify:  The .vbb file that contains the part you are editing  The name of the base class for your part  Other files that you want to include when you build your application Part Interface Editor Displays the Part Interface Editor for the part you are working with. Use the Part Interface Editor to define the interface of parts for other programmers to use. You can use the Part Interface Editor to define the features (attributes, actions, and events) for your parts, along with a list of preferred features for the pop-up connections menu. ═══ 9.1. Free-Form Surface ═══ The free-form surface is the large open area in the Composition Editor. Think of it as a blank sheet of paper. It is the work area where you can add, manipulate, and connect the parts that you work with to create your application. Although the free-form surface You can add visual parts and nonvisual parts to the free-form surface. You can also add visual parts to another visual part to create a new part. For example, you can add text and push buttons inside a window. You can add nonvisual parts to build the application logic for a composite part, such as a variable. ═══ 9.2. Parts Palette ═══ The parts palette provides building blocks you can use to construct an application. It consists of several categories, each one containing a set of parts. You can add a part to the application you are building by selecting a category and then a part from the parts palette and dropping it on the free-form surface. The status area displays the name of the category and the part you select from the parts palette. After you select a part from the parts palette, you can add one or more instances of the part to the free-form surface. To add more than one instance of the selected part to the free-form surface, select Sticky. The parts palette can contain the following:  Default categories and parts supplied with Visual Builder  Parts you have constructed yourself  Parts supplied by a vendor Typically, a category contains parts that are similar in behavior or one that you can use to perform similar tasks. For example, the Frame Extensions category contains parts such as menus, menu items, menu separators, and cascade menu items. You can use all of these to add menus to an application. Additional information  Modifying the palette ═══ 9.2.1. Sticky ═══ Select Sticky from the lower-left corner of the parts palette to add several parts of the same type from the parts palette to the free-form surface. To use Sticky, select the part you want to add and then select Sticky. After you place a part on the free-form surface, the mouse pointer continues to display as a crosshair, indicating that you can place another part of the same type from the free-form surface. The mouse pointer remains as a crosshair until you do one of the following:  Select Sticky again to turn it off.  Select the Selection tool from the tool bar or from the Tools pull-down. ═══ 9.3. Status Area ═══ The status area is a scrollable static text field at the bottom of the Composition Editor that displays information about your current selection or the last definition operation. For example, if you place a push button part on a frame window part and make a connection bewteen the two, the status area displays text similar to the following: Connection created... ('Apply',#buttonClickedEvent --> 'Canvas',#menu) ═══ 9.4. Tool Bar ═══ Use the tools on the tool bar to help you build the user interface for your application. Visual Builder also provides tools such as Show connections, Hide connections, and Toggle grid that let you determine how the free-form surface looks as you build your application. They also help you manage the visual appearnce of your application parts and accurately place them on the free-form surface. You can access some or all of these tools from the following:  Tool bar, which is just below the menu bar in the Composition Editor  Tools menu in the Composition Editor  Pop-up menus for parts you place on the free-form surface Generate Selection tool Show connections Hide connections Toggle grid Snap to grid Align left Align center Align right Align top Align middle Align bottom Distribute horizontally Distribute vertically Match height Match width ═══ 9.4.1. Generate Tool ═══ Select the Generate tool to generate C++ code for your application. ═══ 9.4.2. Selection Tool ═══ Select the Selection tool to unload the pointer and return it to the selection pointer. ═══ 9.4.3. Show Connections ═══ Select Show connections to show the connections you have created between parts. Visual Builder displays the connections to and from one or more selected parts as colored lines with arrowheads. Visual Builder displays all connections by default. ═══ 9.4.4. Hide Connections ═══ Select Hide connections to hide the connecting links between parts. If your application has many connections, you can reduce the number of connections displayed by hiding those you are not currently working with. ═══ 9.4.5. Toggle Grid ═══ Select Toggle grid to display or remove a grid in the selected window. The grid can help you when you want to place correctly align visual parts on the free-form surface. The grid does not appear at run time. You can set the spacing of the grid lines by choosing Set grid spacing from the pop-up menu for the parts. ═══ 9.4.6. Snap to Grid ═══ Select Snap to grid to align to the grid the parts you have selected. The upper and left edges of the parts are aligned to the nearest grid lines. Using Snap to grid helps evenly align the parts. You do not need to display the grid for Snap To Grid to work. ═══ 9.4.7. Align Left ═══ Select Align left to move the selected parts so that their left edges are aligned. The most recently selected part, indicated by solid selection handles (■), is the part with which the others align. When you want to align parts with one another, select the ones you want to move and then select the one you want to serve as the alignment reference. ═══ 9.4.8. Align Center ═══ Select Align center to move the selected parts so that their centers align vertically. The most recently selected part, indicated by solid selection handles (■), is the part with which the others align. When you want to align parts with one another, select the ones you want to move and then select the one you want to serve as the alignment reference. ═══ 9.4.9. Align Right ═══ Select Align right to move the selected parts so that their right edges are aligned. The most recently selected part, indicated by solid selection handles (■), is the part with which the others align. When you want to align parts with one another, select the ones you want to move and then select the one you want to serve as the alignment reference. ═══ 9.4.10. Align Top ═══ Select Align top to move the selected parts so that their top edges are aligned. The most recently selected part, indicated by solid selection handles (■), is the part with which the others align. When you want to align parts with one another, select the ones you want to move and then select the one you want to serve as the alignment reference. ═══ 9.4.11. Align Middle ═══ Select Align middle to move the selected parts so that their centers are aligned horizontally. The most recently selected part, indicated by solid selection handles (■), is the part with which the others align. When you want to align parts with one another, select the ones you want to move and then select the one you want to serve as the alignment reference. ═══ 9.4.12. Align Bottom ═══ Select Align bottom to move the selected parts so that their bottom edges are aligned. The most recently selected part, indicated by solid selection handles (■), is the part with which the others align. When you want to align parts with one another, select the ones you want to move and then select the one you want to serve as the alignment reference. ═══ 9.4.13. Distribute Horizontally ═══ Select Distribute horizontally to move the selected parts so that they are spaced evenly between the left and right edges of the window they are in. ═══ 9.4.14. Distribute Vertically ═══ Select Distribute vertically to move the selected parts so that they are spaced evenly between the top and bottom edges of the window they are in. ═══ 9.4.15. Match Width ═══ Select Match width to size the selected parts so that they are all of equal width. Visual Builder matches the width of all selected parts with whatever part you select last, indicated by solid selection handles (■). Select the parts you want to size, then select the part that is the width that you want the other parts to be. ═══ 9.4.16. Match Height ═══ Select Match height to size the selected parts so that they are all of equal height. Visual Builder matches the height of all selected parts with whatever part you select last, indicated by solid selection handles (■). Select the parts you want to size, then select the part that is the height that you want the other parts to be. ═══ 10. Class Editor ═══ Use the Class Editor to specify the names of the files that Visual Builder writes to when you generate default C++ code for the class. You can also use this editor to do the followingcolon.  Enter a description of the part  Specify a different .vbb file in which to store the part  See the name of the base class for the part  Modify the default constructor for the part  Enter additional constructor and destructor code  Specify a .lib file for the part  Specify other files that you want to include when you build your application  The #ifdef and #endif preprocessor directives Use your favorite text editor to create new classes and member functions, write application logic, and modify existing member functions. Tasks for this window  General Tasks for Visual Builder  Using class connections Class Editor fields  Description  Part file specification  Base class - access level  Constructor  User constructor code  User destructor code  .LIB file name  Starting resource ID  Icon  Code generation files  User files included in generation Other views You can switch to another available view of a part using the icons in the bottom-right corner of the window, or by using the View. menu choice. The view icon for the editor you are currently using is not available. For example, if you are using the Composition Editor, the Part Interface Editor and Class Editor icons are available. Here are the views you can switch to from within the Class Editor: Composition Editor Displays the Composition Editor for the part you are working with. Use the Composition Editor to build your application, lay out the visual parts that make up your windows, choose the parts that perform the logic you need, and make connections between the parts. Part Interface Editor Displays the Part Interface Editor for the part you are working with. Use the Part Interface Editor to define the interface of parts for other programmers to use. You can use the Part Interface Editor to define the features (attributes, actions, and events) for your parts, along with a list of preferred features for the pop-up connections menu. Menu bar choices  File  Edit  View  Help ═══ 10.1. Description ═══ Use the Description field to enter a description of your part. This description appears in the following places:  In the Status area when you select the part, if you add your part to the parts palette  In the first line of a vbbase.vbe, if that is where you export part information ═══ 10.2. Part File Specification ═══ Use the Part file specification field to specify where Visual Builder places all data model information about a part. If you want to move this part to another .vbb file while using the Class Editor, do the following: 1. Replace the name of the current .vbb file with the name of another .vbb file into which you want to store the part. 2. Select the Update push button to apply the change. Visual Builder moves the part from the former .vbb file to the one you just specified. If the .vbb file you specified does not exist, Visual Builder creates it for you. 3. Save the .vbb file by selecting FileSave. You must do this to write the changes to the file. ═══ 10.3. Base Class - Access Level ═══ The Base class - access level field shows the name of the base class for your part. This is the class name that you specified as the part's parent when you created the part. You cannot modify this class name. ═══ 10.4. Constructor ═══ Use the Constructor field to specify the constructor for the class. Visual Builder initially inserts a default constructor in this field. If the default constructor is not the constructor you want, modify it by editing the text in this field. If you want more than one constructor for the class, you must update the source code file. ═══ 10.5. User Constructor Code ═══ Use the User constructor code field to specify the code you want to use for the default constructor. ═══ 10.6. User Destructor Code ═══ Use the User destructor code field to specify the code you want to use for the default destructor. ═══ 10.7. .LIB File Name ═══ Use the .LIB file name field to specify the default library (partname.lib) that you want to contain this part. Visual Builder initially inserts vblibfile.lib as the default .lib file in this field. To change this, type over the text in this field. (The text shown in bold is what you enter.) You can enter the file name with or without quotation marks as delimiters, The .lib file name that you enter becomes the new default library file. When you generate code for this part, Visual Builder inserts a #pragma statement for this file without quotation mark delimiters unless there are embedded spaces. Also, when Visual Builder generates make files for other parts that use this part, the .lib file is specified in the make file as a dependency. For more information about generating code, refer to Visual Builder User's Guide. ═══ 10.8. Starting Resource ID ═══ Use the Starting resource ID checkbox and field to specify the number of the first resource identifier you want to use for the part. ═══ 10.9. Icon ═══ Before adding your part to the parts palette, use the fields in Icon to specify an icon for your part other than the Visual Builder default, . Visual Builder displays an icon below the Resource ID field to represent the part using this information. Fields DLL Name Name of the resource DLL file containing the icon you want to use Resource ID Number of the resource ID of the icon in the DLL specified in Dll Name ═══ 10.10. Code-generation and include files ═══ Use Code generation files and User files included to specify the files needed to build your application. You can also use these fields to generate the labels to be used on the #ifndef and #endif preprocessor directives. For example, if you specify SxP.hpp _SXP_ in C++ header file (.hpp), Visual Builder generates the file, SxP.hpp, which contains the following code: #ifndef _SXP_ : : // contents of file : : #endif _SXP_ For complete information about include files and generating default source code, refer to Visual Builder User's Guide. ═══ 10.10.1. Code generation files ═══ Use the fields in Code generation files to specify the C++ header (.hpp) and source code (C++) files that Visual Builder generates when you select FileSave and GeneratePart source. These fields initially contain .hpp and .cpp file names based on the name of the part you are editing. To change these names, update the entry fields and select the Update push button. Warning: If the files already exist, Visual Builder replaces their contents with the default code currently being generated. Visual Builder writes both files to the current directory. Fields C++ header file (.hpp) Name of the header file (.hpp) generated C++ code file (.cpp) Name of the code file (.cpp) generated Once you have set these fields, Visual Builder replaces default code to the header and code files. ═══ 10.10.2. User Files to be Included in Generation ═══ Use the fields in User files to be included in generation to specify files you want included when you build your application. Visual Builder uses the include files, and the information in the #ifndef and #endif preprocessor directives, when it generates part source code. Fields  User .hpp file  User .cpp file  User .h file  User .rc file  Required include files ═══ 10.10.2.1. User .hpp File ═══ Use User .hpp file to specify the name of the header file (.hpp) that you want included within the class declaration in C++ header file (.hpp). ═══ 10.10.2.2. User .cpp File ═══ Use User .cpp file to specify the name of the code file (.cpp) that you want included at the end of the code file in C++ code file (.cpp). You must enter a file name in this field before you can generate default feature code using the Part Interface Editor. ═══ 10.10.2.3. User .h File ═══ Use User .h file to specify the name of the resource header file (.h) that you want included at the end of the code file in C++ code file (.cpp). You must enter a file name in this field before you can generate default feature code using the Part Interface Editor. ═══ 10.10.2.4. User .rc File ═══ Use User .rc file to specify the name of the resource file (.rc) that you want included at the end of the code file in C++ code file (.cpp). You must enter a file name in this field before you can generate default feature code using the Part Interface Editor. ═══ 10.10.2.5. Required Include Files ═══ Use Required include files to specify the names of other files you want Visual Builder to include when you generate default source code for your application, such as:  Standard C++ library files, such as iostream.h  IBM User Interface Class Library header files, such as istring.hpp  Your own header files (.hpp) Visual Builder generates the #include preprocessor directives in the default source code. If you type a label next to the file name, Visual Builder uses that label to generate #ifndef and #endif preprocessor directive for you. For example, to include the header file for an address part you created, enter the following in this field: address.hpp _ADDRESS_ Visual Builder would generate the following in your default .cpp source code file: # ifndef _ ADDRESS _ # include < address . hpp > # endif Omit the label, and Visual Builder generates only the #include preprocessor directive. ═══ 11. Part Interface Editor ═══ Use the Part Interface Editor to define or modify the part interface of a part. Having a part interface makes it possible for other parts to communicate with the part and request services of it. You can use externalized features of the part interface. to make connections when building an application. To learn how to build reusable parts, refer to Visual Builder User's Guide. Tasks for this window  General Tasks for Visual Builder  View the part interface for a part  Specify the features (attributes, actions, and events) to be in the part interface  Choose the most commonly used features as the preferred feaures for the part-those that appear in the pop-up connection menu for the part Tabs  Attribute  Event  Action  Promote  Preferred Other views You can switch to another available view of a part using the icons in the bottom-right corner of the window. The view icon for the editor you are currently using is not available. For example, if you are using the Composition Editor, the Part Interface Editor and Class Editor icons are available. Here are the views you can switch to from within the Class Editor: Composition Editor Displays the Composition Editor for the part you are working with. Use the Composition Editor lay out the visual parts that make up your windows, choose the parts that perform the logic you need, and make connections between the parts. Class Editor Displays the Class Editor for the part you are working with. Use the Class Editor to specify the names of files that Visual Builder writes to when you generate default code. You can also use this editor to do the following:  Specify the .vbb file that contains the part you are editing  Find the name of the base class for your part  Specify other files that you want to include when you build your application Menu bar choices  File  Edit  View  Help ═══ 11.1. Attribute ═══ Use the Attribute page to define the attributes for your part. The Attribute page lists the names of all the attributes defined for a part. An attribute represents a property of a part. An attribute typically corresponds to a data member, such as the name in a Person class. You can connect attributes to attributes or to actions of other parts. It is good programming practice to encapsulate access to the attribute data. To connect an attribute, you make the connection to its name. You can use a get member function to request the value of an attribute or a set member function to set the value. Event identification allows a part to notify other parts that the attribute has been changed, Fields  Attribute name  Attribute type  Get member function  Set member function  Event identification  Description Push buttons  Add with defaults  Add  Update  Delete  Defaults  Clear ═══ 11.1.1. Attribute Name ═══ Use the Attribute name field to specify a descriptive name for the attribute. Each attribute name within a part must be unique. This is the name to appear on the connection menu when you make connections to or from it in the Composition Editor The attribute name should contain only alphanumeric characters and blanks. Attribute names cannot contain DBCS characters. You cannot change the attribute name directly. To change an attribute name, you must do the following: 1. Delete the existing attribute. 2. Add a new attribute that matches the deleted attribute in all respects except for the name. ═══ 11.1.2. Attribute Type ═══ Use the Attribute type field to specify the data type of a data member to store information associated with the part. In the Attribute type field, enter the type of data the attribute represents. The types shown in the drop-down list reflect those that are loaded in the part data files. The default value for the class is int. You can select another available type, such as IString. Once you change the default (int) to another data type, the new data type becomes the default for any new attributes you create until you change it again or until you close the Part Interface Editor window. When you open the Part Interface Editor window, the default data type for any new attributes you create reverts to the default (int) until you change it again by creating another attribute or modifying an existing one. When Visual Builder generates code, data members are private. If you define get and set member functions, then users can read and write the attribute through these functions. If the attribute is read only, then do not specify a set member function. ═══ 11.1.3. Get Member Function ═══ Use Get member function to specify the member function this or other parts use to query or get the value of a data member. The get member function is the name of a member function that retrieves the value of an attribute. Typically, a get member function returns the value of a data member. However, it could perform some other function, such as return a computed value. You do not have to specify a get member function. For example, you might want to omit the get member function for an attribute-such as a password-so that no other parts can retrieve it. If you select the Defaults push button, the get member function name becomes the attribute name with the blank spaces and colons (:) removed. Any letter following a blank is capitalized. For example, myGetSel. is the default get member function name for the attribute named my Get Sel. The get member function names cannot contain DBCS characters. Visual Builder generates default code for the get and set member functions if you select FileGenerate default feature source code menu-bar choice. Using this choice also generates event notification. If you want to write your own get member function, use your favorite editor to add the needed code in Code generation files in the Class Editor. The Get member function field includes a drop-down list so you can choose any of these member functions as the get member function. Pop-up menu choices  Edit  Edit direct ═══ 11.1.4. Edit ═══ Select Edit to edit the file and change the information in this field. The Edit source file window opens: 1. Enter the name of the source file that you want to edit in the File name field. 2. Enter the number of the line in the source file in the Line number field, The default is 1. 3. Enter the number of the column in the source file in the Column number field, The default is 1. 4. Click on the Edit push button. The top of the file is displayed by default, unless you specify a different line or column number. You can use Edit when the file name and location information are available for the item you selected. If you do not enter any information in this field, Visual Builder uses the file name specified in the User .cpp file in the Class Editor or the name of the file you entered previously in the Part Interface Editor. ═══ 11.1.5. Edit Direct ═══ Select Edit direct to edit the file directly without having to use the Edit source file window. You can use Edit direct this when the file name and location information are available for the selected item. ═══ 11.1.6. Set Member Function ═══ Use Set member function to specify the member function this or other parts use to set the value returned by a data member. The set member function is a member function that sets or changes the value of an attribute. Typically, a set member function sets the value of a data member. However, it could perform some other function such as add the value to a database. You do not have to specify a set member function. However, another part cannot set or change the value of the attribute without a set member function. You can omit a set member function if you want to enable other parts to retrieve but not set an attribute. For example, you might not want other parts to set the current date. If you select the Defaults push button, the set member function name becomes the attribute name with all the blank spaces and colons (:) removed, with a colon added on the end. The name begins with set, and any letter following a blank is capitalized. For example, setMySetSel: is the default set member function name for the attribute named my Set Sel. The set member function names cannot contain DBCS characters. The field includes a drop-down list. You can choose any of these member functions as the set member function. Visual Builder generates default code for the get and set member functions if you select FileGenerate default feature source code menu bar choice. Using this choice also generates event notification. Pop-up menu choices  Edit  Edit direct ═══ 11.1.7. Event Identification ═══ Use Event identification to specify an identifier to be used to notify another part when the attribute value has changed. Event identification signals connected parts that an event has occurred. This is typically done when the attribute is used as the source of a connection. The connection types that use an attribute as the source of a connection are:  Attribute-to-action  Attribute-to-attribute  Attribute-to-member function  Attribute-to-parameter You must supply an event identifier. You can create one of your own or you can use the default event identifier that Visual Builder supplies when you select either Defaults or Add with defaults. If you select the Defaults push button, the event identification name is the same as the attribute name but ends with Id. For example, if the attribute name is orderChanged, then the event identification is orderChangedID. You do not have to specify a value in the Event identification field. If you do not specify a name, other parts will not know when an attribute was updated and consequently will have an old value for that attribute. For example, if an entry field was connected to a street attribute and the street was updated by the database, the entry field would not receive notification and would contain an old address. If you generate a set member function for your attribute, the default code Visual Builder generates will signal the change event if the value of the attribute changes. Pop-up menu choices  Edit  Edit direct ═══ 11.1.8. Description ═══ In the Description field, enter a description for the feature. ═══ 11.2. Add With Defaults ═══ Use the Add with defaults push button to add the attribute, action, or event specified to the part interface with default values for the fields-such as, Get member function, Set member function, Event identification, or Action member function. If you have made modifications to one of these fields, use the Add push button instead of Add with defaults. Visual Builder uses default names for the features that you add using Add with defaults. Default names are the attribute, action, or event name with all the blank spaces removed. Any letter that follows a blank is capitalized. For example, if an action in an order entry application is "get next order", then the default name is getNextOrder. This push button performs the functions of both the Add and Defaults push buttons simultaneously. ═══ 11.3. Add ═══ Use the Add push button to add the attribute, action, or event specified to the part interface. Be sure you have specified all fields you want before selecting Add. Entering information or selecting the Defaults push button does not automatically add the features. You must select Add or Add with defaults to add the feature to the interface. ═══ 11.4. Update ═══ Use the Update push button to update changes you make to the information displayed for the part in any entry field for an existing attribute, action, or event except the Name field. Entering information or selecting the Defaults push button does not automatically add the features. You must select Update to save your changes. ═══ 11.5. Delete ═══ Use the Delete push button to remove the attribute, action, or event from the part interface. ═══ 11.6. Defaults ═══ Use the Defaults push button to request default values for the attributes, actions, or events. Default values exist for each of the following fields:  Attribute name  Get member function  Set member function  Action member function  Return type  Event identification  Description Selecting the defaults for the part features does not automatically add the features. You must select Add or Update to change the part. ═══ 11.7. Clear ═══ Use the Clear push button to clear out the entry fields in the Part Interface Editor. ═══ 11.8. Event ═══ Use the Event page to define the events that you use to notify this or other parts about changes you decide are significant. For example, you might notify other parts when an attribute is set to a certain value or when important processing is finished. As a result, someone using your reusable part can link to one of the part events and receive automatic notification of the event whenever it is executed. The Event page lists the names of the events defined for a part and their corresponding event identifications. Events provide a notification mechanism. Events are used to signal that something has happened to the part, such as the user clicked a push button or opened a window. Event identifications are used within the code to notify the connected parts that the event has occurred. You can add parameters to events to pass information. Fields  Event name  Event identification  Description  Parameters and their types Push buttons  Add with defaults  Add  Update  Delete  Defaults  Clear ═══ 11.8.1. Event Name ═══ Use the Event name to specify a descriptive name for the event in this field. Each event name within a part must be unique. This name appears on the connection menu when you make connections to or from it in the Composition Editor. For example, a push button can have an event of buttonClickEvent. Event names cannot contain DBCS characters. You cannot change the event name directly. To change the event name, you must do the following: 1. Delete the existing events. 2. Add a new event that matches the deleted event in all respects except for the name. ═══ 11.8.2. Parameters and Their Types ═══ Use the following fields in the Parameters and their types table to define a parameter and data type sent as part of an event. Name The name of the event parameter Type The class or data type, of the event parameter, such as IString, integer, or unsigned long This table shows parameters and parameter classes, if any, for events and actions. Event notification can provide additional information about the event by passing along parameters with the notification. An example would be a button that represents a key on a calculator. In addition to telling other parts that it has been selected, it can also pass the value of its label-for example, the number 5. Likewise, actions might need to provide additional information necessary for a particular behavior. For example, an addTo() action of an ordered collection. would need a parameter containing the object that was being added to the collection. To edit the table, select one of the following pop-up menu choices by clicking mouse button 2 over a row or column heading:  Add before  Add after  Delete selected rows After you have added a row, you can type directly into the cells on the row by doing the following: 1. Select the row. If it is the first one, select Name (the column heading). 2. Place the mouse pointer over a cell and click mouse button 1. 3. Edit the text in the cell. 4. Move the editing cursor among the cells using the Tab and Backspace keys. 5. To exit the edit mode, press Shift-Enter. The parameters are passed in the order they occur in the table. ═══ 11.8.2.1. Add Before ═══ Use Add before to add a new row in the table before the selected row. If no row is selected, the new row is inserted before the first row in the table. ═══ 11.8.2.2. Add After ═══ Use Add after to add a new row in the table after the selected row. If no row is selected, the new row is inserted after the last row in the table. ═══ 11.8.2.3. Delete Selected Row ═══ Use Delete selected row to remove the selected rows from the table. Although you cannot retrieve deleted rows, you can add them again. ═══ 11.9. Action ═══ Use the Action page to define the actions that your reusable part uses to perform specific tasks. The Action page lists the names of all the actions that the part can perform. Actions are operations and services, such as closing or opening a window. Generally, actions are performed when an event occurs in your application. After you have connected an event to an action, the events signals the action to run. For example, when a user selects a button of an order entry application view, the button signals an event of buttonClickedEvent. If the buttonClickedEvent event for this button is connected to the action that adds an order for a customer, that action is performed. Fields  Action name  Action member function  Action member function  Return type  Description  Parameters and their types Push buttons  Add with defaults  Add  Update  Delete  Defaults  Clear ═══ 11.9.1. Action Name ═══ Use Action name to specify a name that describes the action to be taken. For example, an ordered collection has an action of addTo and a window has an action of open. Each action name must be unique within a part. Action names cannot contain DBCS characters. You cannot change the action name directly. To change the action name, you must do the following: 1. Delete the existing action. 2. Add a new action that matches the deleted action in all respects except for the name. ═══ 11.9.2. Action Member Function ═══ Use Action member function to specify the name of the member function that is performed when the action takes place. This can be the same as the action name. If you select the Defaults push button, the member function name becomes the action name with all the blank spaces removed. Any letter following a blank is capitalized. For example, if an action name in an order entry application is get next order, then the default action member function is getNextOrder. The field includes a drop-down list. You can assign any of these existing member function names as the action member function. Visual Builder generates default code for the get and set member functions if you select FileGenerate default feature source code menu bar choice. Using this choice also generates event notification. Pop-up menu choices  Edit  Edit direct ═══ 11.9.3. Return Type ═══ Use Return type to specify the data type of the value that the action returns. ═══ 11.10. Promote ═══ Promote lists the names of all subparts and their attributes, actions, or events. Use the fields in Promote to add features of the part to the part interface. Or you can select Promote part feature from the pop-up menu for a part in the Composition Editor. Fields  Promote feature name  Subpart name  Feature type  Promotable feature Push buttons  Add with defaults  Add  Update  Delete  Defaults  Clear ═══ 11.10.1. Promote Feature Name ═══ The Promote feature name shows the name that the feature will be promoted as. You cannot use DBCS characters in the name. ═══ 11.10.2. Subpart Name ═══ Use Subpart name Use the Subpart name to specify the subpart you want to select features to promote from. ═══ 11.10.3. Feature Type ═══ Use Feature type to specify which type of feature (attribute, action, or event) you want to promote for the subpart you specified. ═══ 11.10.4. Promotable Feature ═══ Use the Promotable features to specify the feature of the subpart you specified that you want to promote. ═══ 11.11. Preferred ═══ Use Preferred to specify the preferred features for your part-the features that you use most often when connecting this part to another part. The features (attributes, actions, or events) that you specify appear in the first pop-up menu that is displayed when you begin a connection on this part. You can include any features that you create for your part, as well as any features that your part inherits from other parts. Note: Only the person who creates the part can modify the preferred features list. The person using the part cannot add to, delete from, or rearrange the order of the features in this list. Select ConnectionMore from the pop-up menu for the part to see all features for this part if you want to add additional features. Fields  Attributes  Events  Actions  Preferred Features Push buttons  Add  Defaults  Remove  Remove all ═══ 11.11.1. Attributes ═══ Use Attributes to select one or more attributes that you want to add to your part. ═══ 11.11.2. Events ═══ Use Events to select one or more events to add to your part. ═══ 11.11.3. Actions ═══ Use Actions to select one or more actions to add to your part. ═══ 11.11.4. Preferred Features ═══ The Preferred Features field shows the preferred features (attributes, actions, or events) for your part. To add features to your part that do not already appear in the list of Preferred Features, select a feature from the Attributes, Events, and Actions fields. Then select the Add push button or the Add pop-up menu choice by clicking mouse button 2 in the Preferred Features field. To remove features, select a feature from the Preferred Features field. Then select one of the following pop-up menu choices by clicking mouse button 2 in that field:  Remove  Remove all ═══ 11.11.5. Add ═══ Use the Add push button (or pop-up menu choice in the Preferred Features field) to add a feature from the list in the Preferred Features field. Select the feature, and then select Add. If you do not select a feature in the Preferred Features field, no feature is added. ═══ 11.11.6. Defaults ═══ Use the Defaults push button to reset the features in the Preferred Features list to the original defaults shipped with Visual Builder. ═══ 11.11.7. Remove ═══ Use the Remove push button (or pop-up menu choice in the Preferred Features field) to remove a feature from the list in the Preferred Features field. Select the feature, and then select Remove. If you do not select a feature in the Preferred Features field, no feature is removed. ═══ 11.11.8. Remove All ═══ Use the Remove all push button (or pop-up menu choice in the Preferred Features field) to remove all feature from the list in the Preferred Features field, including those that are inherited. ═══ 12. Default Parts Palette Categories ═══ Following are the default parts palette categories shipped with Visual Builder. You can modify the parts palette by adding parts to individual categories and by adding new categories for parts. The following palette categories contain visual part: Buttons Data entry Lists Frame Extensions Sliders Composers Models Other ═══ 12.1. Changing the Default Attributes of Parts ═══ The parts in each of these categories on the parts palette have characteristics that are controlled by attributes. These attributes define the appearance and function of a visual part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. By making connections with other parts, you can control the runtime values of these attributes. ═══ 13. Buttons Category ═══ The Buttons category contains parts you can use to indicate an action or selection. Parts in this category IPushButton IRadioButton ICheckBox INumericSpinButton ITextSpinButton IGraphicPushButton IAnimatedButton ═══ 13.1. IPushButton ═══ Select IPushButton to add a push button as a standard menu option when you building menus in your application. For example, you can place an entry field, push button, and a list box in your application. Through connections you add to the application, a user can press the push button to add the contents of the entry field to the list box. The user can click on a push button to perform an action or select a routing choice. The text on the button identifies the choice. Related Parts  Graphic push button  Animated push button  Menu The IPushButton part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IPushButton - Settings window displays. ═══ 13.2. IRadioButton ═══ Select IRadioButton to add one or more radio buttons to your application. The user can select only one choice from a group of mutually exclusive choices. Related Parts  Check box  Group box  Outline box The IRadioButton part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IRadioButton - Settings window displays. ═══ 13.3. ICheckBox ═══ Select ICheckBox to add a check box to your application. Use a check box part to provide a settings choice that has two clearly distinguishable states, such as on and off. You can add a check box when building menus to a menu option that the user can select. When the user selects an unmarked choice, the check box is marked. You can also place a group of check boxes on the free-form surface to provide a set of related choices that are not mutually exclusive. The user can deselect the choice by clicking on it again to turn it off. Related Parts  Radio button  Group box  Outline box The ICheckBox part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ICheckBox - Settings window displays. ═══ 13.4. INumericSpinButton ═══ Select INumericSpinButton to add a numeric spin button to your application to provide a sequential ring of related but mutually exclusive numeric choices. The user can spin the ring upward or downward to select another choice. Related Parts  Text spin button The INumericSpinButton part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The INumericSpinButton - Settings window displays. ═══ 13.5. ITextSpinButton ═══ Select ITextSpinButton to add a text spin button to your application. Use a text spin button to provide a sequential ring of related but mutually exclusive text choices. The user can spin the ring upward or downward to select another choice. Related Parts  Numeric spin button The ITextSpinButton part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ITextSpinButton - Settings window displays. ═══ 13.6. IGraphicPushButton ═══ Select IGraphicPushButton to add a graphic push button to your application that graphically represents an operation that the user can select. The user can click on the graphic push button to perform the action or select a routing choice. The graphic image on the button identifies the choice. Related Parts  Push button  Animated button The IGraphicPushButton part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IGraphicPushButton - Settings window displays. ═══ 13.7. IAnimatedButton ═══ Select IAnimatedButton to add an animated button that the user can click on to perform an action. or select a routing choice. The graphic image on the button identifies the choice. When the user selects the button, the graphic image on it appears to move. A multimedia play button with a disk that spins when pressed is an example of an animated button. Related Parts  Push button  Animated button  Menu The IAnimatedButton part is in the Buttons category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IAnimatedButton - Settings window displays. ═══ 14. Data Entry Category ═══ The Data entry category contains parts you can use to enter data from the keyboard. You can use the IStaticText part to visually identify these parts, provide instructions, and so on. Parts in this category IStaticText IEntryField IMultiLineEdit IGroupBox IOutlineBox IBitmapControl IIconControl ═══ 14.1. IStaticText ═══ Select IStaticText to add static text to your application that displays status to the user or provides a text label for a part. The user cannot modify the text in such a field. The IStaticText part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IStaticText - Settings window displays. ═══ 14.2. IEntryField ═══ Select IEntryField to add a single-line entry field to your application to let the user define or view a data item. The user can enter or place text into this field. Related Parts  Multiple-line edit  List box The IEntryField part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IEntryField - Settings window displays. ═══ 14.3. IMultiLineEdit ═══ Select IMultiLineEdit to define a multiple-line edit part in your application to display a large amount of textual information. For example, you might use a multiple-line edit part to display long instructions or descriptive information from a database. A multiple-line edit part displays such information in the minimal visual space required. The user can enter or view multiple-line text data. This part is particularly useful when information that the user might enter is too long to fit in a single line. It lets the user enter or edit text in the list box insert mode, cut, copy, and paste functions that a regular list box does not normally provide. Related Parts  Entry field  List box The IMultiLineEdit part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IMultiLineEdit - Settings window displays. ═══ 14.4. IGroupBox ═══ Select IGroupBox to add a group box to your application. A group box visually distinquishes a set of related user-interface controls within a window, logically grouping them together as a single unit. Use a group box when a heading or open space does not adequately distinguish a group of parts from one another. You must first add the group box part before adding the parts you want to appear within the group box. If you try to add the group box part to surround the existing set of parts, the group box overlays the existing parts. The user can move through the controls in a group using the keyboard cursor keys. When the user moves the cursor forward from the last control in the group, the cursor returns to the first control in the group. Related Parts  Outline box The IGroupBox part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IGroupBox - Settings window displays. ═══ 14.5. IOutlineBox ═══ Select IOutlineBox to add an outline box to your application to visually group a set of related user-interface controls within a window without labeling the group. The user can move through the controls in a group using the keyboard cursor keys. When the user moves the cursor forward from the last control in the group, the cursor returns to the first control in the group. Related Parts  Group box The IOutlineBox part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IOutlineBox - Settings window displays. ═══ 14.6. IBitmapControl ═══ Select IBitmapControl to add a graphical image (bitmap) to the background of another part in your application. This control provides a picture for graphical application data. The user does not use the bitmap for any action. Be aware that a bitmap is resized on a set canvas or a multiple-cell canvas when the canvas is resized. Related Parts  Icon control The IBitmapControl part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IBitmapControl - Settings window displays. ═══ 14.7. IIconControl ═══ Select IIconControl to add an icon object to your application. The icon part displays an icon that represents a choice or an object. The user can access the represented object by double-clicking on the object with mouse button 1 or by pressing the Enter key when the cursor is on the icon. Be aware that an icon is not resized on a set canvas or a multiple-cell canvas when the canvas is resized. Related Parts  Bitmap control The IIconControl part is in the Data entry category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IIconControl - Settings window displays. ═══ 15. Lists Category ═══ The Lists category contains parts you can use to select elements from a list. Parts in this category IListBox ICollectionViewListBox IComboBox ICollectionViewComboBox IVBContainerControl IContainerColumn ═══ 15.1. IListBox ═══ Select IListBox to add a list box to your application to provide a list of choices from which a user can select one or more items. Your application can modify the contents of the list by adding or removing choices. By default, the user can select only one choice from the list. When the user selects a choice, any previously selected choice is no longer selected. You can change the behavior of the list box to allow multiple selection. To give the user with string selection choices, use one of the following combination box types, particularly the amount of physical space available on the layout of your window is a concern: Drop-down The user can enter a choice or select a choice from a drop-down list Read-only drop-down The user can select a choice only from a drop-down list Simple The user can enter a choice or select a choice from an open list Related Parts  Combination box  Collection view combination box  Collection view list box  Entry field The IListBox part is in the Lists category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IListBox - Settings window displays. ═══ 15.2. ICollectionViewListBox ═══ Select ICollectionViewListBox to add a list box to your application. This part contains a list from which a user can select one or more choices. Your application can modify the contents of the list by adding or removing choices. By default, the user can select only one choice from the list. When the user selects a choice, any previously selected choice is no longer selected. You can change the behavior of the list box to allow multiple selection. To give the user with object selection choices, use one of the following combination box types, particularly the amount of physical space available on the layout of your window is a concern: Drop-down The user can enter or select a choice from a drop-down list. Read-only drop-down The user can select a choice only from a drop-down list. Simple The user can enter or select a choice from an open list. Related Parts  Collection view combination box  Combination box  List box The ICollectionViewListBox part is in the Lists category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ICollectionViewListBox - Settings window displays. ═══ 15.3. IComboBox ═══ Select IComboBox to add a combination box for string choices to your application. It provides the functions of the entry field and list box parts. A combination box provides a list of parts or settings choices. The user can scroll through these and then select string items or enter text directly into the field. Unless you prevent input in the field, the user can do one of the following:  Enter the beginning of a selection that is in the list. The closest match from the list is used.  Enter a selection that is not in the list. If you define the combination box as a drop-down or read-only drop-down type, the user does not initially see the list box but can select the drop-down button to open it. To give the user with string selection choices, use one of the following combination box types, particularly the amount of physical space available on the layout of your window is a concern: Drop-down The user can enter or select a choice from a drop-down list. Read-only drop-down The user can select a choice only from a drop-down list. Simple The user can enter or select a choice from an open list. Related Parts  Combination box  List box  Collection view combination box  Collection view list box  Entry field The IComboBox part is in the Lists category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IComboBox - Settings window displays. ═══ 15.4. ICollectionViewComboBox ═══ Select ICollectionViewComboBox to add a combination box for collection object choices to your application. It provides the functions of the entry field and list box parts. A combination box provides a list of objects. The user can scroll through these and then select string items or enter text directly into the field. Unless you prevent input in the field, the user can do one of the following:  Enter the beginning of a selection that is in the list. The closest match from the list is used.  Enter a selection that is not in the list. If you define the combination box as a drop-down or read-only drop-down type, the users does not initially see the list box but can select the drop-down button to open it. To provide the user with object selection choices, use one of the following combination box types, particularly the amount of physical space available on the layout of your window is a concern: Drop-down The user can enter or select a choice from a drop-down list. Read-only drop-down The user can select a choice only from a drop-down list. Simple The user can enter or select a choice from an open list. Related Parts  Collection view list box  Combination box  List box The ICollectionViewComboBox part is in the Lists category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ICollectionViewComboBox - Settings window displays. ═══ 15.5. IVBContainerControl ═══ Select IVBContainerControl to add a container to your application when you want to create containers other than those provided by the operating system. A container part can hold other parts and is useful for presenting collections of nonvisual model objects. The user open the container in one of the following views to work with a set of objects collected in the container: Text and flowed text Lists text representations of objects in a single column. The text view lists objects in a single column. The flowed text view lists them in multiple columns. Name and flowed name Lists text representations of objects with a small icon of the object preceding the text. The name view lists them in multiple columns. Icon Represents objects as icons, which can be freely positioned or arranged in rows within the container. Tree (text, name, and icon Represents objects hierarchically. Objects capable of containing nested objects branch from the root of the container. The text, name, and icon tree views represent objects as their corresponding nontree views do. The user can expand tree branches to view nested objects. Details Provides detailed information about each object in the container. The information is presented as a table with a row for each object and a column for each represented object attribute. Related Parts  Container column The IVBContainerControl part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IVBContainerControl - Settings window displays. ═══ 15.6. IContainerColumn ═══ Select IContainerColumn to add a column to a container in your application. The column contains information on a particular attribute of each container object. The user can view the column data for container objects. With modifiable text data, the user can edit the object attribute. Related Parts  Container control The IContainerColumn part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IContainerColumn - Settings window displays. ═══ 16. Frame Extensions Category ═══ The Frame Extensions category contains parts you can use to build menus. You can define many different types of menus. When adding a menu, typically you first add the Menu part to the free-form surface and then add the other parts of this category to the Menu part. Parts in this category IToolBar IToolBarButton IMenu IMenuItem IMenuCascade IMenuSeparator IInfoArea ITitle ═══ 16.1. IToolBar ═══ Select IToolBar to add a tool bar to your application. A tool bar is a set of tool function buttons. It is initially located next to the client area of the frame window it is related to. The user can click the tool bar buttons to perform the tool functions and can also drag the tool bar away from the frame window. Related Parts  Tool bar buttons The IToolBar part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IToolBar - Settings window displays. ═══ 16.2. IToolBarButton ═══ Select IToolBarButton to add a tool bar button to a tool bar control in your application. The tool bar button is a selection button for a tool bar. A graphic on the tool bar button represents the choice. The user can click the tool bar button to perform the indicated function. Related Parts  Tool bar The IToolBarButton part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IToolBarButton - Settings window displays. ═══ 16.3. IMenu ═══ Select IMenu to add a menu to your application that provides a variety of action, routing, or settings choices related to an object. The user can select a choice or menu item to apply the choice to the object. You can attach the menu to one of the following parts by dropping it on the menu:  Frame window  Menu bar (IMenu)  Menu bar cascade choice  Pull-down menu (ISubmenu)  Cascade menu choice  Cascade menu (ISubmenu)  Any object with menu support  Pop-up menu (IPopUpMenu) Following is a brief description of each resulting men: IMenuBar Menu of routing choices for objects in a window. The choices appear in a horizontal bar beneath the title bar. Each choice opens a pull-down menu. ISubmenu Menu of context-sensitive choices for one or more objects. The choices appear in a pop-up window near the objects. IPopUpMenu List of action, routing, and settings choices in a menu opened from another menu. The menu is either a pull-down menu opened from a menu bar or a cascade menu opened from another menu. Related Parts  Menu item  Cascade menu  Menu separator  Information area The IMenu part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IMenu - Settings window displays. ═══ 16.4. IMenuItem ═══ Select IMenuItem to add a menu item to a menu in your application. The user can select a choice or menu item to apply the choice to the object. Related Parts  Menu  Cascade menu  Menu separator  Information area The IMenuItem part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IMenuItem - Settings window displays. ═══ 16.5. IMenuCascade ═══ Select IMenuCascade to add a cascade menu to a menu in your application. A cascade menu is a menu selection choice that represents a submenu. As a high-level menu choice, a submenu contains a a set of closely related menu choices. Using a submenu keeps menus shorter and defers detailed choices from the higher-level menu. The user can select a choice or menu item to apply the choice to the object. Related Parts  Menu  Menu item  Menu separator  Information area The IMenuCascade part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IMenuCascade - Settings window displays. ═══ 16.6. IMenuSeparator ═══ Select IMenuSeparator to add a menu separator to a menu in your application. This part visually separates menu choice groups in a menu by drawing lines between menu choices on a menu to mark the beginning or end of a group of related menu choices. By seeing the separators between groups, the user can recognize groups of related menu choices. Related Parts  Menu  Menu item  Cascade menu  Information area The IMenuSeparator part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. Note: There are no settable attributes. for this part. ═══ 16.7. IInfoArea ═══ Select IInfoArea to add an information area at the bottom of a frame window in your application. An information area displays brief information about a selected menu choice or reports successful completion of a selected action. The user can read help information in the information area without opening another window for help. Related Parts  Menu  Menu item  Cascade menu  Menu separator The IInfoArea part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IInfoArea - Settings window displays. ═══ 16.8. ITitle ═══ Select ITitle to change a frame window title after creating a window part in your application. Otherwise, the user can only view title changes when made by your application. The user can change the title if your application provides this capability through other controls. Related Parts  Frame window The ITitle part is in the Frame Extensions category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IToolBar - Settings window displays. ═══ 17. Sliders Category ═══ The Sliders category contains parts you can use to to add a control that Parts in this category IProgressIndicator ISlider ICircularSlider IScrollBar ═══ 17.1. IProgressIndicator ═══ Select IProgressIndicator to add a progress indicator to your application that provides a visual measure of the progress of a task. A horizontal or vertical shaft represents the task. A progress indicator is particularly useful for tasks that take significantly longer to complete. An arm moves along the shaft to show the progress of the task. The arm starts at one end of the shaft, called the home position, and reaches the other end when the task finished. The shaft can be colored between the home position and the arm to emphasize the progress of the task. This colored portion of the shaft is called a ribbon strip. The user can see the progress of the task by watching the progress indicator. If your application provides a push button with cancel support, the user can end the task. to add a slider to your application The user can use the progress indicator to select from a range of values by moving a slider. You can set scale features, such as minimum and maximum values and orientation of the scale (left to right or top to bottom). You can use a scale to display a percentage value, or to control a volume setting. Related Parts  Slider  Circular slider  Scroll bar The IProgressIndicator part is in the Sliders category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IProgressIndicator - Settings window displays. ═══ 17.2. ISlider ═══ Select ISlider to add a slider to your application that represents a range of selection values. A horizontal or vertical shaft represents the task, and a slider arm marks the selected value. Use a slider part to do the following:  Provide a range of visually nondiscrete selection values, such as shades of visual color  Provide a range of discrete selection values, such as radio station frequencies  Show a value relative to a range of potential values, such as the current temperature on a thermometer The user moves the arm along the shaft to change the selected value. Related Parts  Circular slider  Progress indicator The ISlider part is in the Sliders category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ISlider - Settings window displays. ═══ 17.3. ICircularSlider ═══ Select ICircularSlider to add a circular slider to your application that shows a range of seemingly nondiscrete selection values, such as degrees of brightness or loudness. A circular dial represents the range of values, and a slider arm marks the selected value. The user moves the arm around the dial to change the selected value. Related Parts  Circular slider  Progress indicator The ICircularSlider part is in the Sliders category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ICircularSlider - Settings window displays. ═══ 17.4. IScrollBar ═══ Select IScrollBar to add a scroll bar to a viewport in your application. A scroll bar is a window component consisting of a shaft, a scroll box in the shaft, and scroll buttons at the ends of the shaft. It is either horizontal or vertical, indicating the availability of more information in the same dimension. With a scroll bar, the user can bring information into view by moving the scroll box along the shaft in the direction of the additional information. The user can move the scroll box in any of the following ways:  Drag it with the mouse.  Click or press the mouse in the shaft away from the scroll box to pull it in that direction.  Click or press a scroll button to pull the scroll box in the direction of the scroll button. This moves the scroll box and view contents by increments of either line height or character width. Related Parts  View port The IScrollBar part is in the Sliders category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IScrollBar - Settings window displays. ═══ 18. Composers Category ═══ The Composers category contains parts you can use to place other visual parts in. Parts in this category IMultiCellCanvas ISetCanvas ISplitCanvas IViewPort INotebook IVBNotebookPage ICanvas IFrameWindow ═══ 18.1. IMultiCellCanvas ═══ Select IMultiCellCanvas to add a canvas to your application that displays information in a set of cells organized in rows and columns. The cells can contain controls that span the rows and columns. Use the multiple-cell canvas to add freely arranged canvas cells within one of the following frameworks:  The client area of a frame window  A viewport  A multiple-cell canvas cell  A split canvas pane  A notebook page You can then place other controls within the cells of the multiple-cell canvas. If you build the multiple-cell canvas with some expandable rows and columns, controls in the cells remain uniformly spaced when the user resizes the canvas. The cells in a multiple-cell canvas are adjusted for control text of varying length, which is important for national language support. You can add rows and columns using the pop-up menu for this part. The user interacts with the controls that your application places on the canvas, not with the canvas. Related Parts  Canvas  Set canvas  Split canvas  View port The IMultiCellCanvas part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IMultiCellCanvas - Settings window displays. ═══ 18.2. ISetCanvas ═══ Select ISetCanvas to add a canvas to your application that displays information in a set of cells organized in rows or columns (the deck). Use the set canvas to add adjustable canvas cells in rows or columns within one of the following frameworks:  The client area of a frame window  A viewport  A split canvas pane  A notebook page You can then place other controls within the cells of the set canvas. For example, you can easily arrange a field of push buttons in the cells of a set canvas. The cells in a set canvas are adjusted for control text of varying length, which is important for national language support. You can add rows and columns using the pop-up menu for this part. The user interacts with controls that your application places in the cells, not with the canvas. Related Parts  Canvas  Split canvas  Multiple-cell canvas  View port The ISetCanvas part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ISetCanvas - Settings window displays. ═══ 18.3. ISplitCanvas ═══ Select ISplitCanvas to add a canvas to your application that provides split windows within a framework. A split canvas is a split window into which view ports or canvases can be placed. A split bar appears between the panes in the split canvas. Use the split canvas to provide split windows within one of the following frameworks:  The client area of a frame window  A multiple-cell canvas  A notebook page You can then place another canvas or a view port in each pane of the split window. The user can move the split bar by pressing mouse button 2 on it and dragging it. Related Parts  Canvas  Set canvas  Multiple-cell canvas  View port The ISplitCanvas part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ISplitCanvas - Settings window displays. ═══ 18.4. IViewPort ═══ Select IViewPort to add a view port to your application. Use the view port to add a scrollable view within one of the following frameworks:  The client area of a frame window  A cell of a set canvas  A multiple-call canvas  A split canvas pane  A notebook page The user interacts with controls that your application places within the view port. Related Parts  Canvas  Set canvas  Split canvas  Multiple-cell canvas The IViewPort part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IViewPort - Settings window displays. ═══ 18.5. INotebook ═══ Select INotebook to add a notebook to your application for settings choices or for information that can be organized into sections. The notebook resembles a physical notebook. It presents information on pages. The first page of each section is separated into pages by a divider tab. You must add an initial page when you first add a notebook. To do this, use the pop-up menu for the part. You can also add parts to notebook pages, such as push buttons and entry fields. The settings view windows in Visual Builder are an example of notebooks. The user can do the following with a notebook:  Turn notebook pages by clicking on page buttons  Move directly from one section to another by selecting a tab  View or change information by using other controls Related Parts  Canvas  Split canvas  Multiple-cell canvas Parts You Can Add  Notebook page  Entry field  Combination box  List box  Group box  Push button The INotebook part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The INotebook - Settings window displays. ═══ 18.6. IVBNotebookPage ═══ Select IVBNotebookPage to add a notebook page to a notebook part to your application for settings choices or for related information. The notebook page represents a physical notebook page. It presents information that is generally related and can have a tab for direct user access. The user can do the following with a notebook page:  Turn the page by clicking on page buttons  View or change information by using other controls Related Parts  Notebook Parts You Can Add  Notebook  Entry field  Combination box  List box  Group box  Push button The IVBNotebookPage part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IVBNotebookPage - Settings window displays. ═══ 18.7. ICanvas ═══ Select ICanvas to add a canvas to your application as a background part for the client area of a frame window. Think of a canvas as a drawing board for the placement of control parts. Use the canvas to provide a background within one of the following frameworks:  The client area of a frame window  A viewport pane  A notebook page You can then place other parts on the canvas. The placement and size of controls on a canvas is fixed. They are not adjustable for different display resolutions or for national language support. The user interacts with controls that your application places on the canvas, not with the canvas. Related Parts  Set canvas  Split canvas  Multiple-cell canvas  View port The ICanvas part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The ICanvas - Settings window displays. ═══ 18.8. IFrameWindow ═══ Select IFrameWindow to add a frame window as a primary or secondary window in your application for user interface controls. A primary window is the base window for your application, and a secondary window can open from the primary window or from another secondary window. You can arrange other visual parts in either type of window. A frame window is displayed by default when you open the Composition Editor for a visual part. A frame window can contain the following frame control:  System menu  Title bar  Sizing buttons  Border  Menu bar The portion of the frame window not occupied by frame controls is called the client area. Your application uses the client area for the presentation and gathering of application data. A client control occupies and manages the client area. Your application typically uses one of the following client controls:  Canvas  Container  Multiple-line edit  Notebook  View port Your application uses these controls, or other controls within them, for most user interaction. You can also add extensions to the frame window. These frame extensions are generally application-specific. A frame extension can occupy one of the following areas:  The left or right side of the title bar area  The top or bottom of the client area The user interacts with your application through the frame window. Related Parts  Canvas  Set canvas  Split canvas  Multiple-cell canvas  View port  Title Visual Parts You Can Add  Container  Multiple-line edit  Menu  Push button  Scroll bar The IFrameWindow part is in the Composers category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IFrameWindow - Settings window displays. ═══ 19. Models Category ═══ The Models category consists of elementary parts you can use to implement some of the logic of your application. These parts are nonvisual. Because these parts are nonvisual, you add connections between them and visual parts so your application can access the Models category. Parts in this category AvlObjectFactory AvlVariable IVSequence ═══ 19.1. AvlObjectFactory ═══ Select AvlObjectFactory to add a part that creates instances of a class. You must place this part on the free-form surface outside the boundaries of any visual part. Use New from the Part menu from the Visual Builder window to create a new part. Related Parts  Variable  Template collection class The AvlObjectFactory part is in the Models category. To display the pop-up menu for the part, click with mouse button 2 on the part. Note: There are no settable attributes. for this part. ═══ 19.2. AvlVariable ═══ Select AvlVariable to enable your application to work with a part of a given class but not a particular part. You must place this part on the free-form surface outside the boundaries of any visual part. When you add a variable to the free-form surface, you specify its class and connect the variable so that at runtime it receives its identity from a part elsewhere in your application. At runtime a part of that class takes the place of the variable. You can add a variable using the palette, by selecting Add to palette from the File menu in the Composition Editor. Or you can use Add part from the Options menu in the Composition Editor. If you add a variable to the palette, the default class is IStandardNotifier. However, if you add it using Add part, you can choose the type of class you want the variable to represent. You can change the class of the variable after Visual Builder adds it to the free-form surface using the pop-up menu for the variable part. The AvlVariable part is in the Models category. To display the pop-up menu for the part, click with mouse button 2 on the part. Note: There are no settable attributes. for this part. ═══ 19.3. IVSequence ═══ Select IVSequence to add a template collection class part that manages objects objects in an ordered collection to your application. As an ordered collection of elements, it can contain a group of related objects. These objects are ordered by the sequence in which you add them to or remove them from an ordered collection. Your application can add objects at either end of the ordered collection. It can also remove any object from the ordered collection. You must place this part on the free-form surface outside the boundaries of any visual part. The user interacts with objects in the collection through other parts, such as list boxes and combination boxes, rather than interacting directly with the template collection class part. You can add a template collection class part using the palette, by selecting Add to palette from the File menu in the Composition Editor. Or you can use Add part from the Options menu in the Composition Editor. If you add a template collection class part to the palette, the default class is IStandardNotifier. However, if you add it using Add part, you can choose the type of class you want the variable to represent. You can change the class of the variable after Visual Builder adds it to the free-form surface using the pop-up menu for the variable part. Related Parts  Object factory  Variable Visual Parts You Can Add  Collection view combination box  Collection view list box The IVSequence part is in the Models category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IVSequence - Settings window displays. ═══ 20. Other Category ═══ The Other category contains parts you can use to place other visual parts in that can be used in the OS/2 environment. Parts in this category IHelpWindow IMessageBox IFileDialog IFontDialog IFlyText ═══ 20.1. IHelpWindow ═══ Select IHelpWindow to add a help window that displays help information about your application. It represents your set of help panels. You can use it for general and contextual help. The user can open a help menu from one of the following:  Help menu  Help push button  F1 function key Related Parts  Message box  Fly-over text The IHelpWindow part is in the Other category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IHelpWindow - Settings window displays. ═══ 20.2. IMessageBox ═══ Select IMessageBox to add a message box to your application that box displays information about activity or problems. A message box is a window for displaying application messages to the user. The user sees the information or error presented in the message. If presented with a choice, the user can also select an action in response to the message. You can add push buttons to the message box to give the user such choices.  Help menu  Help push button  F1 function key Related Parts  Message box  Fly-over text The IMessageBox part is in the Other category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IMessageBox - Settings window displays. ═══ 20.3. IFileDialog ═══ Select IFileDialog to add a part that serves as a placeholder for a file dialog for connections from other parts when you build your application. When your application is built and run, a file dialog replaces the placeholder. It provides an input field and other controls for file identification. Using a file dialog, the user can select a file to work with or specify a file name for saving current work. Related Parts  Frame window  Menu The IFileDialog part is in the Other category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IFileDialog - Settings window displays. ═══ 20.4. IFontDialog ═══ Select IFontDialog to add a part that serves as a placeholder for a font dialog for connections from other parts when you build your application. When your application is built and run, a font dialog replaces the placeholder. It provides selection fields and other controls for font identification. Using the font dialog, the user can select a font name, a font size, and font styles to use with your application. Related Parts  Frame window  Menu The IFontDialog part is in the Other category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IFontDialog - Settings window displays. ═══ 20.5. IFlyText ═══ Select IFlyText to add fly-over text for other parts in your application. Fly-over text is a brief description of a control within the frame window of your application. This text appears when the user places the mouse pointer on the control. The user can access and read help information in the fly-over text without opening another window for help. Related Parts  Help window The IFlyText part is in the Other category. To display the pop-up menu for the part, click with mouse button 2 on the part. To further define the appearance and function of an instance of a visual part, place an instance of the part on the free-form surface and open the settings view window for the part. The IFlyText - Settings window displays. ═══ 21. No Settable Attributes Settings view ═══ The settings view of a part provides a way to display and set attributes and options for the part. This part does not have any available settings. If the partName field appears in the Settings view window, then the only attribute for this part that you can change is the actual name of the part. A part can have no settable attributes for one of the following reasons:  A default visual representation does not exist that you can use to change the value  The part is read-only because it has a get member function but no set member function A get member function retrieves the value of an attribute so that it can be used by other parts, while a set member function sets a value for the attribute in the part. Parts exist whose values should not be changed by an application and such parts have a get member function, but no set member function. ═══ 22. Settings ═══ To change how a part works and appears, you can open and modify its settings. ═══ 22.1. Common Settings Pages for Most Parts ═══ Settings Pages Common to Most Parts The following settings pages are common to most parts that have settings:  Control page  Handlers page  Size/position page  Font page ═══ 22.2. General Settings Pages ═══ The following General page settings views are available:  IAnimatedButton  IBitmapControl, IIconControl  ICircularSlider  ICollectionViewComboBox  ICollectionViewListBox  IComboBox  IContainerControl, IContainerColumn  IEntryField  IFileDialog  IFontDialog  IFlyText  IFrameWindow  IGraphicPushButton  IGroupBox, IPushButton  IHelpWindow  IInfoArea  IListBox  IMenu  IMenuCascade  IMenuItem  IMessageBox  IMultiCellCanvas  IMultiLineEdit  INotebook  IVBNotebookPage  INumericSpinButton  IOutlineBox, ICanvas  IProgressIndicator, ISlider  IRadioButton, ICheckBox  IScrollBar  IVSequence  ISetCanvas  ISplitCanvas  IStaticText  ITextSpinButton  ITitle  IToolBar  IToolBarButton  IViewPort ═══ 22.3. Styles Settings Pages ═══ The following Styles page settings views are available:  IAnimatedButton  IBitmapControl  ICanvas  ICheckBox  ICircularSlider  IComboBox, ICollectionViewComboBox  IContainerColumn  IContainerControl  IEntryField  IFrameWindow  IGraphicPushButton  IGroupBox  IIconControl  IListBox, ICollectionViewListBox  IMenu  IMultiCellCanvas  IMultiLineEdit  INotebook  IVBNotebookPage  INumericSpinButton  IOutlineBox  IProgressIndicator  IPushButton  IRadioButton  IScrollBar  ISetCanvas  ISlider  ISplitCanvas  IStaticText  ITextSpinbutton  IToolBar  IToolBarButton  IViewPort ═══ 22.4. Color Settings Pages ═══ The following Color page settings views are available:  IBitmapControl, IIconControl, IInfoArea, IStaticText  ICanvas, IMultiCellCanvas, ISetCanvas, IToolBar  IComboBox, ICollectionViewComboBox, IEntryField  IFrameWindow  IGroupBox  IListBox, ICollectionViewListBox  IMenu  IMultiLineEdit  INotebook  INumericSpinButton, ITextSpinbutton  IOutlineBox  IProgressIndicator, ISlider  IPushButton, ICheckBox, IGraphicPushButton, IRadioButton  IScrollBar  ISplitCanvas  IToolBarButton  IViewPort ═══ 22.5. IAnimatedButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. IAnimatedButton - Settings Help for IAnimatedButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.6. IBitmapControl - Settings ═══ Use the part settings window to change the appearance and operation of the part. IBitmapControl - Settings Help for IBitmapControl Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.7. ICanvas - Settings ═══ Use the part settings window to change the appearance and operation of the part. ICanvas - Settings Help for ICanvas Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.8. ICheckBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. ICheckBox - Settings Help for ICheckBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.9. ICircularSlider - Settings ═══ Use the part settings window to change the appearance and operation of the part. ICircularSlider - Settings Help for ICircularSlider Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.10. ICollectionViewComboBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. ICollectionViewComboBox - Settings Help for ICollectionViewComboBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.11. ICollectionViewListBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. ICollectionViewListBox - Settings Help for ICollectionViewListBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.12. IComboBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. IComboBox - Settings Help for IComboBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.13. IContainerColumn - Settings ═══ Use the part settings window to change the appearance and operation of the part. IContainerColumn - Settings Help for IContainerColumn Tasks for this window  General Tasks for Visual Builder Settings pages General Styles Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.14. ICustomButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. ICustomButton - Settings Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.15. IEntryField - Settings ═══ Use the part settings window to change the appearance and operation of the part. IEntryField - Settings Help for IEntryField Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.16. IFrameWindow - Settings ═══ Use the part settings window to change the appearance and operation of the part. IFrameWindow - Settings Help for IFrameWindow Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.17. IGraphicPushButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. IGraphicPushButton - Settings Help for IGraphicPushButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.18. IGroupBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. IGroupBox - Settings Help for IGroupBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.19. IHelpWindow - Settings ═══ Use the part settings window to change the appearance and operation of the part. IHelpWindow - Settings Help for IHelpWindow Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.20. IIconControl - Settings ═══ Use the part settings window to change the appearance and operation of the part. IIconControl - Settings Help for IIconControl Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.21. IInfoArea - Settings ═══ Use the part settings window to change the appearance and operation of the part. IInfoArea - Settings Help for IInfoArea Tasks for this window  General Tasks for Visual Builder Settings pages General Color Handlers Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.22. IListBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. IListBox - Settings Help for IListBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.23. IMenu - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMenu - Settings Help for IMenu Tasks for this window  General Tasks for Visual Builder Settings pages General Styles Color Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.24. IMenuCascade - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMenuCascade - Settings Help for IMenuCascade Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.25. IMenuItem - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMenuItem - Settings Help for IMenuItem Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.26. IMenuSeparator - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMenuSeparator - Settings Help for IMenuSeparator Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.27. IMessageBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMessageBox - Settings Help for IMessageBox Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.28. IMMPlayerPanel - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMMPlayerPanel - Settings Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.29. IMultiCellCanvas - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMultiCellCanvas - Settings Help for IMultiCellCanvas Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.30. IMultiLineEdit - Settings ═══ Use the part settings window to change the appearance and operation of the part. IMultiLineEdit - Settings Help for IMultiLineEdit Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.31. INotebook - Settings ═══ Use the part settings window to change the appearance and operation of the part. INotebook - Settings Help for INotebook Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.32. INumericSpinButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. INumericSpinButton - Settings Help for INumericSpinButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.33. IOutlineBox - Settings ═══ Use the part settings window to change the appearance and operation of the part. IOutlineBox - Settings Help for IOutlineBox Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.34. IProgressIndicator - Settings ═══ Use the part settings window to change the appearance and operation of the part. IProgressIndicator - Settings Help for IProgressIndicator Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.35. IPushButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. IPushButton - Settings Help for IPushButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.36. IRadioButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. IRadioButton - Settings Help for IRadioButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.37. IScrollBar - Settings ═══ Use the part settings window to change the appearance and operation of the part. IScrollBar - Settings Help for IScrollBar Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.38. ISetCanvas - Settings ═══ Use the part settings window to change the appearance and operation of the part. ISetCanvas - Settings Help for ISetCanvas Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.39. ISlider - Settings ═══ Use the part settings window to change the appearance and operation of the part. ISlider - Settings Help for ISlider Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.40. ISplitCanvas - Settings ═══ Use the part settings window to change the appearance and operation of the part. ISplitCanvas - Settings Help for ISplitCanvas Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.41. IStaticText - Settings ═══ Use the part settings window to change the appearance and operation of the part. IStaticText - Settings Help for IStaticText Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.42. ITextSpinButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. ITextSpinButton - Settings Help for ITextSpinButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.43. ITitle - Settings ═══ Use the part settings window to change the appearance and operation of the part. ITitle - Settings Help for ITitle Tasks for this window  General Tasks for Visual Builder Settings pages General Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.44. IToolBar - Settings ═══ Use the part settings window to change the appearance and operation of the part. IToolBar - Settings Help for IToolBar Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.45. IToolBarButton - Settings ═══ Use the part settings window to change the appearance and operation of the part. IToolBarButton - Settings Help for IToolBarButton Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.46. IVBContainerControl - Settings ═══ Use the part settings window to change the appearance and operation of the part. IVBContainerControl - Settings Help for IVBContainerControl Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.47. IVBFileDialog - Settings ═══ Use the part settings window to change the appearance and operation of the part. IVBFileDialog - Settings Help for IVBFileDialog Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.48. IVBFlyText - Settings ═══ Use the part settings window to change the appearance and operation of the part. IVBFlyText - Settings Help for IVBFlyText Tasks for this window  General Tasks for Visual Builder Settings pages General Handlers Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.49. IVBFontDialog - Settings ═══ Use the part settings window to change the appearance and operation of the part. IVBFontDialog - Settings Help for IVBFontDialog Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.50. IVBNotebookPage - Settings ═══ Use the part settings window to change the appearance and operation of the part. IVBNotebookPage - Settings Help for IVBNotebookPage Tasks for this window  General Tasks for Visual Builder Settings pages General Styles Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.51. IViewPort - Settings ═══ Use the part settings window to change the appearance and operation of the part. IViewPort - Settings Help for IViewPort Tasks for this window  General Tasks for Visual Builder Settings pages General Control Styles Handlers Color Size/Position Font Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ 22.52. IVSequence - Settings ═══ Use the part settings window to change the appearance and operation of the part. IVSequence - Settings Help for IVSequence Tasks for this window  General Tasks for Visual Builder Settings pages General Push buttons Select OK to update the part and close the settings view window. Select Apply to update the part with the changes and remain in the settings view. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Latched Sets the part to the latched state. Animation rate Sets the current animation rate for the part. Bitmap Specifies the bitmap to be used. Identifier list Sets a list of identifers for the part. DLL name Specifies the name of the resource .dll that contains the bitmap. Resource ID Specifies the resource identifier of the bitmap. Bitmap count Specifies the number of bitmaps to be used. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. animateWhenLatched Sets the style for the part to the latched state. latchable Sets the default style to the latchable state. autoLatch Sets the default style for the part the automatic latch state. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ DLL name Sets the name of the DLL file to be loaded. Resource Id Sets the resource identifier for the part. Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Limit Sets the length (in bytes) of the longest text the part can hold. Alignment Changes the alignment of the part. Word wrap Enables word wrap of text around at the end of a line. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. sizeToBitmap Sizes the window to the size of the currently set bitmap. mnemonic Draws the next character with mnemonic emphasis if a mnemonic prefix character is found. fillBackground Erases the background, using the currently set fill color before drawing the text. halftone Draws the text in halftone color. strikeout Draws the text with overstriking. underscore Draws the text with underscoring. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Disabled foreground Sets the foreground color for disabled text. Highlighted foreground Sets the foreground color for selected text. Border Sets the color of the border that surrounds the part. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ Size/Position Settings ═══ X field Sets the X coordinate of the part if it is not the client part. Y field Sets the Y coordinate of the part if it is not the client part. Width Sets the width of the canvas, if it is not the client part. Height Sets the height of the canvas, if it is not the client part. Minimum size Determines the minimum size of the part. Select Calculate at execution time or Set value here. If you select Calculate at execution time, the minimum size is determined dynamically. If you select Set value here, you can set the Minimum size Width and Height fields to define a fixed minimum size. Width Sets the minimum-allowable width, which is set by the user's class. Height Sets the minimum-allowable height, which is set by the user's class. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the canvas. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. autoSelect Lets the user change the current selection by moving the cursor. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. buttons Sets the the style for the circular slider buttons. displayValue Displays the currently selected value on the dial for the part. jumpToPointer Sets the value to the point you select on the dial by clicking on it. full360 Sets the dial so the user can turn it up to 360 degrees. midpoint Displays a mark at the midpoint on the dial. proportionalTicks Sets the tick marks to be porportional to the values possible on the dial. noTicks Does not display tick marks on the dial. circularArm Sets the indicator to appear as a dial. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Lower Sets the lower range of the slider dial. Upper Sets the higher range of the slider dial. Rotation increment Sets the incremental value by which the user can rotate the dial by turning it with the mouse. Current value Sets the current incremental value by which the user can rotate the dial. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Item type Specifies the part type of objects in the collection. Contents Sets initial items for the part. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Selection index Sets the index of the specified choice. Auto scroll Enables automatic scrolling for the part. Margin Draws a border around the entry field, with a margin between the border and the entry field. For a canvas, the margin width and height are returned, which is the space between the edge of the canvas and the outermost child windows. Auto tab Generates a tab key when the part is filled by adding a character at the text limit of the part text. Insert mode Sets insert mode to on. Limit Sets the length (in bytes) of the longest text the part can hold. Combo box type Sets the behavior of the combination box, which can be one of the following: Simple Specifies that the entry field and list box controls 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. You can also select an item from the list box control by entering part of the item into the entry field. The entry is completed with the closest match from the list box. Drop-down Specifies the drop-down variation of the combination box. The list box control is hidden until the user requests that it be displayed. Read-only drop-down Specifies the drop-down list variation of the combination box. The drop-down list only displays one item in the entry field until the user displays the list box control to make alternative selections from the list box. The user cannot enter information into the entry field portion of the drop-down list. The entry field control is replaced by a static control that displays the current selection from the list box. Character type Sets the type of a character at a given index. Contents Sets initial items for the part. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. horizontalScroll Provides a horizontal scroll bar for the part. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Heading text Sets the text for the column heading. Width Sets the container column width. Column definition Sets the data to appear in the column. Use Text attribute set in the Container Sets the title text to show for the container item. Use Icon attribute set in the Container Sets the icon to show for the container item. Use an attribute from the part Sets the attribute to show for the container item. Attributes Lists the available text-related attributes that you can select from to assign to the column. Attribute type Displays the data type of the selected attribute. Column type Lists the available column data types for the selected attribute. ═══ Styles Settings ═══ defaultHeadingStyle() Resets the part to the original default heading style. readOnlyHeading Prevents entering input into the heading field. icon The heading is an icon. defaultDataStyle() Resets the part to the original default data style. date The data is displayed in date format and is enabled for National Language Support. time The data is displayed in time format and is enabled for National Language Support. number The data is displayed as an unsigned long number. horizontalSeparator Provides a horizontal separator beneath the column heading. verticalSeparator Provides a vertical separator after the column. handleDrawItem Generates a draw item event to allow the application to draw the part. readOnly Prevents entering input into the field. invisible The column is invisible. icon The data is an icon. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Title Sets the title to appear on the title bar for the part. Title attributes Sets the title for the container. Container item attributes Specifies the objects that the container can hold. Show title Shows the container's title. Show title separator Displays a horizontal separator between the title and the work area of a container part. Title alignment Sets the alignment attributes for the title. View type Sets the view type for the part, which can be one of the following: Details view Shows the details view of the container. Flowed name view Sets the current view to the flowed name view. Flowed text view Sets the current view to the flowed name view. Icon view Shows the icon view of the container. Name view Shows the name view of the container. Text view Sets the current view to the nonflowed text view. Tree icon view Shows the tree icon view of the container. Tree name view Shows the tree name view of the container. Tree text view Shows the text name view of the container. Item type Specifies the part type of objects in the collection. Text Sets the text for the part. Icon Sets the icon handle of the part. Collection type Specifies the part type of the collection. Line spacing Sets the space between lines, in pixels. Refresh the container after changes Refreshes all parts in the container after updates are made. EnableDrawBackground Enables the background of the container to be redrawn. EnableDrawItem Enables list box items to be drawn, which are typically used to display bitmaps. ═══ Settings ═══ ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. autoPosition Automatically positions parts that are added to the container in the icon view. verifyPointers Validates that container parts exist. noSharedObjects Disallows sharing objects with other containers. extendedSelection Specifies that the container use extended selection. singleSelection Specifies that the container use single selection. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Control Settings ═══ Fly over short text Specifies the short text for the fly-over text control. Fly over long text Specifies the long text for the fly-over text control. Window id Sets the window identifier. Help panel id Sets the help panel identifier for the part. Enabled Enables the handler by default. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Latched Sets the part to the latched state. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Latched foreground Sets the foreground color for latched text. Latched background Sets the background color for latched text. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. latchable Sets the default style to the latchable state. autoLatch Sets the default style for the part the automatic latch state. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. unreadable Substitutes each character in the text with an asterisk. autoScroll Enables automatic scrolling for the part. The entry field automatically makes more space at the end of the line as the user enters more text. autoTab Generates a tab key when the part is filled by adding a character at the text limit of the part text. command Generates a command event when the user selects the part. margin Sets the style so that a border is drawn around the entry field. readOnly Prevents entering input into the field. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Limit Sets the length (in bytes) of the longest text the part can hold. Insert mode Sets insert mode to on. Alignment Changes the text alignment of the part. Left aligns the text to the left, Center centers the text, and Right aligns the text at the right. Character type Sets the type of a character at a given index. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Disabled foreground Sets the foreground color for disabled text. Highlighted foreground Sets the foreground color for selected text. Border Sets the color of the border that surrounds the part. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Owner Sets the window's owner. Title Sets the title to appear on the title bar for the part. File type (EA type) Sets the file type selected by the user. File name Sets the fully qualified file name selected by the user. OK button text Sets the text that appears on the OK button. Search Lets the user search for the file name. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Owner Sets the window's owner. ═══ Font Settings ═══ Name Sets the name of the font. Point size Sets the point size of the font. Style Sets the style for the part. Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Edit Opens an edit field on a part or setting. Default font Sets the current default font style. ═══ General Settings ═══ ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Owner Sets the window's owner. Title Sets the title to appear on the title bar for the part. Font family name Sets the family name of the font. Preview text Sets the text to display in the font sample box. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. accelerator Saves the current accelerator and changes to the new accelerator. animated Shows the frame window with animation when the user opens, closes, or restores it. appDBCSStatus Includes a DBCS status area in the frame of the frame window when displayed in a DBCS environment. border Draws a border around the frame window, or sets the color of the border that surrounds the button window. dialogBackground Gives a frame the background color for the system dialog. dialogBorder Puts a dialog border around the frame window. hideButton Adds a hide button to the frame window. horizontalScroll Provides a horizontal scroll bar for the part. maximizeButton Adds a maximize button to the frame window. menuBar Provides the frame window with a menu bar. minimizeButton Adds a minimize button to the frame window. noMoveWithOwner Disables the default behavior of automatically moving frame windows with their owner. shellPosition Sets the initial position of the window to a location and size dictated by the system shell. sizingBorder Puts a sizing border around the frame window. systemMenu Provides a system menu in the frame window. systemModal Makes the part system-modal. titleBar Provides a title bar for the frame window. verticalScroll Provides a vertical scroll bar for the part. windowList Adds an entry for this frame window to the sytem window list. maximized Creates the frame window in the maximized state. minimized Creates the frame window in the minimized state. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Title text Sets the title text for the part. Border width Sets the screen coordinates for the width of the border of the frame window. Border height Sets the screen coordinates for the height of the border of the frame window. Auto delete Removes the specified item from the menu. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Shadow Sets the color of the frame window's shadow. Disabled background Sets the background color for disabled text. Active Sets the color to be used for the frame window's border when the frame window is active. Inactive Sets the color to be used for the frame window's border when the frame window is inactive. Border Sets the color of the border drawn around the children of the frame window. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). DLL name Sets the name of the DLL file to be loaded. Resource ID Sets the name of the DLL and resource identifier for the part. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. sizeToGraphic Sizes the window to the size of the currently set graphic. noBorder Suppresses the drawing of a border. defaultButton Specifies this push button as the default push button. Help Enables help for the part. systemCommand Generates a system command event when the user selects the part. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Border Sets the color of the border that surrounds the part. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the static text. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Handlers Settings ═══ Handler name Sets the name of the default handler. Handler list Sets the name of the handler for the MLE control. Add after Adds the new choice after the selected choice in the list. If no choice is selected, the new choice is added after the first choice in the list. Add before Adds the new choice before the selected choice in the list. If no choice is selected, the new choice is added before the first choice in the list. Move Determines whether a part and its descendants can be moved to a new location. Remove Removes one item from the part and returns the count of the number of items that remain. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Title Sets the title to appear on the title bar for the part. Help libraries Sets the name of one or more compiled help (.hlp) files that make up the help library. Help table ID Sets the name of the help table. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. mnemonic Draws the next character with mnemonic emphasis if a mnemonic prefix character is found. fillBackground Erases the background, using the currently set fill color before drawing the text. halftone Draws the text in halftone color. strikeout Draws the text with overstriking. underscore Draws the text with underscoring. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Inactive text Sets the text to appear in the information area when the user has not selected a menu choice. Disabled text Sets the text to appear in the information area when the user selects a disabled a menu choice. Missing text Sets the text to appear in the information area when the user selects a menu choice where no information area text has been defined. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. Draw item Allows the menu item to be drawn. horizontalScroll Provides a horizontal scroll bar for the part. multipleSelect Sets the style of the part to multiple selection mode. noAdjustPosition Restricts adjustment of the frame position of the part. As a result, certain aspects of enhanced performance by such alignment are lost. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Contents Sets initial items for the part. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Disabled foreground Sets the foreground color for disabled text. Highlighted foreground Sets the foreground color for selected text. Border Sets the color of the border that surrounds the part. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Controls Defines the name of all rows and columns that appear on the multicell canvas, and sets how many rows and columns to display. Rows Sets the number and height of rows, and whether or not their height can be adjusted. Columns Sets the number and width of columns, and whether or not they can be widened. Add Adds a row or column to the multicell canvas. Add after Adds a row or column to the multicell canvas after the the selected row or column. Add before Adds a row or column to the multicell canvas before the the selected row or column. Delete Deletes the selected row or column from the canvas. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. dragLines Adds draggable grid lines between the rows and columns of the multicell canvas. gridLines Adds grid lines between the rows and columns of the multicell canvas. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Disabled foreground Sets the foreground color for disabled text. Highlighted foreground Sets the foreground color for selected text. Border Sets the color of the border that surrounds the part. Disabled background Sets the background color for disabled text. Highlighted background Sets the background color for selected text. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Info area text Specifies the text to appear in the information area for this part. Help panel id Sets the help panel identifier for the part. Menu item type Sets the type of the menu item. Text Sets the text of the menu item. DLL name Sets the name of the DLL for the menu item. Resource ID Sets the resource identifier for the menu item. Alt Sets the accelerator for the Alt key. Ctrl Sets the accelerator for the Ctrl key. Shift Sets the accelerator for the Shift key. Key Allows selection of an accelerator key. Show text on menu Shows the text for the accelerator key with the menu item. Command type Generates a command event when the user selects the part. Checked Places a check mark to the left of the menu item. Disabled Makes the menu item unselectable. Framed Places a frame around the menu item. Highlighted Highlights the menu item. No dismiss upon selection Keeps the menu item visible after selection. Selectable Makes the menu item selectable. Draw item Allows the menu item to be drawn. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Info area text Specifies the text to appear in the information area for this part. Menu item type Sets the type of the menu item. Text Sets the text of the menu item. DLL name Sets the name of the DLL for the menu item. Resource ID Sets the resource identifier for the menu item. Conditional cascade Enables the conditional cascade menu behavior. Checked Places a check mark to the left of the menu item. Disabled Makes the menu item unselectable. Framed Places a frame around the menu item. Highlighted Highlights the menu item. No dismiss upon selection Keeps the menu item visible after selection. Selectable Makes the menu item selectable. Draw item Allows the menu item to be drawn. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Part name Sets the name of the part. Title Sets the title to appear on the title bar for the part. Owner Sets the window's owner. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. border Draws a border around the frame window, or sets the color of the border that surrounds the button window. readOnly Prevents entering input into the field. horizontalScroll Provides a horizontal scroll bar for the part. verticalScroll Provides a vertical scroll bar for the part. ignoreTab Sets the MLE so it ignore tab key strokes. The function sends a keyboard event to the owner of the MLE. wordWrap Sets the word-wrap style for the part. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Limit Sets the length (in bytes) of the longest text the part can hold. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Border Sets the color of the border that surrounds the part. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ General Settings ═══ Name Sets the name of the part. Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Layout Defines the placement and layout of the part. Binding Sets the type of binding used for the notebook. tabShape Sets the shape of the notebook tabs. Preview Lets you preview the text, which displays in the current font. Justification Defines the alignment for the text in the status line for the notebook. Tab Defines the alignment for the text in the tabs for the notebook. Width Sets the width of the arrow push button on the notebook page. Height Sets the height of the arrow push button on the notebook page. Width Sets the size (width) of the major tabs in the notebook, in pixels. Height Sets the size (height) of the major tabs in the notebook, in pixels. Width Sets the size (width) of the minor tabs in the notebook, in pixels. Height Sets the size (height) of the minor tabs in the notebook, in pixels. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text Background Sets the color for background text. Page background Sets the color of the page background. Major tab background Sets the color of the background for the major tab. Major tab foreground Sets the color of the foreground for the major tab. Minor tab background Sets the color of the background for the minor tab. Minor tab foreground Sets the color of the foreground for the minor tab. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the notebook. ═══ Styles Settings ═══ statusTextOn Sets the text of the status line associated with this notebook page. minorTab Specifies that the tab is associated with a minor tab. majorTab Specifies that the tab is associated with a major tab. noAttribute Restricts the tab from being associated with an attribute. autoPageSize Automatically sets the size of the notebook page. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Tab text Sets the text for the notebook tab. Status text Sets the text for the status area of the notebook page. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. padWithZeros Pads the displayed number with zeros at the front. readOnly Prevents entering input into the field. noBorder Suppresses the drawing of a border. fastSpin Enables the spin button to increase the spin speed with time. The speed doubles every two seconds. master Specifies that the spin button component consists of:  One or more single-line entry fields (SLE) or spin fields  Two arrows-the Up arrow and the Down arrow When a spin button contains more than one spin field, the master component contains the spin arrows. If the component contains only one spin field, it must be the master. servant Allows the user to create a multiple-field spin button by spinning servants from the master. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Color Settings ═══ Outline type Sets the type of outline. Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the canvas. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. horizontal Creates a horizontal scroll bar. This style is ignored if it is used with vertical. A deck of child windows is arranged in the canvas horizontally in rows from left to right. Decks of rows are arranged from top to bottom. snapToTickMark Specifies that the progress indicator arm snap to the nearest tick when moved between two ticks. ribbonStrip Sets the default ribbonStrip style. handleDrawItem Generates a draw item event to allow the application to draw the part. vertical Creates a vertical scroll bar. This style is used if both it and horizontal are specified. A deck of child windows is arranged in the canvas vertically in columns from top to bottom. Decks of columns are arranged from left to right. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Number of ticks Sets the number of ticks. Ticks Sets the position of the arm as a tick number. Ticks are numbered starting at zero. Pixels Sets the offset of the arm from the home position. Home position Sets the home position of the progress indicator. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Border Sets the color of the border drawn around the children of the frame window. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. noBorder Suppresses the drawing of a border. defaultButton Specifies this push button as the default push button. Help Enables help for the part. systemCommand Generates a system command event when the user selects the part. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Selected Sets the selection state of the item to selected. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. noCursorSelect Enables selection of the part when the user uses the cursor. autoSelect Lets the user change the current selection by moving the cursor. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Name Sets the name of the part. Lower Sets the length of the scroll bar. Upper Sets the width of the scroll bar. Visible Count Sets the amount of the scrollable range that is displayed. Scroll box position Sets the current position of the scroll bar. Color selection Sets the minimum amount of the scrollable range that the user can scroll by selecting the scroll buttons. Page scroll increment Sets the amount of the scrollable range that is scrolled by selecting the scroll shaft. Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Highlighted foreground Sets the foreground color for selected text. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the scroll bar. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. autoSize Enables automatic sizing of the scroll bar. For a vertical scroll bar, the width is determined. For a horizontal scroll bar, the height is determined. horizontal Creates a horizontal scroll bar. This style is ignored if it is used with vertical. A deck of child windows is arranged in the canvas horizontally in rows from left to right. Decks of rows are arranged from top to bottom. vertical Creates a vertical scroll bar. This style is used if both it and horizontal are specified. A deck of child windows is arranged in the canvas vertically in columns from top to bottom. Decks of columns are arranged from left to right. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Name Sets the name of the part. Deck orientation Sets the current orientation of the deck of child windows. Pack type Sets how parts are spaced in decks. Text Sets the text for the part. Deck count Sets the maximum number of decks used by the canvas. Width Specifies the width of the margin. It is half a character and is based on the current font being used for the entry field text. Height Specifies the height of the margin. It is half a character and is based on the current font being used for the entry field text. Width Sets the pad width, which is the space between child windows in a deck and between multiple decks. Height Sets the pad height, which is the space between child windows in a deck and between multiple decks. Alignment Changes the alignment of the part. Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. horizontalDecks Sets the orientation of the deck of child windows to horizontal. verticalDecks Sets the orientation of the deck of child windows to vertical. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Item type Specifies the part type of objects in the collection. Collection type Specifies the part type of the collection. String generator Specifies the name of a string generator class that produces text to represent objects in the collection. Auto scroll Enables automatic scrolling for the part. Margin Draws a border around the entry field, with a margin between the border and the entry field. For a canvas, the margin width and height are returned, which is the space between the edge of the canvas and the outermost child windows. Auto tab Generates a tab key when the part is filled by adding a character at the text limit of the part text. Insert mode Sets insert mode to on. Limit Sets the length (in bytes) of the longest text the part can hold. Combo box type Sets the behavior of the combination box, which can be one of the following: Simple Specifies that the entry field and list box controls 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. You can also select an item from the list box control by entering part of the item into the entry field. The entry is completed with the closest match from the list box. Drop-down Specifies the drop-down variation of the combination box. The list box control is hidden until the user requests that it be displayed. Read-only drop-down Specifies the drop-down list variation of the combination box. The drop-down list only displays one item in the entry field until the user displays the list box control to make alternative selections from the list box. The user cannot enter information into the entry field portion of the drop-down list. The entry field control is replaced by a static control that displays the current selection from the list box. Character type Sets the type of a character at a given index. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Item type Specifies the part type of objects in the collection. Collection type Specifies the part type of the collection. String generator Specifies the name of a string generator class that produces text to represent objects in the collection. ═══ Size/Position Settings ═══ X field Sets the X coordinate of the part. Y field Sets the Y coordinate of the point. Width Sets the width of the text. Height Sets the height of the text. Minimum size Determines the minimum size of the part. Select Calculate at execution time or Set value here. If you select Calculate at execution time, the minimum size is determined dynamically. If you select Set value here, you can set the Minimum size Width and Height fields to define a fixed minimum size. Width Sets the minimum-allowable width, which is set by the user's class. Height Sets the minimum-allowable height, which is set by the user's class. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. buttonsTop Aligns the push buttons with the top side of the part. buttonsBottom Aligns the push buttons with the bottom side of the part. buttonsLeft Aligns the push buttons with the left side of the part. buttonsRight Aligns the push buttons with the right side of the part. horizontal Creates a horizontal scroll bar. This style is ignored if it is used with vertical. A deck of child windows is arranged in the canvas horizontally in rows from left to right. Decks of rows are arranged from top to bottom. snapToTickMark Specifies that the progress indicator arm snap to the nearest tick when moved between two ticks. ribbonStrip Sets the default ribbonStrip style. handleDrawItem Generates a draw item event to allow the application to draw the part. vertical Creates a vertical scroll bar. This style is used if both it and horizontal are specified. A deck of child windows is arranged in the canvas vertically in columns from top to bottom. Decks of columns are arranged from left to right. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Alignment Changes the text alignment of the part. Left aligns the text to the left, Center centers the text, and Right aligns the text at the right. Numeric range Sets a range of values for an attribute of the part. The Lower field sets the lower limit of the range for a spin button part, while the Upper field sets the upper limit. Value Sets the current value for the spin button. Limit Sets the length (in bytes) of the longest text the part can hold. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Disabled foreground Sets the foreground color for disabled text. Border Sets the color of the border that surrounds the part. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ General Settings ═══ Name Sets the name of the part. Orientation Sets the current orientation of the canvas. Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: SplitBarEdgeColor Sets the top and bottom edges of a horizontal split bar or the left and right edges of a vertical split bar. SplitBarMiddleColor Sets the middle of the split bar. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. horizontal Creates a horizontal scroll bar. This style is ignored if it is used with vertical. A deck of child windows is arranged in the canvas horizontally in rows from left to right. Decks of rows are arranged from top to bottom. vertical Creates a vertical scroll bar. This style is used if both it and horizontal are specified. A deck of child windows is arranged in the canvas vertically in columns from top to bottom. Decks of columns are arranged from left to right. noSplitBars If specified, the split canvas has no split bars. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. mnemonic Draws the next character with mnemonic emphasis if a mnemonic prefix character is found. fillBackground Erases the background, using the currently set fill color before drawing the text. halftone Draws the text in halftone color. underscore Draws the text with underscoring. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Limit Sets the length (in bytes) of the longest text the part can hold. Alignment Changes the alignment of the part. Word wrap Enables word wrap of text around at the end of a line. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. that surrounds the part Fill Sets the color for the area of the part that is not occupied by text Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the static text. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Alignment Changes the text alignment of the part. Left aligns the text to the left, Center centers the text, and Right aligns the text at the right. Text Sets the text for the part. Contents Sets initial items for the part. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. readOnly Prevents entering input into the field. noBorder Suppresses the drawing of a border. Fast spin Increases the spin speed of the part. master Specifies that the spin button component consists of:  One or more single-line entry fields (SLE) or spin fields  Two arrows-the Up arrow and the Down arrow When a spin button contains more than one spin field, the master component contains the spin arrows. If the component contains only one spin field, it must be the master. servant Allows the user to create a multiple-field spin button by spinning servants from the master. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Owner Sets the window's owner. Object text Sets the initial title text. View text Sets the name of the view for the title bar. View number Sets the number of the view for the title bar. ═══ Settings ═══ ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Floating title Sets the title text of the floating frame window. Group with preceding tool bar Specifies that the tool bar should be grouped with the preceding tool bar. Location Sets the location of the tool bar. ═══ General Settings ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Text Sets the text for the part. Latched Sets the part to the latched state. DLL name Specifies the name of the resource .dll that contains the bitmap. Resource ID Specifies the resource identifier of the bitmap. Type list Lists the available predefined actions that you can associate with the button when it is in the latched state. Select from type list Enables the Type list so you can select and associate an available predefined action with the button when it is in the latched state. ═══ Color Settings ═══ Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text. Background Sets the color for background text. Latched foreground Sets the foreground color for latched text. Latched background Sets the background color for latched text. Color selection Enables color selection by either color values or RGB values. Select Colors or RGB. If you select Colors, you can set the Color values. If you select RGB, you can set the RGB values. Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. RGB values Sets the color values for the window area. ═══ Control Settings ═══ Fly over short text Specifies the short text for the fly-over text control. Fly over long text Specifies the long text for the fly-over text control. Help panel id Sets the help panel identifier for the part. Enabled Enables the handler by default. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. latchable Sets the default style to the latchable state. autoLatch Sets the default style for the part the automatic latch state. noPointerFocus Allows the cursor stay on a control for which information is required, rather than moving to the button. Buttons with this style do not set the focus to themselves when the user clicks on them using the mouse. This has no effect on keyboard interaction. group Identifies the control as being the first in a group. No other controls in the group can have this style. Controls in the group must be siblings that are constructed following the first control. The group can be cursored and when the last control in the group is reached, the cursor returns the first control in the group. tabStop Identifies the control as one to which the user can tab. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. buttonBitmapVisible Sets the the style so that the bitmap is displayed. buttonTextVisible Sets the the style so that text is displayed. buttonBitTextVisible Sets the the style so that both the bitmap and text are displayed. noDragDrop Disables the dragging of a tool bar, the objects that reside within the tool bar (such as a tool bar button), and drops on the tool bar buttons. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. filterMisfits Sets the style so that misfits are filtered in or out based on the orientation of the tool bar and the current tool bar style. ═══ General Settings ═══ Name Sets the name of the part. Width Sets the width of the window. Height Sets the height of the window. Subpart name Sets the name of the subpart (a part placed on a composite part). ═══ Styles Settings ═══ defaultStyle() Resets the part to the original default style. noViewWindowFill If specified, the view port does not clear out the view window before redrawing as the window is scrolled. The view window assumes responsibility to repaint its entire rectangle. This can optimize redrawing the view window. clipChildren Excludes the area occupied by the children of the window when drawing in the window. Child windows are always "clipped" to their parent window. When a parent window is painted, the clipChildren style controls whether the invalidated region of the parent window includes the area occupied by its children, thus preventing a window from painting over its child windows. clipSiblings Controls which sibling window is displayed on top when multiple siblings are displayed. Sibling windows are windows that share the same parent window. Assign the clipSiblings style to the sibling window that you want displayed on top of the other siblings, in Z-order. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. saveBits Optimizes the painting of a window by saving the screen image of the area under the window as a bitmap and then using the bitmap to redraw the window, when necessary. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. ═══ 23. Attribute-to-Attribute Connection - Settings ═══ Use the Attribute-to-attribute connection - settings window to change the source or target of a connection. Tasks for this window  General Tasks for Visual Builder Fields  Attributes Push buttons Select OK to update the source and target connections and close the window. Select Delete to delete the connection. Select Reverse to switch which part is the source and which is the target. ═══ 23.1. Attribute ═══ The Attribute field shows the current source attribute and the current target attribute for the attribute-to-attribute connection. To update the connection, select a new source attribute or a new target attribute from the Attribute list. Then select OK. To delete a connection, select Delete and the connection is deleted. To switch which part is the source and which is the target, select Reverse. The attribute value of the source part is used to set the value of the target when it is initialized. Only those attribute that are valid targets for the source appear in the target list. If the source is a parameter, the target attribute must have a get function. If the source attribute is not a parameter, the target attribute must have a set function. Reverse is disabled when the following conditions exist:  The source attribute is a parameter. (Parameters must be the source.)  The source attribute has no set function. ═══ 24. Event-to-Action Connection - Settings ═══ Use the Event-to-Action Connection - Settings window to change the event or action of a an event-to-action connection. Tasks for this window  General Tasks for Visual Builder Fields  Event  Action Push buttons Select OK to update the source and target connection features and close the window. Select Delete to delete the connection. Select Set parameters to specify parameter values that are constant. ═══ 24.1. Event ═══ The Event field shows the current event for the event-to-action connection. To update the connection, select a new source event from the Event list or a new target from the Action list, or both. Then select OK. To delete a connection, select Delete and the connection is deleted. ═══ 24.2. Action ═══ The Action field shows the current action for the event-to-action connection. To update the connection, select a new source event from the Event list and a new target from the Action list, or both. Then select OK. To delete a connection, select Delete and the connection is deleted. ═══ 24.3. Set Parameters ═══ When you select the Set parameters push button on the Event-to-Action Connection - Settings window, the Constant Parameter Value Settings window opens. Use this window to specify parameter values that are constant for the connection. The fields provided in this window depend on the type and number of connections defined by the action. ═══ 25. Constant Parameter Value Settings ═══ In each parameter entry field, enter the constant value to be assigned to the specified parameter connection at run time. ═══ 26. Event-to-Member Function Connection - Settings ═══ Use the Event-to-member function connection - Settings window to create a connection that will call a member function whenever a specified event occurs. Event-to-member function connections cause a member function to run whenever the connected event occurs. For example, an event-to-member function connection might connect the buttonClickEvent event of a push button to a member function that you want to run when a user clicks on the push button. The member function must be a member of the class that you are developing, either by being inherited from a base class or by being included in the user .hpv or .cpv files. Event-to-member function connections provide an easy way to incorporate standard member functions into an application that you are building visually. Tasks for this window  General Tasks for Visual Builder Fields  Event  Member function connection Push buttons Select OK to update the source and target connection features and close the window. Select Delete to delete the connection. Select Set parameters to specify parameter values that are constant. ═══ 26.1. Event ═══ The Event field lists the currently available events for the part. ═══ 26.2. Member Function Connection ═══ Use the fields in Member function connection to specify the member function that you want to connect the event to. Fields  For class  Access. ═══ 26.2.1. For Class ═══ You can use the For class field to filter the list of member functions displayed. This field initially contains the name of the class that you are currently editing. However, if you opened the browser data before displaying this window, you can see a list of the classes that your part inherits from in the drop-down list box below the field. Select one of those classes to display the member functions it contains in the list box at the bottom of the window. ═══ 26.2.2. Access ═══ Use the Access drop-down list box to specify the access level (public protected, or private) for the member function you want to see in the list. You must open the browser data to see a list of member functions. * ═══ Module Name ═══ In the Module name field, enter the name of the dynamic link library (.dll) where the graphic resources are stored. You can use this DLL to store both bitmap and icon resources. ═══ ID ═══ In the ID field, enter an integer that identifies the label graphic in the resource file (.dll) you specified in Module name. ═══ Shading ═══ From the Shading field, select the intensity of shading that you want for the part: Light Specify light shading Normal Specify medium or normal shading, which is the default Dark Specify dark or heavy shading ═══ Type of Graphic ═══ From the Type of graphic box, select the type of graphic you want to display for the part: Icon An icon graphic (the default). Bitmap A bitmap graphic. None A folder with no text is displayed for the part. ═══ 27. Add Part ═══ Use the Add part window to retrieve a part and drop it on the free-form surface. You can use this window to add parts that do not already appear on the parts palette or when the parts palette is not in view. To use this window, you need to know the name of the class that identifies the part. For example, you can create a part that you want to use once or twice without having to add it to the palette. However, you cannot add a part inside itself. Tasks for this window  General Tasks for Visual Builder Fields  Part class  Name  Add as Push buttons Select Add to add the part or variable to the free-form surface. ═══ 27.1. Part Class ═══ In the Part class field, enter the name of the C++ class. The name of the part class is the one you gave it when you created it. ═══ 27.2. Name ═══ In the Name field, enter the text you want to use to describe the part you are dropping onto the free-form surface in the Composition Editor. This text will appear under the icon for the part on the free-form surface. ═══ 27.3. Add As ═══ You can add a part as a part or as a variable. When you add a part as a part, the default constructor for the class is used when the application runs. This means that a real object is created, not a variable that points to a real object that has been defined elsewhere. From Add as, select one of the following types of parts you want to add: Part To add a visual part or a nonvisual part Variable To add a class to represent a part, using the variable part ═══ 28. Part - New ═══ Use the Part - New window to create a new part. Tasks for this window  General Tasks for Visual Builder Fields  Class name  Description  File name  Part type  Base class Push buttons Select Open to add the part to the free-form surface in the Composition Editor. ═══ 28.1. Class Name ═══ Use Class name to specify the class name of the part you want to create. ═══ 28.2. Description ═══ Use Description to provide a description for the part you want to create. The description you enter will appear in the status area, as well as being a comment in the .vbe file for the part. ═══ 28.3. File Name ═══ Use File name to specify the name of the .vbb file where you want Visual Builder to save data for this part class. ═══ 28.4. Part Type ═══ Use Part type to specify the type of the .vbb file where you want Visual Builder to save data for this class. Select one of the following types of parts you want to add: Class interface To create a new C++ class interface. Visual part To create a new visual part visual C++ part Nonvisual part To create a new nonvisual C++ part ═══ 28.5. Base Class ═══ Use Base class to specify the name of the base class for the class part you are creating. ═══ 28.5.1. Class Interface ═══ Select Class interface to create a new C++ class interface. You can use this interface as an alternate way to work with nonpart classes-classes that do not inherit from IStandardNotifier-instead of importing .vbe files. Because a class interface does not inherit from IStandardNotifier, it cannot signal notifications. By default, Visual Builder truncates the file name to match FAT file-naming conventions. To change this, select Default to FAT filename from Options in the Visual Builder window. If you have to write a new C++ class, it is easy to use this option to create the class. You can then edit the class using the Part Interface Editor to specify the member data dn the accessors. You can then generate the code, which frees you from having to write the code for the class yourself. ═══ 28.5.2. Visual Part ═══ Select Visual part to create a new visual C++ part. The new part is a subclass of the parent class that you specified. Limitations  Visual Builder supports only single inheritance.  Visual parts must inherit from IFrameWindow.  Nonvisual parts must inherit from IStandardNotifier.  You cannot change parent classes. The default file name for the part is partname.vbb. To change this, enter a new name in File name field in the Part - New window when you create the part. By default, Visual Builder truncates the file name to match FAT file-naming conventions. To change this, select Default to FAT file names from Options in the Visual Builder window. ═══ 28.5.3. Nonvisual Part ═══ Select Nonvisual part to create a new nonvisual C++ part. The new part is a subclass of the parent class that you specified. Limitations  Visual Builder supports only single inheritance.  Visual parts must inherit from IWindow.  Nonvisual parts must inherit from IStandardNotifier.  You cannot change parent classes. The default file name for the part is partname.vbb. To change this, enter a new name in File name field in the Part - New window when you create the part. To change the file name after creating the part, use Move. By default, Visual Builder truncates the file name to match FAT file-naming conventions. To change this, select Default to FAT file names from Options in the Visual Builder window. ═══ 29. Add New Category ═══ Use the Add new category window to add a new category to the parts palette. A category provides a visual grouping to which you can add your own parts. Typically, categories consist of parts that have similar behavior or are specialized, which you can use to assemble a particular application. Parts can be in more than one category. Tasks for this window  General Tasks for Visual Builder Fields  Category name  Graphic Push buttons Select OK to add the category to the parts palette. ═══ 29.1. Category Name ═══ In the Category name field, enter the text for the name of the category. When you select your new category on the parts palette, Visual Builder displays this text in the status area. ═══ 29.2. Graphic ═══ Use the fields in Graphic to specify the graphic resource you want to use to identify the category. on the parts palette.  Module name  ID  Shading  Type of graphic Note: When you change the Module name and ID fields, you are indicating what icon or bitmap you want to use that represents your category. Refer to the Visual Builder User's Guide for more information about creating icons. To learn more about how to create an icon, refer to the documentation available for the icon editor you use. For more detailed information on how to create a resource DLL, refer to the documentation available for the language compiler you use. ═══ 30. Connection Window ═══ Use the Connection window to select the attributes, actions, and events that you want to use as the source (the part you are connecting from) or target (the part you are connecting to) of your connection. You can also make connections from the parts of your view to classes that you have created. Once you have selected the attribute, action, or event that you want to connect from (the source), select the free-form surface and then select More. Tasks for this window  General Tasks for Visual Builder Fields  Actions  Attributes  Events If the target of your connection is a class, the following fields also appear:  For class  Access. Push buttons Select OK to use the selected action, attribute, or event and continue. If you are making a connection to a class, you can select More to specify additional situations that cause the attribute to be updated. ═══ 30.1. Actions ═══ From the Actions list, select the action you want to use. The list of actions available depends on the part you selected. The act of changing or setting the value of an attribute can be considered an action. If you started the connection with an event, the attributes of the target part also display in this this list. ═══ 30.2. Attributes ═══ From the Attributes. list, select the attribute you want to use. The list of attributes available depends on the part you selected. Note: Because when an attribute changes it creates an event, the attributes are also repeated in the Events list. ═══ 30.3. Events ═══ From the Events list, select the event you want to use. The list of events available depends on the part you selected. Note: Because when an attribute changes it creates an event, the attributes are also repeated in the Events list. ═══ 31. Reorder Connections ═══ Use the Reorder connections window to change the sequence in which connections from the part are run. If you make several connections from the same event or attribute of a part, the connections for the event or attribute run in the order in which you made the connections. Tasks for this window  General Tasks for Visual Builder Fields Within the pane of the window, use mouse button 2 to drag the items in the list and change the order of the listed connections. Actions To close the window, double-click on the System menu icon. The order of the connections is saved when you close the window. ═══ 32. Tabbing And Depth Order ═══ Use the Tabbing And Depth Order window to specify the tabbing order for parts that you have placed into parts from the Composer category. Tasks for this window  General Tasks for Visual Builder Fields To use this window, you must use the set of fields in conjunction with one another. The following information can help you work with this set of fields. All parts you place within the part are listed in the center of the window in a group box. If you have used a group box part to group parts together, then a group box appears around those parts also. The order in which the tabbing and traversal occur is determined by the part's order in the list. Moving parts You can rearrange the order of the parts by dragging the part names and dropping them into new positions in the list. You can change the position of several parts within the tabbing order at the same time by first selecting all the parts you want to move. Setting up the tabbing Two check boxes appear next to each part: The Traverse check box is on the left; the Tab group, on the right. To indicate which parts can be reached by tabbing and traversing, select the corresponding checkbox. Users can use the Tab and Backtab keys to move the cursor to the parts you select as a Tab group. Users can use the cursor movement keys to move the cursor to the parts you select as Traverse. These values were originally set in the part's settings view. You can nest tabbing lists. For example, a group box contains parts that a user can tab or traverse. If you place a group box on a window, the group box is listed with the other parts for the main tabbing list and also has its own tabbing list. Working with parts in the list Each list item has a pop-up menu identical to the one that exists for that part. You can access a part's settings view from the Tabbing And Depth Order window by double-clicking on the part's name in the tab order list. ═══ 32.1. General Advice for Tabbing ═══ Tabbing tips Tabbing might not always be applicable for every part. For example, you cannot tab to a static text part. Note: All parts within a parent part that have only the Traverse radio button selected are treated as a single tabbing unit. When the user tabs within the parent part, input focus moves among all the parts within the set. When the user uses the keyboard arrow keys, the input focus moves between all the parts within the set, regardless of which parts have Tab group selected. Typically, you should set the tabbing order as follows:  The position of the parts in the tabbing order should be the same as the order in which they are displayed in the window from left to right and then top to bottom.  Select Traverse and Tab group for all parts that are not in groups, such as text and list parts.  Put each group of related parts, such as radio buttons and pushbuttons, into an outline or group box part. For the outline or group box part, be sure that Traverse and Tab group are selected. For the parts within the outline or group box part, be sure only Traverse are selected. If only one group of related parts within a window part (such as pushbuttons) exists, you do not need to put them within a outline box part. Instead, select only Traverse for these parts.  Do not select Traverse or Tab group for parts that do not receive input focus, such as text parts. ═══ 33. Set Grid Spacing ═══ Use the Set grid spacing dialog to specify the distance in pels between the lines on a grid. The grid can help you to align parts precisely when you place them on the free-form surface. Tasks for this window  General Tasks for Visual Builder Fields  Increments Push buttons Select OK to accept the changes and close the window. Select Apply to apply the changes and leave the window open to make further changes. ═══ 33.1. Increments ═══ Use the fields in Increments to specify the horizontal and vertical distances between the lines of a grid.  Horizontal  Vertical ═══ 33.1.1. Horizontal ═══ In the Horizontal field, enter in pels the horizontal distance you want between the vertical lines of the grid. If you enter a value with a decimal fraction, Visual Builder rounds the value to the nearest whole number. The default value for horizontal grid spacing is the width of the system font. ═══ 33.1.2. Vertical ═══ In the Vertical field, enter in pels the vertical distance between the horizontal lines of the grid. If you enter a value with a decimal fraction, Visual Builder rounds the value ito the nearest whole number. The default value for vertical grid spacing is the height of the system font. ═══ 34. Add to palette ═══ Use the Add to palette window to add a part to the parts palette. You can do this in one of the following ways:  From the File pull-down, select Add to palette..  From the Options pull-down, select Modify paletteAdd part When you add a part, the entire visual part, nonvisual part, or class interface is represented with a part symbol in the category you select. When you originally created the part, you specified its name in the Part name field. The name you specified is what appears on the parts palette. Once you have added parts to the palette, you can place these parts on the free-form surface in the same way you place parts that Visual Builder provides. When you select Add to palette from the File pull-down, Visual Builder asks if you want to save the changes you made to the part. Tasks for this window  General Tasks for Visual Builder Fields  Part class  Category Push buttons Select Add to add the part to the category that you select on the parts palette. ═══ 34.1. Part Class ═══ The name you specified when you created the visual part or nonvisual part appears in the Part class field. If you opened the Add to palette window by selecting Add to palette from the File pull-down menu, the name for the part you are currently working on appears in the Part name field. If you opened the Add to palette window by selecting Modify paletteAdd new part from the Options pull-down menu, enter the name of the part class that you want to create in the Part name field. This is the same name as the name of the part class that you specified when you originally created the part. ═══ 34.2. Category ═══ The Category fields shows the available part category to which you can add your part. You can add the same part to more than one category. The categories appear in the same order as they appear on the parts palette. The default selection is the currently selected category on the parts palette. If you want to create a new category for your part, first select Modify the parts paletteAdd new category from the Options pull-down menu. ═══ 35. Add New Part ═══ Use Add new part to add a new part to the parts palette. The Add to palette window opens. When you add a new part, the entire visual part, nonvisual part, or class interface is represented with a part symbol in the category you select. When you originally created the part, you specified its name in the Part name field. The name you specified is what appears on the parts palette. Once you have added parts to the palette, you can place these parts on the free-form surface in the same way you place parts that Visual Builder provides. Tasks for this window  General Tasks for Visual Builder Fields  Parts  Category Push buttons Select Add to add the part to the category you select on the parts palette. ═══ 35.1. Parts ═══ Enter the name you specified when you created the visual or nonvisual part appears in the Parts field. If you opened the Add Part to Palette window by selecting Add Part to Palette from the File pull-down menu, the class name for the part you are currently working on is placed in the Part name field. If you opened the Add Part to Palette window by selecting Modify PaletteAdd Part to Palette from the Options pull-down menu, specify the Class name of the part that you want to promote. You specified the Class name when you originally created the visual or nonvisual part. ═══ 35.2. Category ═══ The Category field lists the categories from which you can select the category you want your part added to. You can add the same part to more than one category. The categories appear in the same order as on the parts palette. The default selection is the currently selected category on the parts palette. The Category list shows the available categories to which your part can be added. If you want to create a new category for your part, first select Modify paletteAdd new category from the Options pull-down menu. ═══ 36. Promote Part Feature ═══ Use the Promote part feature window to select from a list the actions, attributes, and events that you want to add to the part interface of the view you are currently creating. This places the features into the Preferred features list on the Preferred page of the Part Interface Editor. Tasks for this window  General Tasks for Visual Builder Fields  Actions  Attributes  Events  Promote feature name  Previously promoted * Push buttons  Promote  Remove ═══ 36.1. Promote feature name ═══ In the Promote feature name field, enter the name that you want the attribute, action, or event) to have when added to the part interface. It is recommended that you use a combination of the name of the part and the name of the attribute, action, or event so you know exactly where it came from. A default name appears in this field once you select an attribute, event, or action from the lists. ═══ 36.2. Previously Promoted ═══ The Previously Promoted list shows the attributes, actions, and events that have already been promoted from this part to the part interface of the view you are currently defining. Use this list to remove the features from the part interface. To do this, select a previously promoted feature from the list and then select Remove. ═══ 36.3. Promote ═══ Select Promote to add the attribute, action, and event to the part interface. of the view you are currently defining. The name you specified for the feature will appear in the Preferred features list on the Preferred page of the Part Interface Editor for the part. ═══ 36.4. Remove ═══ Select Remove to delete the attribute, action, or event from the part interface. of the view you are currently defining. You must first select the attribute from the Previously Promoted list. ═══ 37. Custom Logic Connection ═══ Use the Custom logic connection window to connect customized code to events and attributes. A custom logic connection lets you create your own type of connection. You have access to the source object, target object, and the event data (if any) passed on the source event. No action is taken on the target object unless it is performed in your custom logic. The data returned from your custom logic is made available to other parts through the actionResult attribute. Fields  Description  Event name  Return type  Custom logic Push buttons  Add (or Update)  Source  Target  Event ═══ 37.1. Custom Logic ═══ Use the Custom logic field to enter the customized code you want connected to this event. This code will be generated as a member of the connection. If you want to make a value available to the rest of your application, end your custom logic with a return statement and update the Return type field. ═══ 37.2. Add (or Update) ═══ Select Add (or Update) to add the connection to (or update it in) the list. ═══ 37.3. Source ═══ Select Source to paste a reference to the source object into the insertion point of the multiple-line edit (MLE). ═══ 37.4. Target ═══ Select Target to paste a reference to the source object into the insertion point of the multiple-line edit (MLE). ═══ 37.5. Event ═══ Select Event to paste a reference to the source object into the insertion point of the multiple-line edit (MLE). The event is passed in as an instance of INotifificationEvent. ═══ 38. Menu-Bar Choices ═══ The following menu-bar choices are available within Visual Builder:  File - Visual Builder window  File - all editors  Part - Visual Builder window  Edit - Visual Builder window  File - Composition Editor  File - Class Editor and Part Interface Editor  View - all editors  Options - Visual Builder window  Options - Composition Editor  Tools - Composition Editor ═══ 38.1. File - Visual Builder Window ═══ Use File to load or unload parts that are located in .vbb files, to import part information to create parts from your C++ classes, or to exit Visual Builder. Menu summary  Load  Unload  Import part information  Exit ═══ 38.1.1. Load ═══ Use Load to load .vbb files into the Loaded Part Files pane. (Parts you create using Visual Builder are stored in .vbb files when you save them.) To load .vbb files, follow these steps: 1. Select one or more available .vbb files from the Loaded part files pane. 2. Select Load from the File menu choice or from the pop-up menu for the Loaded part files pane. The File - Load dialog opens. 3. Select OK to confirm. The files must be in the current working directory. ═══ 38.1.2. Unload ═══ Use Unload to unload the parts you no longer need to work on. Unloading files when you do not need them frees up resources and improves performance. To unload .vbb files, follow these steps: 1. Select from the Loaded part files pane one or more files that you want to unload. 2. Select Unload from the File menu choice or from the pop-up menu for the Loaded part files pane. The File - Unload dialog opens, and a list of the files you selected appears. 3. Select Unload to confirm. You can unload any file except vbbase.vbb, which is the file that contains the parts shipped with Visual Builder. ═══ 38.1.3. Import Part Information ═══ Use Import part information to import .vbe files into Loaded part files. If you have C++ classes you want to use as parts, you can create a .vbe file that describes the part definitions and import these definitions into Visual Builder. Once you have imported these parts, you can work with other parts in the Composition Editor. To import part information, follow these steps: 1. Select Import part information from the File menu choice or from the pop-up menu for the Loaded part files pane. The Import Part Information dialog opens. 2. From the list in this dialog, select one or more files that contain the part information you want to import. 3. Select OK to confirm. For more information about the format for .vbe files, refer to Building Parts for Fun and Profit. ═══ 38.1.4. Exit ═══ Select Exit to close Visual Builder. ═══ 38.2. File - All Editors ═══ Select File to save changes made in the current window, generate code for parts, browse data, add a part to the parts palette, or exit the window. Menu summary  Save  Save as  Save and generate  Browser  Add to palette  Exit ═══ 38.2.1. Save ═══ Select Save to save the part in the specified .vbb file. Visual Builder saves the data for the part in the file name that you specified when you created the part. For more information about creating a part refer to Visual Builder User's Guide ═══ 38.2.2. Save As ═══ Select Save as to enter a new name for the part you are editing. Enter the new name for the part in the Information Required window and then select OK. ═══ 38.2.3. Save and Generate ═══ Select Save and generate to save any changes you made to the part and generate C++ code. Visual Builder generates C++ code to Code generation files for the part, replacing the existing code. Menu summary  Part source  main() for part  Feature source ═══ 38.2.4. Browser ═══ Select Browser to access a list of all member function names for the part that you are editing, as well as a list of the classes that your part inherits from. You can browse get and set member functions on the Attributes. page and action member functions on the Actions. page for your part. You can also browse inherited classes when you make event-to-member function or attribute-to-member function connections in the Start connection from window. To open and load the browser, Visual Builder uses code that has already been compiled from a part data browser (.pdb) file. If no .pdb file exists for the part, an error message appears and Visual Builder uses the QuickBrowse browser instead. Menu summary  Open browser data  Refresh browser data  Close browser data  QuickBrowse ═══ 38.2.4.1. Open Browser Data ═══ Select Open browser data to browse the member functions for the part that you are editing. You can browse the get and set member functions on the Attributes page in the Part Interface Editor. ═══ 38.2.4.2. Refresh Browser Data ═══ Select Refresh browser data to refresh the list of get and set member functions on the Attributes. page in the Part Interface Editor for the part that you are editing. ═══ 38.2.4.3. Close Browser Data ═══ Select Close browser data to remove the list of get and set member functions on the Attributes. page in the Part Interface Editor for the part that you are editing. ═══ 38.2.4.4. QuickBrowse ═══ Select QuickBrowse to browse the member functions for the part that you are editing in the Part Interface Editor, as well as a list of the classes that your part inherits from. You can use the QuickBrowse browser if you want to browse one or more specific member functions before compiling your application. To use QuickBrowse, start Visual Builder from a WorkFrame project, and select the part you want browse. ═══ 38.2.5. Add to Palette ═══ Select Add to palette to add the part you are currently editing to the parts palette. When you select Add to palette, the Add to palette dialog opens. Select the category that you want to add the part to and then select OK. For more information about other ways to modify the parts palette, refer to Visual Builder User's Guide. ═══ 38.2.6. Add to Palette ═══ Use the Add to palette window to specify which category the part you are editing should appear in. Tasks for this window  General Tasks for Visual Builder Fields  Part name  Category Push buttons Select Add to add the part to the category you select on the parts palette. When you select Add to palette, the Add part to palette window opens. Select the category that you want to add the part to and then select OK. For more information about other ways to modify the parts palette, refer to Visual Builder User's Guide. ═══ 38.2.7. Exit ═══ Select Exit to close the editor window. If you have not yet saved your part since making changes, select Yes when Visual Builder prompts you. ═══ 38.3. Part - Visual Builder Window ═══ Select Part to create or work with parts. Menu summary  New  Open  Copy  Move  Rename  Delete  Generate  Export interface  Add to palette ═══ 38.3.1. New ═══ Select New to create a new part. The Part - New dialog opens. ═══ 38.3.2. Open ═══ Select Open to work with a part. If you select a visual part, the Composition Editor opens. If it is a nonvisual part the Part Interface Editor opens. ═══ 38.3.3. Copy ═══ Use Copy to copy a part. To copy a part, follow these steps: 1. Select a part from the Visual parts pane. 2. Select Copy from the Part menu choice or from the pop-up menu for the Visual parts pane. The Part - Copy dialog opens. 3. Enter a new name for the part in Target part name. 4. Enter in Target file name the name of the .vbb file where you want to store the information for the part. 5. Select Copy. ═══ 38.3.4. Move ═══ Use Move to change which .vbb file contains information about an existing part. To move a part, follow these steps: 1. Select a part from the Visual parts or Nonvisual parts pane. 2. Select Move from the Part menu choice, or from the pop-up menu for the Visual parts or Nonvisual parts pane. The Part - Move dialog opens. 3. Enter the new file name in New file name. 4. Select Move. You must save the old and new files to permanently update the contents of both. ═══ 38.3.5. Rename ═══ Use Rename to rename an existing part. To rename a part, follow these steps: 1. Select a part from the Visual parts or Nonvisual parts pane. 2. Select Rename from the Part menu choice, or from the pop-up menu for the Visual parts or Nonvisual parts pane. The Part - Rename dialog opens. 3. Enter the new name in New part name. 4. Select Rename. ═══ 38.3.6. Delete ═══ Use Delete to delete a part from the .vbb file. The Part - Delete dialog opens. To delete one or more parts, follow these steps: 1. From the Visual parts or Nonvisual parts pane, select one or more parts that you want to delete. 2. Select Delete from the Part menu choice or from the pop-up menu for the Visual parts or Nonvisual parts pane. The Part - Delete dialog opens, and a list of the parts you selected appears. 3. Select Delete to confirm. ═══ 38.3.7. Generate ═══ Use Generate. to save any changes you made to the current part and generate C++ code for the part. Visual Builder generates C++ code to Code generation files for the part, replacing the existing code. Menu summary  Part source  main() for part ═══ 38.3.7.1. Part source ═══ Select Part source to generate C++ source code for the part only. Before you can compile your application, you must generate these files. Visual Builder uses the name of your part to name the files it generates. Here are the default file names for the part source files that Visual Builder generates: partname.hpp C++ header file for your part partname.cpp C++ code for your part partname.h Resource header file for your .cpp file partname.rc Resource file for your .cpp file These are stored in the current working directory. Use the Class Editor to change the file names. You can also use the Class Editor to specify the names of the files that Visual Builder must include to correctly compile the code. By default, Visual Builder truncates the file name to match FAT file-naming conventions. To change this, select Default to FAT file names from Options in the Visual Builder window. ═══ 38.3.7.2. Main() for Part ═══ Select main()for part to generate C++ source code for your main() procedure. Visual Builder generates the following files: part.app Main function for your application part.def Module definition file for your application part.mak Make file you specify when you build your application Note: You must select Options PreferencesGenerate make files in the Visual Builder window for this file to be generated. ═══ 38.3.8. Feature Source ═══ Select Feature source to generate C++ code for a particular feature. You can generate code for all features or select particular features from the list of member functions, attributes, events. and events. Before generating your application, you must first specify the C++ header file (.hpp) and C++ code file (.cpp), which are the file names Visual Builder uses to generate default code in the Class Editor. (See Code generation files), Once you do this, Visual Builder adds the default code to the header and code files. For complete information about generating default source code, refer to Visual Builder User's Guide. ═══ 38.3.9. Export Interface ═══ Use Export interface to export .vbe files containing information about a part interface. You can use this choice to distribute information to other application developers so they can use your parts in other applications. To export .vbe files, follow these steps: 1. Select Export part information from the Part menu choice, or from the pop-up menu for the Visual parts or Nonvisual parts pane. The Part - Export interface dialog opens. 2. From the list in this dialog, select one or more files that contain the part information you want to export. 3. Select OK to confirm. ═══ 38.4. Edit - Visual Builder Window ═══ Select Edit to select or deselect all .vbb files that you loaded, to select or deselect all parts, to find .vbb files, or to refresh the Visual Builder window. Menu summary  Select all files  Select all parts  Deselect all files  Deselect all parts  Refresh ═══ 38.4.1. Select All Files ═══ Select Select all files to select all files in Loaded part files. ═══ 38.4.2. Select All Parts ═══ Select Select all parts to select all parts in the Visual parts and Nonvisual parts panes. ═══ 38.4.3. Deselect All Files ═══ Select Deselect all files to deselect all files in the Loaded part files pane. ═══ 38.4.4. Deselect All Parts ═══ Select Deselect all parts to deselect all parts in the Visual parts and Nonvisual parts panes. ═══ 38.4.5. Refresh ═══ Select Refresh to refresh the data in the panes in the Visual Builder window. ═══ 38.5. Edit - Composition Editor ═══ Select Edit to work with text in the clipboard or to undo or redo changes to the parts on the free-form surface. Menu summary  Cut  Copy  Paste  Undo  Redo  Undo/Redo list ═══ 38.5.1. Cut ═══ Select Cut to remove one or more selected parts from the free-form surface and place them into the clipboard. When you cut two or more parts, they retain their positions relative to each other. When you cut and paste parts, Visual Builder preserves their part names. However, Visual Builder does not preserve any connections to and from the cut parts, and you cannot cut connections to the clipboard. ═══ 38.5.2. Copy ═══ Select Copy to place a copy of one or more selected parts from the free-form surface into the clipboard. When you copy two or more parts, they retain their positions relative to each other. When you copy and paste parts, Visual Builder gives the parts new names. However, Visual Builder does not preserve any connections to and from the copied parts, and you cannot cut connections to the clipboard. ═══ 38.5.3. Paste ═══ Select Paste to place a copy of one or more parts in the clipboard to a location you select on the free-form surface. When you select Paste, Visual Builder loads the mouse pointer with the contents of the clipboard. When the pointer changes to a crosshair, you can place parts from the clipboard on the free-form surface. By clicking mouse button 1, you are choosing the position of the upper-left corner of the bounding box of the parts that are in the clipboard. (The bounding box is an imaginary box, the borders of which form the smallest area that fully contains the parts.) When you paste parts that you previously cut, Visual Builder preserves the part names. ═══ 38.5.4. Undo ═══ Select Undo to reverse the effect of the last action Visual Builder applied to the selected part, returning it to its previous state. ═══ 38.5.5. Redo ═══ Select Redo to reverse the effect of the last Undo action. ═══ 38.5.6. Undo/Redo List ═══ Select Undo/Redo list to display a history of the actions Visual Builder applied to a part. From the list, select the changes you want to undo or redo, and then select Undo or Redo. ═══ 38.6. Edit - Class Editor and Part Interface Editor ═══ Select Edit to undo or redo changes you made to parts you have placed on the free-form surface. Menu summary  Undo  Redo  Undo/Redo List ═══ 38.7. View - All Editors ═══ Select View to switch to another editor when working with a part. Menu summary Composition Editor Displays the Composition Editor for the part you are working with. Use the Composition Editor to build your application, lay out the visual parts that make up your windows, choose the parts that perform the logic you need, and make connections between the parts. Class Editor Displays the Class Editor for the part you are working with. Use the Class Editor to specify the names of files that Visual Builder writes to when you generate default code. You can also use this editor to specify:  The .vbb file that contains the part you are editing  The name of the base class for your part  Other files that you want to include when you build your application Part Interface Editor Displays the Part Interface Editor for the part you are working with. Use the Part Interface Editor to define the interface of parts for other programmers to use. You can use the Part Interface Editor to define the features (attributes, (actions, and events) for your parts, along with a list of preferred features for the pop-up connections menu. ═══ 38.8. Options - Visual Builder Window ═══ Select Options to display information about a part. to refresh the display, or to set preferences for Visual Builder. Menu summary  Information area  Show base files  Show full file names  Show type list  Default to FAT file names  Generate make files  Set working directory ═══ 38.8.1. Information Area ═══ Select Information area to display information about a part. Menu summary  Show base class  Show description  Show file name ═══ 38.8.1.1. Show Base Class ═══ Select Show base class to see the base class of a particular class. ═══ 38.8.1.2. Show Description ═══ Select Show description to see a description of a part from the part information. ═══ 38.8.1.3. Show File Name ═══ Select Show file name to see the name of the .vbb file containing information about a part. ═══ 38.8.2. Show Base Files ═══ Select Show base files to display a list of base part files:  vbbase.vbb  vbcc.vbb  vbmm.vbb  vbsample.vbb  vbsom.vbb ═══ 38.8.3. Show Full File Names ═══ Select Show full file names to display the full names for the part (vbbase.vbb) files. ═══ 38.8.4. Show Type List ═══ Select Show type list to display information about the loaded types, such as the include files needed for a type. You can use this information for code generation. You cannot edit types. ═══ 38.8.5. Default to FAT File Names ═══ Select Default to FAT file names to have Visual Builder truncate file names so that they conform with FAT file-naming conventions. If you select this choice, however, unexpected file name conflicts can occur. For example, if a new name matches an existing file name for another part, you could lose data for the new part. The selection you make for this choice applies only to the current session. It is not saved from session to session. ═══ 38.8.6. Generate Make Files ═══ Select Generate make files to generate a make file when Visual Builder generates the default source code for your application. ═══ 38.8.7. Set Working Directory ═══ Use Set working directory to set the name of the current working directory where Visual Builder stores .vbb files and other files you have saved. To set the working directory, follow these steps: 1. Select Set working directory from the Options menu choice. The Set working directory dialog opens, and a list of the files you selected appears. 2. Enter the name of the new directory, and then select OK to confirm. ═══ 38.8.8. Refresh display ═══ Select Refresh to update the list of files, classes, and parts shown in the Visual Builder window. ═══ 38.9. Options - Composition Editor ═══ Select Options to do the following:  Customize certain functions in the Composition Editor  Work with the parts palette  Add parts and variables Menu summary Show tool bar Toggle to display or hide the tool bar Show palette Toggle to display or hide the parts palette Snap on drop Align a part to the grid when you place it on the free-form surface Snap on size Align a part to the grid when you size it Modify palette Change the parts palette Add part Add a part to the parts palette ═══ 38.9.1. Show Tool Bar ═══ Select Show tool bar to toggle the display of the tool bar. When in view, the tool bar appears as a row of graphical selections above the free-form surface and below the menu bar. Show tool bar toggles the setting as follows:  If the tool bar is currently not displayed and you select Show tool bar, the tool bar appears and a checkmark appears next to the menu choice.  If the tool bar is in view and you select Show tool bar, the tool bar disappears and the checkmark is removed from Show tool bar. Removing the tool bar expands the free-form surface and gives you more room to work. The tool bar provides you convenient access to all the functions provided in the Tools pull-down. ═══ 38.9.2. Show Palette ═══ Select Show palette to indicate whether you want the parts palette displayed. Show palette toggles the setting as follows:  If the parts palette is not in view and you select this choice, the parts palette appears and a check mark appears next to Show palette.  If the parts palette is in view and you select Show palette, the parts palette disappears and the check mark is removed from Show palette. Removing the parts palette expands the free-form surface and gives you more room to work. ═══ 38.9.3. Snap on Drop ═══ Select Snap on drop to indicate whether you want to align a part to the grid as you place it on the free-form surface. Snapping to the grid helps to keep parts aligned correctly. Selecting Snap on drop toggles the setting as follows:  When Snap on drop is in effect, a check mark appears next to it. Visual Builder aligns parts to the grid when you place them on the free-form surface. A dropped part is placed so that its upper-left corner aligns to the nearest grid intersection.  When Snap on drop is not in effect, the check mark is removed from it. Visual Builder leaves parts where they are dropped. You do not need to display the grid for Snap on drop to work. ═══ 38.9.4. Snap on Size ═══ Select Snap on size to indicate whether you want to align the edges of a part to the grid as you size it. Sizing to the grid helps keep part dimensions in exact and easily countable increments. Selecting Snap on size toggles the setting as follows:  When Snap on size is in effect, a check mark appears next to it. Visual Builder aligns the edges of parts as you size them by dragging the selection handle (■). The edge marked by the selection handle snaps from one grid intersection to another as you size a part with it.  When Snap on size is not in effect, the check mark is removed from it. Visual Builder leaves parts exactly as they are sized. You do not need to display the grid for Snap on size to work. ═══ 38.9.5. Modify Palette ═══ Use Modify palette to add and delete categories and parts from the parts palette. Menu summary Add new category Add a to the parts palette Remove category Remove the selected category from the parts palette Add new part Add a part to the parts palette Remove part Remove the selected part from the parts palette ═══ 38.9.5.1. Remove category ═══ Use Remove category to remove the currently selected category. Warning: When you remove a category from the parts palette, all parts associated with that category are also removed from the parts palette. The .vbb files that are associated with deleted parts remain in Visual Builder. You can add one of the new parts to another category using Add new part and specifying the name of a class associated with the deleted part. Note: You can add a new empty category with the name of the category you deleted by selecting Add new category. You can then add parts to this category using Add new part. ═══ 38.9.5.2. Remove part ═══ Use Remove part to delete the part currently selected on the parts palette. To do this, select the part and then select Modify PaletteRemove part from the Options pull-down. The .vbb file associated with a deleted part remains in Visual Builder. You can add the part to another category using Add New Part and specifying the name of the .vbb file associated with the deleted part. Even if you delete all parts in a category, the category remains on the parts palette. ═══ 38.9.6. Add Part ═══ Use Add part to add a part to your application. The Add Part window prompts you for the name, part class, and part type of the part class you want to add. Consider using this option when one of the following conditions exist:  The part you want to add is not on the parts palette  The parts palette is not in view You need to know the name, part name, and part type of the part if you want to use this choice. ═══ 38.10. Tools - Composition Editor ═══ Select Tools to help build the user interface of your application. Visual Builder has tools such as Show connections, Hide connections, and Toggle grid that let you determine how the free-form surface looks as you build your application. They also help you manage the visual appearance of your application parts and accurately place them on the free-form surface. You can access some or all of these tools in the following ways:  From the tool bar, which is just below the menu bar in the Composition Editor  From the Tools menu in the Composition Editor  From the pop-up menus for parts you place on the free-form surface ═══ Using the Help Pull-Down ═══ Select Help to get help information. Menu summary Help index Provides an alphabetical list of help topics you can select. You can use the search facility to locate specific help in the index. General help Provides information about the active window. Using Help Provides information about how to use the help facility. Keys help Provides information about keyboard shortcuts that you can use in Visual Builder for windows, actions within windows, and for helps. How do I? Provides a list of quick-path instructions for using Visual Builder. Product information Provides version and copyright information about Visual Builder. ═══ Using Help ═══ While you are working with Visual Builder, help is always available. F1 is the key you use to request help. You can press F1 or select the Help push button (when it is available) to get information on the active window. Within a help panel, certain words or phrases appear in a different color than the rest of the text. These words or phrases are hypertext links to other information. The first hypertext link on each help panel appears in reverse video. You can use the Tab key to move through all of the available links on a help panel. Double-click on the words or phrases that appear in the different color to go to that additional information. You can also use the Tab key to move to the word or phrase and then press Enter. Press Esc to return to the previous help window. If there is no previous help window, Esc returns you to the active product window. Note: Alt+F4 also closes the help window. The Visual Builder help system includes the following types of help: General help to the field helps associated with that window for which you requested help Field help Provides help on specific objects or windows you can use within Visual Builder, such as an entry field. For specific information about the tasks you can perform using Visual Builder to build applications, refer to Visual Builder User's Guide. The following navigational aids help you find information within the help system:  Help index, which is available from one of the following: - The Help pull-down menu in Visual Builder - The Index push button, located at the bottom of the Visual Builder Help window  Table of contents, which is available in the Visual Builder Help window as the Contents choice from the Options pull-down menu  Search facility, which is available using the Search push button on a help panel The following sections provide additional information about using the Visual Builder help system:  Printing help panels  Searching the help system ═══ Printing Help Panels ═══ There are two ways you can print the help panels within the Visual Builder help system:  On the Visual Builder Help window, select ServicesPrint. On the Print window, select This section and then select Print. The output goes to wherever you have line printer 1 (LPT1) defined.  On the Visual Builder Help window, select ServicesCopy to file. This places the help panel text into a file called TEXT.TMP that exists in the current directory of the current drive. If you want to add more helps to this one file, you can now select Append to file and create one file that contains the information you want to print. You can then print this file using your normal print capabilities. Note: You must have the appropriate printer driver installed for the printer and a printer icon must exist on the OS/2 desktop. ═══ Searching the Help System ═══ You can select the Search push button at the bottom of the Visual Builder Help window to bring up the search facility for the help system. You can either search on the entire help system (All sections) or you can search on the index. Search on All sections when you know exactly what you are looking for. Search on Index when you have a more general topic you are looking for. Searching the entire help system When searching the help system, which means all text within the help system, you are searching for exact matches of a single word or a single phrase in the text. You can include wildcards in your search string. 1. Select the Search push button, or select ServicesSearch. 2. In the Search for field on the Search window, enter the word or phrase you are looking for. 3. Select All sections from the group of radio buttons. Important! People often forget this step when using the search facility. The default radio button changes depending on what you used before and what you currently are using in the help system. 4. Select Search. A search list window displays all of the helps that contain the word or search string you specified. To easily scan the helps that the search discovered, maximize the window that displays the search results. Searching on the help index When searching on the index, you are searching on a single word or a single phrase that appears in an index entry itself, or a synonym or keyword associated with an index entry. For example, if you search on filter, you see index entries (and help panels) that do not contain filter, but do contain information related to filter. Do the following: 1. In the Search for field in the Search window, enter the word you are looking for. 2. Select Index from the group of radio buttons. 3. Select Search. All index entries containing the word you specified are listed in the search results list, as well as entries associated with the word you specified. ═══ Keys ═══ You can use keys in the following ways while you are using this product: Window keys Navigate within and among windows Accelerator keys Speed up certain actions in product windows Help keys Display help information When a plus sign (+) joins two key names, use them together. Hold down the first key and press the second key. Mnemonics (single underlined characters) are available for menu bar and pull-down menu choices. To select a menu bar choice using the mnemonics, hold down Alt and enter the mnemonic for the choice that you want. (If the menu bar has the focus, enter only the mnemonic.) To select a choice on a pull-down menu, enter the mnemonic for the pull-down menu choice. ═══ Window Keys ═══ Key: Function: F10 Moves the focus to and from the menu bar or closes the system menu Alt Moves the focus to and from the menu bar or closes the system menu Arrow key Moves the cursor from choice to choice Enter Completes the selection of a menu bar choice or pull-down menu choice. Also performs the action described on the push button that currently has focus. Esc Cancels a pull-down menu or cancels the active window if the window contains a Cancel push button Page Down or PgDn Scrolls forward a page at a time Page Up or PgUp Scrolls backward a page at a time Spacebar Selects or deselects check boxes, radio buttons, and list box choices. Also performs the action described on the push button that currently has focus. Tab Moves the selection cursor from field to field Alt+F4 Closes the primary window Alt+F5 Restores the primary window Alt+F7 Moves the primary window. Use the arrow keys to move the window to a new position and then press Enter. Alt+F8 Sizes the primary window. Use the arrow keys to change the size of the window and then press Enter. Alt+F9 Minimizes the primary window to an icon Alt+F10 Maximizes the primary window Alt+F11 Hides the window and all associated windows from the workplace Alt+Spacebar Opens the system menu for the primary window Ctrl+Esc Displays the Window List ═══ Accelerator Keys ═══ You can use the following keys, when applicable, to speed up actions within the product windows: Key: Function: Alt+Backspace (Undo) Reverses the operation most recently done on a part Alt+Shift+Backspace (Redo) Removes the effect of the last Undo operation Ctrl+F2 Saves any changes you have made to the part Ctrl+A Selects all code in the current window Ctrl+Ins Places a copy of one or more selected parts or information on the clipboard Ctrl+Delete Removes selected parts or information and places them on the clipboard Note: Be sure to select the parts or text immediately before using the Ctrl+Delete key combination. Shift+Ins Copies the parts or information from the clipboard to the specified location. For the Class Editor, evaluates the selected expression and shows the result Ctrl+E Evaluates the selected expression (or code) and performs the function that the expression specifies Ctrl+F Opens the Search/Replace window, from which you can search for specified text and optionally replace occurrences of specified text Ctrl+G Opens a list of applications from which you can chose. Code is generated for the visual parts and the interface definition of the application. Ctrl+P Lets you add a new part to the parts palette Ctrl+R Clears all text from the current window and restores the most recently saved version Ctrl+S Saves any changes you have made Ctrl+V Loads the mouse pointer with the contents of the clipboard ═══ Help Keys ═══ Key: Function: F1 Displays general help for the active window. You can use this key on any window. F11 Displays the help index. You can use this key on any help window. Esc Displays the previous help window. Alt+F4 Closes the help window. Shift+F10 Displays help for Help. You can use this on any help window. ═══ 39. Pop-up Menus ═══ The following pop-up menus are available:  Pop-up menu for free-form surface  Pop-up menu for most visual parts  Pop-up menu for composer and container parts and IToolBar  Pop-up menu for IMenu  Pop-up menu for menu parts  Pop-up menu for IMultiCellCanvas  Pop-up menu for INotebook  Pop-up menu for IVBNotebookPage  Pop-up menu for AvlObjectFactory  Pop-up menu for IToolBarButton  Pop-up menu for AvlVariable  Pop-up menu for attribute-to-attribute connection  Pop-up menu for attribute-to-action connection  Pop-up menu for attribute-to-member function connection  Pop-up menu for event-to-attribute connection  Pop-up menu for event-to-action connection  Pop-up menu for event-to-member function connection  Pop-up menu for event-to-custom logic connection ═══ 39.1. Pop-up Menu for the Free-Form Surface ═══ The pop-up menu for the free-form surface is the pop-up menu for the current visual part definition. It contains the following choices:  Open settings  Edit part  Browse part features  Toggle grid  Set grid spacing  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.1.1. Open Settings ═══ Select Open settings to display the settings views for the parts you select. The Settings view displays the attributes, and their initial values for the part. If you selected several parts when you select Open settings, a settings view for each selected part opens in a different window. You can change the values of the attributes to customize the initial appearance or behavior of the part. ═══ 39.1.2. Edit Part ═══ Select Edit part to open the view for the parts. you selected. If the part is one shipped with Visual Builder, the Composition Editor opens on the part. Otherwise, the Part Interface Editor opens. ═══ 39.1.3. Browse Part Features ═══ Select Browse part features to see the available features (attributes, actions, or events) for the free-form surface or for a specific part. ═══ 39.1.4. Promote Part Feature ═══ Select Promote part feature to make the private data about the part publicly accessible to other parts. When you promote part features (add attributes, actions, or events) to the interface, you can share data between two applications. ═══ 39.1.5. Change Name ═══ Select Change name to change the name of a part placed on the free-form surface. You can give parts descriptive names to more easily identify them. For example, you can change the default name, Pushbutton1, to Delete. When you change the name of any part, you change the internal name of the part. This internal name appears in the status area at the bottom of the Composition Editor window as you make connections. For a nonvisual part, the name also appears as text beneath the icon for the part on the free-form surface. ═══ 39.1.6. Delete ═══ Select Delete to remove the parts you selected. ═══ 39.1.7. Layout ═══ Select Layout to place parts on the free-form surface or in your view. Menu summary Distribute Space visual parts evenly within a specified area. Snap To Grid Align visual parts with the nearest grid intersections ═══ 39.1.7.1. Distribute ═══ Select Distribute to space visual parts evenly within a specified area. Menu summary Horizontally in surface Space the selected parts evenly between the left and right edges of the area they are in Vertically in surface Space the selected parts evenly between the top and bottom edges of the area they are in ═══ 39.1.7.2. Snap to Grid ═══ Select Snap to grid to align the upper and left edges of one or more selected parts to the nearest grid lines. You do not have to display the grid to use Snap to grid. ═══ 39.1.7.3. Set Grid Spacing ═══ Select Set grid spacing. to specify the distance between the lines of the grid in the window whose pop-up menu you displayed. You can specify the horizontal and vertical distance in pixels between the lines of the grid using the Set grid spacing window. Specify a value of zero if you do not want lines in the grid. ═══ 39.1.8. Connect ═══ From the pop-up menu for the part or for the free-form surface, select Connect to make a connection between two parts. It contains the preferred features associated with the part. Select the source of the connection from the connect menu. Once you select the target of the connection, another connect menu displays for you to select the target. If you select More, the Start connections from window displays. ═══ 39.1.8.1. Start connection from ═══ Use Start connection from to select an attribute, event, and action that you want to associate with the part when making connections. Select the source of the connection from the connect menu and then select OK. Another connect menu displays for you to select the target. The values in this window vary depending on the following:  The part you selected  If you added features (attributes, actions, or events) to the part interface  If you selected the free-form surface ═══ 39.1.9. Browse Connections ═══ Select Browse Connections to show or hide connections to or from the part. Menu Summary Show to Display the connections for which the part is the target Show from Display the connections for which the part is the source Show to/from Display the connections for which the part is either the target or source Show all Display all the connections among parts in the Composition Editor window Hide to Conceal the connections for which the part is the target Hide from Conceal the connections for which the part is the source Hide to/from Conceal the connections for which the part is either the target or source Hide all Conceal all connections among parts in the Composition Editor window ═══ 39.1.10. Reorder Connections From ═══ Select Reorder connections from to order the connections. Connections execute in the order in which they are made, which might not be the order you want. Use Reorder connections from to reorder the connections as you want them to occur. ═══ 39.1.11. Tear-Off Attribute ═══ Select Tear-off attribute to work with an attribute as if it were a standalone part. The torn-off attribute is not actually a separate part but a variable representing the attribute. When you select Tear-off attribute, Visual Builder displays the list of attributes for the part you are tearing from. After you select an attribute from the list, you can drop the torn-off attribute on the free-form surface. Visual Builder creates a connection (represented by a blue double-headed arrow) between the original part and the torn-off attribute. You can then form other connections to or from the torn-off attribute. You might want to use a tear-off attribute when you want to do the following:  Nest attributes, to allow direct access from the one that is nested inside the other  Enable direct access to the attribute's events and actions For example, in an address book application:  A model for a person could contain home address and work address attributes  Each address attribute, in turn, contains street, city, and state attributes  By tearing off an address attribute, you can create a new part containing street, city, and state attributes  Tearing off an address attribute makes the nested street, city, and state attributes directly accessible rather than only indirectly accessible through an address attribute. Now that the nested attributes are directly accessible, you can form connections to and from them, as well as to their associated events and actions. ═══ 39.2. Pop-up Menu for Most Visual Parts ═══ The pop-up menu for most visual parts contains the following choices:  Open settings  Edit part  Browse part features  Promote part feature  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from  Tear-off attribute If you select more than one visual part on the free-form surface, then only Open settings, Edit part, Delete, and Layout appear in the pop-up menu. You can change the values of the attribute to customize the initial appearance or behavior you need for the part. ═══ 39.3. Pop-up Menu for Composer and Container Part and ITooBar ═══ The pop-up menu for the IViewport and parts in the Composers category contains the following choices:  Open settings  Edit part  Browse part features  Promote part feature  Toggle grid  Set grid spacing  Tabbing and depth order  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.3.1. Tabbing And Depth Order ═══ Select Tabbing and Depth Order to specify the tabbing order for parts that support tabbing. The tabbing order determines the order in which parts receive focus when the user presses the Tab, Backtab, or cursor movement keys. The Tabbing And Depth Order window lists the parts so that you can set the tabbing order. ═══ 39.4. Pop-up Menu for IMenu ═══ The pop-up menu for the IMenu part contains the following choices:  Open settings  Edit part  Browse part features  Promote part feature  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.5. Pop-up Menu for Menu Parts ═══ The pop-up menu for the menu parts (IMenuItem, IMenuCascade, and IMenuSeparator) contains the following choices:  Open settings  Edit part  Browse part features  Change name  Delete  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.6. Pop-up Menu for IMultiCellCanvas ═══ The pop-up menu for the IMultiCellCanvas part contains the following choices:  Open settings  Edit part  Browse part features  Toggle grid  Set grid spacing  Tabbing and depth order  Columns  Rows  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.6.1. Columns ═══ Select Columns to add a column to a multiple-cell canvas. Menu summary  Add column after  Add column before  Delete column ═══ 39.6.2. Add Column After ═══ Select Add column after to add a column to a multiple-cell canvas after the current column. ═══ 39.6.3. Add Column Before ═══ Select Add column before to add a column to a multiple-cell canvas before the current column. ═══ 39.6.4. Delete Column ═══ Select Delete column to delete the currently selected column from a multiple-cell canvas. ═══ 39.6.5. Rows ═══ Select Rows to add a row to a multiple-cell canvas. Menu summary  Add row after  Add row before  Delete row ═══ 39.6.6. Add Row After ═══ Select Add row after to add a row to a multiple-cell canvas after the current row. ═══ 39.6.7. Add Row Before ═══ Select Add row before to add a row to a multiple-cell canvas before the current row. ═══ 39.6.8. Delete Row ═══ Select Delete row to delete the currently selected row from a multiple-cell canvas. ═══ 39.7. Pop-up Menu for INotebook ═══ The pop-up menu for the INotebook part contains the following choices:  Open settings  Edit part  Browse part features  Promote part feature  Tabbing and depth order  Add page before  Add page after  Add initial page  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.7.1. Add initial page ═══ Select Add initial page to create the first page of a notebook. ═══ 39.7.2. Add page after ═══ Select Add page after to add a page to a notebook following the currently selected page of the notebook. ═══ 39.7.3. Add page before ═══ Select Add page before to add a page to a notebook preceding the currently selected page of the notebook. ═══ 39.8. Pop-up Menu for IVBNotebookPage ═══ The pop-up menu for the IVBNotebookPage part contains the following choices:  Open settings  Edit part  Browse part features  Promote part feature  Toggle grid  Set grid spacing  Tabbing and depth order  Change name  Delete  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.9. Pop-up Menu for AvlObjectFactory ═══ The pop-up menu for the AvlObjectFactory part contains the following choices:  Open settings  Browse part features  Promote part feature  Change type  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from ═══ 39.10. Pop-up Menu for IToolBarButton ═══ The pop-up menu for the IToolBarButton part contains the following choices:  Open settings  Edit part  Browse part features  Promote part feature  Change name  Delete  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.11. Pop-up Menu for AvlVariable ═══ The pop-up menu for the AvlVariable part contains the following choices:  Browse part features  Promote part feature  Change type  Change name  Delete  Layout  Connect  Browse connections  Reorder connections from  Tear-off attribute ═══ 39.11.1. Change Type ═══ Select Change type to change the class of a IAvlVariable on the free-form surface. The default class for a new variable is IStandardNotifier. If the class you supply does not exist, Visual Builder prompts you to enter the existing parent class and the class is created for you. ═══ 39.12. Pop-up Menu for Attribute-to-Attribute Connection ═══ The pop-up menu for the attribute-to-attribute connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 39.13. Pop-up Menu for Attribute-to-Action Connection ═══ The pop-up menu for the attribute-to-action connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 39.14. Pop-up Menu for Attribute-to-Member Function Connection ═══ The pop-up menu for the attribute-to-member function connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 39.15. Pop-up Menu for Event-to-Attribute Connection ═══ The pop-up menu for the event-to-attribute connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 39.16. Pop-up Menu for Event-to-Action Connection ═══ The pop-up menu for the event-to-action connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 39.17. Pop-up Menu for Event-to-Member Function Connection ═══ The pop-up menu for the event-to-member function connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 39.18. Pop-up Menu for Event-to-Custom Logic Connection ═══ The pop-up menu for the event-to-custom logic connection contains the following choices:  Open settings  Connect  Reorder connections from  Delete ═══ 40. Messages ═══ Each Visual Builder message has a message number and message text to give you additional information about the message. The format of the message number is as follows: ABT.XXX.NNNNy ABT The message prefix, which indicates the VisualAge product. XXX.NNNN The alphanumeric message identifier. y The type of message, which can be one of the following: e Error (generic) i Informational w Warning Note: Only those messages originating within Visual Builder are listed here. Those originating outside of Visual Builder are not covered. Messages ABT.AAA.0001e ABT.AAA.0002e ABT.AAA.1000e ABT.AAA.1001e ABT.AAA.1002e ABT.AAA.1003e ABT.AAA.1004e ABT.AAA.1005e ABT.AAA.1006e ABT.AAA.1007e ABT.AAA.1008e ABT.AAA.1009e ABT.AAA.1010e ABT.AAA.1011e ABT.AEP.1000e ABT.AEP.1001e ABT.AEP.1002e ABT.AEP.1003i ABT.AEP.1004i ABT.AEP.1005w ABT.AEP.1006w ABT.AEP.1007w ABT.AEP.2000e ABT.AEP.2001e ABT.AEP.2002e ABT.AEP.2003e ABT.AEP.2004w ABT.AEP.2005w ABT.AEP.2006w ABT.AEP.2007e ABT.AEP.2008e ABT.AEP.2009e ABT.AEP.2010e ABT.AEP.2011w ABT.AEP.2012w ABT.AEP.2012w ABT.AEP.2014e ABT.AEP.4000e ABT.AEP.4001e ABT.AEP.4002e ABT.AEP.4003e ABT.AEP.4004e ABT.AEP.4005e ABT.AEP.4006i ABT.AEP.4007e ABT.AEP.4008w ABT.AEP.4009w ABT.AEP.4010w ABT.AEP.4011e ABT.AEP.5000e ABT.AEP.5001e ABT.AEP.5002w ABT.AEP.5003w ABT.CUI.1000e ABT.CUI.1001e ABT.CUI.1002e ABT.CUI.1003e ABT.CUI.1004e ABT.CUI.1005e ABT.CUI.1006w ABT.IMP.1100e ABT.UIA.1000e ABT.UIA.1001e ABT.UIA.1002e ABT.UIA.1010e ABT.UIA.1011e ABT.UIA.1012e ABT.UIA.1013e ABT.UIA.1014i ABT.UIA.1019e ABT.UIA.1020e ABT.UIA.1021w ABT.UIA.1022e ABT.UIA.1023i ABT.UIA.1024w ABT.UIA.1025w ABT.UIA.1026w ABT.UIA.1027w ABT.UIA.1028i ABT.UIA.1029e ABT.UIA.1030e ABT.UIA.1031w ABT.UIA.1032e ABT.UIA.1033e ABT.UIA.1034e ABT.UIA.1035i ABT.UIA.1036i ABT.UIA.1040w ABT.UIA.1100e ABT.UIA.1101e ABT.UIA.1102i ABT.UIA.1103i ABT.UIA.1110e ABT.UIA.1111e ABT.UIA.1112e ABT.UIA.1113e ABT.UIA.1114e ABT.UIA.1200e ABT.UIA.1201e ABT.UIA.1202e ABT.UIA.1203e ABT.UIA.1204e ABT.UIA.1205e ABT.UIA.1206e ABT.UIA.1207e ABT.WFI.1000i ABT.WFI.1001e ABT.WFI.1002e ABT.WFI.1003e ABT.WFI.1004e ═══ 40.1. DDE4.AAA.0001e ═══ Message The class was not found. Explanation The .vbb file that contains this class must be loaded to complete the operation. Action Load the .vbb file and retry the operation. ═══ 40.2. DDE4.AAA.0002e ═══ Message The class is not loaded into Visual Builder. Explanation The part was not found. Action Load the .vbb file that holds this part. ═══ 40.4. DDE4.AAA.1001e ═══ Message An error occurred in opening (). Action Try the following in order: 1. If the file is in use, check your open applications and close any that might be using this file. 2. If Visual Builder was trying to write to the file, make sure you have write access to the file. 3. If the file was not found, check your working directory. 4. If Visual Builder was not able to read the file, check your disk for damaged sectors. ═══ 40.5. DDE4.AAA.1002e ═══ Message An error occurred in opening . The file was not created. Action Try the following in order: 1. Make sure you have write access to the output directory. 2. Make sure that a read-only file of the same name does not exist. 3. Make sure you have enough disk space. ═══ 40.6. DDE4.AAA.1003e ═══ Message The internal cache of Visual Builder is full. Action Save your files; then, close and restart Visual Builder. ═══ 40.7. DDE4.AAA.1004e ═══ Message An error occurred in reading from (). Action Try the following in order: 1. If the file is in use, check your open applications and close any that might be using this file. 2. If the file was not found, check your working directory. 3. If Visual Builder was not able to read the file, check the disk for damaged sectors. ═══ 40.8. DDE4.AAA.1005e ═══ Message An error occurred in writing to (). Action Try the following in order: 1. If the file is in use, check your open applications and close any that might be using this file. 2. Make sure that a read-only file of the same name does not exist. 3. Make sure you have write access to the output directory. 4. Make sure you have enough storage space in the output directory. 5. Check your disk for damaged sectors. ═══ 40.9. DDE4.AAA.1006e ═══ Message is not a valid .vbb file. Explanation The file is not in the format that Visual Builder expects, either because the file is not a .vbb file or because it has been damaged. Action Enter the name of an intact .vbb file. ═══ 40.10. DDE4.AAA.1007e ═══ Message was not loaded because a file with the same name is already loaded. Action If a file with the same name is loaded from a different directory, unload the previously loaded file and try the operation again. Otherwise, no action is required; the file you requested is already loaded. ═══ 40.11. DDE4.AAA.1008e ═══ Message The part was not loaded because it contains the part , which is already loaded. Explanation The part has already been loaded from a different .vbb file. Action Unload the .vbb file with the duplicate part, or delete the duplicate part. ═══ 40.12. DDE4.AAA.1009e ═══ Message Visual Builder did not save because it is a read-only file. Action Try the following in order: 1. Make sure that the file is not read-only. 2. Make sure that you have write access to the working directory. If you are trying to save a .vbb file that was shipped with Visual Builder, be aware that changes to this file are not supported. ═══ 40.13. DDE4.AAA.1010e ═══ Message Visual Builder did not save the following files because they are read-only files: Action Try the following in order: 1. Make sure that the files are not read-only. 2. Make sure that you have write access to the working directory. If you are trying to save .vbb files that were shipped with Visual Builder, be aware that changes to these files are not supported. ═══ 40.14. DDE4.AAA.1011e ═══ Message The file is in use. The operation was not completed. Action Check your open applications and close any that might be using this file. This includes other Visual Builder sessions that have this file loaded. ═══ 40.15. DDE4.AEP.1000e ═══ Message IAVLBASE was not initialized. An error occurred in calling the entry point DDE4VI30.DLL. Explanation Visual Builder could not start because it could not find the dde4vi30.dll file. Action Be sure that the subdirectory containing dde4vi30.dll is on your LIBPATH. ═══ 40.16. DDE4.AEP.1001e ═══ Message IAVLBASE was not reset. An error occurred in calling the entry point . Explanation Visual Builder could not start because it could not find the specified .dll file. Action Be sure that the subdirectory containing this .dll is on your LIBPATH. ═══ 40.17. DDE4.AEP.1002e ═══ Message This DLL is not valid. Check the LIBPATH statement in your config.sys file. Explanation Visual Builder could not find the specified .dll file. Action Be sure that the subdirectory containing this .dll is on your LIBPATH. ═══ 40.18. DDE4.AEP.1003i ═══ Message To delete this row, the following parts must be deleted: . Is it okay to delete them? Explanation Visual Builder is about to delete the specified row. Action To confirm that you want to delete the specified row, click on OK. The row and the specified parts are deleted. If you do not want to delete the row, click on Cancel. ═══ 40.19. DDE4.AEP.1004i ═══ Message To delete this column, the following parts must be deleted: . Is it okay to delete them? Explanation Visual Builder is about to delete the specified column. Action To confirm that you want to delete the specified column, click on OK. The column and the specified parts are deleted. If you do not want to delete the column, click on Cancel. ═══ 40.20. DDE4.AEP.1005w ═══ Message The constructor for part is not valid. Explanation The syntax of the constructor for the specified part is not valid, or Visual Builder could not find the constructor in the .dll. Action Use the Part Interface Editor to correct the syntax. Then try again. ═══ 40.21. DDE4.AEP.1006w ═══ Message The constructor parameter for part is not valid. Explanation One of the following problems exists:  The syntax of the constructor parameter for the specified part is not valid.  No attribute exists for the parameter.  The attribute type is not valid. Action Use the Part Interface Editor to correct the syntax. Then try again. ═══ 40.22. DDE4.AEP.1007w ═══ Message The constructor for part failed. Explanation The constructor failed, or it returned a part that is not valid. Combinations that are not valid for the constructor can cause failures. Action Be sure the constructor settings contain a valid combination for the part. Then try again. ═══ 40.23. DDE4.AEP.2000e ═══ Message The class is not defined in the files that are loaded. Explanation Visual Builder could not find the class definition for the specified class. The class definition is missing from the files that Visual Builder loaded. Action Close the Composition Editor. Use the Class Editor to create the class definition for this class, or reload the file containing the class. Then try again. ═══ 40.24. DDE4.AEP.2001e ═══ Message Visual Builder was not able to load the entry point from DLL . Explanation Visual Builder could not find the specified .dll file or this particular entry point in the specified .dll. Action Be sure that the subdirectory containing this .dll is on your LIBPATH and that the .dll contains the specified entry point. ═══ 40.25. DDE4.AEP.2002e ═══ Message The cell is already occupied. Explanation Visual Builder has already been started placing (in the upper left corner) a part in the requested cell. Only one part can be started in that cell. S Action In the settings notebook for the part, do one of the following:  Enter a different value for the new row and column.  Drop the part in a different cell. ═══ 40.26. DDE4.AEP.2003e ═══ Message An error occurred in creating the new class . Explanation Visual Builder could not create the specified class because of a file error. ═══ 40.27. DDE4.AEP.2004w ═══ Message Enter a valid C++ identifier for the name. Explanation The syntax of the C++ identifier you entered is not valid. Action Use the Part Interface Editor to correct the syntax. Then try again. ═══ 40.28. DDE4.AEP.2005w ═══ Message The class already exists. Choose another name. Explanation The class you tried to create already exists. Action Use the Class Editor to rename and save the class. ═══ 40.29. DDE4.AEP.2006w ═══ Message is not a valid class name. Choose another name. Explanation The name you entered for the specified class is not valid. Action Use the Class Editor to rename and save the class. ═══ 40.30. DDE4.AEP.2007e ═══ Message An error occurred in saving the palette information: . Explanation Visual Builder could not add your part to the palette as a result of this error. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.31. DDE4.AEP.2008e ═══ Message An error occurred in loading the palette information: . The default palette will be used. Explanation Visual Builder could not find the file that contains the information about your part palette. Instead, the palette that was shipped with Visual Builder was loaded. Action Be sure that the file name you specified for your part palette is correct. Then try again. ═══ 40.32. DDE4.AEP.2009e ═══ Message The loaded object is not a palette. The default palette will be used. Explanation Visual Builder could not load your part palette because the data in the file you specified did not contain palette information. Action Be sure that the file you specified for your part palette contains palette information and that the file name is correct. Then try again. ═══ 40.33. DDE4.AEP.2010e ═══ Message The part cannot be edited. Explanation Visual Builder could not load your part into the Composition Editor. The data in the file you specified did not contain part information, or the part cannot be edited. This can happen with certain system parts and typedefs. Action Be sure that the file you specified for your part contains part information and that the file name is correct. Then try again. ═══ 40.34. DDE4.AEP.2011w ═══ Message Do you want to remove the category from the palette? Explanation You requested that Visual Builder remove the selected category from the parts palette. If Visual Builder removes this category, all parts in this category will also be removed. Action To remove this category from the parts palette, select the Yes push button. To leave this category on the parts palette, select the No push button. ═══ 40.35. DDE4.AEP.2012w ═══ Message Do you want to remove the part from the selected palette category? Action To remove this part from the parts palette, select the Yes push button. To leave this part on the parts palette, select the No push button. ═══ 40.36. DDE4.AEP.2014e ═══ Message has been marked by the supplier as a class that cannot be used in a variable. Explanation When changing the type for a variable, you specified a class that may not be used. Action Specify a different class for the type of the variable. ═══ 40.37. DDE4.AEP.4000e ═══ Message The attribute type is missing. Explanation The Attribute type field in the Part Interface Editor is blank. Action Enter an attribute type in the Attribute type field in the Part Interface Editor. Then try again. ═══ 40.38. DDE4.AEP.4000e ═══ Message The member function signature is missing or not valid. Explanation Either the member function does not exist, or the syntax for it is not valid. Action Be sure that the member function exists and that the syntax is correct. To check this, use the Part Interface Editor. Or select Browse part features from the pop-up menu for the part in the Composition Editor. ═══ 40.39. DDE4.AEP.4002e ═══ Message The event identifier is missing. Explanation The event identifier does not exist. Action In the Part Interface Editor, enter an event identifier in the Event identification field on the Attribute or Event page Then try again. To do this, use the Part Interface Editor or select Browse part features from the pop-up menu for the part. ═══ 40.40. DDE4.AEP.4003e ═══ Message is already in the list of preferred features. Explanation The feature you tried to add already appears in the list of preferred features on the Preferred page of the Part Interface Editor. Action Select a different feature. ═══ 40.41. DDE4.AEP.4004e ═══ Message Set the User .hpv file and User .cpv file fields in the Class Editor. Explanation The specified files in the Class Editor must be completed before Visual Builder can generate the default feature source code. Action Enter the appropriate .hpv and .cpv file names in these fields before attempting to generate the default feature source code again. ═══ 40.42. DDE4.AEP.4005e ═══ Message An error occurred in opening file : . Explanation Visual Builder could not open the specified file to generate the feature source code. This file might not exist. If it does not exist, it will be created. Action Be sure that you have write access to the directory and that you have enough space on the disk. Then try again. ═══ 40.43. DDE4.AEP.4006i ═══ Message The feature source code generation is complete. Code was appended to the following files: Explanation None. Action No action is required. ═══ 40.44. DDE4.AEP.4007e ═══ Message This file name is not valid. Explanation The specified file name is not valid. Action Be sure that the file name is correct. Then try again. ═══ 40.45. DDE4.AEP.4008w ═══ Message Do you want to remove all features from the list of preferred features? Explanation You indicated that you want to remove all features from the list of preferred features on the Preferred Features page of the Part Interface Editor. Action Review the features that are to be removed. Then click on OK to confirm. If you do not want to remove them all, click on Cancel. ═══ 40.46. DDE4.AEP.4009w ═══ Message Do you want to remove from the list of preferred features? Explanation You indicated that you want to remove the specified feature from the list of preferred features on the Preferred Features page of the Part Interface Editor. Action Click on OK to confirm. If you do not want to remove it, click on Cancel. ═══ 40.47. DDE4.AEP.4010w ═══ Message Do you want to show inherited preferred features only? Explanation You indicated that you want to see only the inherited features in the list of preferred features on the Preferred Features page of the Part Interface Editor. Action Click on OK to confirm. If you do not want to see only the inherited features, click on Cancel. ═══ 40.48. DDE4.AEP.4011e ═══ Message The set member function must have at least one input parameter. The part interface was not changed. Explanation You must specify at least one input parameter in an attribute's set member function. If you specify more than one parameter, you must also supply default values for all parameters except the first one. Action Respecify the set member function for this attribute and select the Add or Update push button, as appropriate. ═══ 40.49. DDE4.AEP.5000e ═══ Message This handler is not valid. Explanation The syntax for the handler is not valid. Action Be sure that the syntax for this handler is correct. Use the Handlers page in the settings notebook for the part, entering one of the following to correct it:  name  name()  name(type, type, ...) ═══ 40.50. DDE4.AEP.5001e ═══ Message is already in the list of handlers. Explanation The handler you tried to add is already in the list of handlers. Action Use the Handlers page in the settings notebook for the part to enter information about the new handler. Then try again. ═══ 40.51. DDE4.AEP.5002w ═══ Message is not a valid part. Do you want to add it to the list of handlers? Explanation The handler you selected is not a part that is currently loaded in Visual Builder. Action Select another handler, or correct the syntax of the handler you selected. Then try again. ═══ 40.52. DDE4.AEP.5003w ═══ Message Do you want to remove from the list of handlers? Explanation You indicated that you want to remove the specified handler from the list of handlers on the settings page for the part. Action Click on OK to confirm. Otherwise, click on Cancel. ═══ 40.53. DDE4.CUI.1000e ═══ Message The parameter is not valid. Explanation Visual Builder does not allow you to use parameter names that conflict with reserved feature names, such as actionResult and exceptionOccurred. Action Change the name of the parameter. ═══ 40.54. DDE4.CUI.1001e ═══ Message The base class that you specified is not valid. Explanation One of the following occurred:  The base class that you specified does not exist in any .vbb file that is currently loaded.  You entered more than one base class. Action Make sure that both of the following are true:  You specified only one base class.  You loaded the .vbb file that contains the base class that you specified. ═══ 40.55. DDE4.CUI.1002e ═══ Message The access type of the base class is not valid. Explanation The access type of the base class must be public, protected, or private. Action Change the access type of the base class to public, protected, or private. ═══ 40.56. DDE4.CUI.1003e ═══ Message An expression lacks the opening parenthesis. Explanation You omitted the opening parenthesis in the declaration of member function. This could occur in the following places:  A connection that involves a member function declaration  The get and set member function declarations on the Attribute page of the Part Interface Editor.  A member function declaration for an action on the Action page of the Part Interface Editor. Action Insert the missing parenthesis. ═══ 40.57. DDE4.CUI.1004e ═══ Message A function name was not found. Explanation The name of a member function that you entered is missing. This could occur in the following places:  A connection that involves a member function declaration  The get and set member function declarations on the Attribute page of the Part Interface Editor.  A member function declaration for an action on the Action page of the Part Interface Editor. Action Insert the missing member function name. ═══ 40.58. DDE4.CUI.1005e ═══ Message A syntax error occurred in the function declaration. Explanation You entered a member function declaration that contains a C++ syntax error. This could occur in the following places:  A connection that involves a member function declaration  The get and set member function declarations on the Attribute page of the Part Interface Editor.  A member function declaration for an action on the Action page of the Part Interface Editor. Action Correct the syntax error. ═══ 40.59. DDE4.CUI.1006w ═══ Message The file already exists. Do you want to overwrite it? Explanation You are about to perform an action that will overwrite an existing .vbb file. Action Do one of the following:  Select the Yes push button to overwrite the .vbb file. You will not be able to recover this .vbb file after you overwrite it.  Select the No push button to prevent the .vbb file from being overwritten. You will be returned to the task that you were performing so that you can enter or select a different .vbb file name.  Select the Cancel push button to end the task that you are performing without overwriting the .vbb file. ═══ 40.60. DDE4.IMP.1100e ═══ Message The part information export failed. Explanation Visual Builder was not able to open the specified output file for the exported part information. Action Try the following in order: 1. If this operation is overwriting a previously existing file, make sure that the file is not otherwise in use. Also, make sure the file is not marked read-only. 2. If the output directory is on a local area network, make sure you have write access to the directory. 3. Check the output directory to see if enough storage space exists to hold the file. ═══ 40.61. DDE4.UIA.1000e ═══ Message An error occurred when loading information about options that you changed in the Visual Builder window. The default option selections will be used. Explanation When you change the options that are selected in the Options menu, Visual Builder saves those changes in a file named vbopts.dat in your working directory when you close the Visual Builder window. An error occurred when Visual Builder tried to open this file. The options will be reset to the default selections when you select the OK push button. Action If the error persists, erase the vbopts.dat file in your working directory. Visual Builder will create a new vbopts.dat file in your working directory the next time you change the option selections and close the Visual Builder window. ═══ 40.62. DDE4.UIA.1001e ═══ Message An error occurred when loading information about options that you changed in the Visual Builder window: The default option selections will be used. Explanation When you change the options that are selected in the Options menu, Visual Builder saves those changes in a file named vbopts.dat in your working directory when you close the Visual Builder window. An error occurred when Visual Builder tried to open this file. The options will be reset to the default selections when you select the OK push button. Action If the error persists, erase the vbopts.dat file in your working directory. Visual Builder will create a new vbopts.dat file in your working directory the next time you change the option selections and close the Visual Builder window. ═══ 40.63. DDE4.UIA.1002e ═══ Message An error occurred when saving information about options that you changed in the Visual Builder window: Explanation When you change the options that are selected in the Options menu, Visual Builder saves those changes in a file named vbopts.dat in your working directory when you close the Visual Builder window. An error occurred when Visual Builder tried to write information about the changed options to this file. Action Make sure that your working directory has space available. ═══ 40.64. DDE4.UIA.1010e ═══ Message Visual Builder was not able to open the browser link for file . Explanation Visual Builder was unable to open the file that contains the browser information. Either the file does not exist in the working directory or it has become corrupted. Action Create the browser information file by compiling your application. ═══ 40.65. DDE4.UIA.1011e ═══ Message Visual Builder was not able to open QuickBrowse for file . Explanation QuickBrowse was not able to parse the specified C++ source code file, probably due to errors in the source code. Action Check the project monitor log and correct the C++ source code errors that QuickBrowse recorded there. ═══ 40.66. DDE4.UIA.1012e ═══ Message No information was available for class . Explanation Either QuickBrowse or the browser was unable to find a class declaration, definition, or both for the specified class. Action Supply the missing class declaration, definition, or both. Then, do one of the following:  If you were using QuickBrowse, run QuickBrowse again.  If you were using the browser, compile your application and reopen the browser information. ═══ 40.67. DDE4.UIA.1013e ═══ Message Visual Builder was not able to refresh the browser data. Explanation An attempt by Visual Builder to refresh the browser data failed. Visual Builder continues to use the previous data that it received from the browser. Action No action can be taken using Visual Builder. See the messages displayed by the browser for information about possible actions you can take using the browser. ═══ 40.68. DDE4.UIA.1014i ═══ Message Visual Builder was not able to refresh the browser data for class . Explanation An attempt by Visual Builder to refresh the browser data revealed that the specified class no longer exists in the data. Action No action can be taken. Visual Builder refreshes all of the data except that of the missing class. ═══ 40.69. DDE4.UIA.1019e ═══ Message is an invalid file name because is already loaded from another path. Explanation You tried to create a .vbb file that has the same name as a .vbb file that you loaded from another path. Action Do one of the following:  Enter a different name for the .vbb file.  Unload the .vbb file that is already loaded and then create the new .vbb file. You can see the full path of the loaded .vbb files by selecting OptionsShow full file names. ═══ 40.70. DDE4.UIA.1020e ═══ Message The file name was not specified. Explanation You tried to move a part into a .vbb file without specifying the file name. Action Enter the name of the .vbb file that you want to move the part to. ═══ 40.71. DDE4.UIA.1021w ═══ Message is already loaded. It was not loaded again. Explanation You tried to load a .vbb file that was already loaded. Action Do one of the following:  If the specified .vbb file is vbbase.vbb, you cannot unload it. No action is required.  If the specified .vbb file is not vbbase.vbb, you can unload it and then reload it. ═══ 40.72. DDE4.UIA.1022e ═══ Message cannot be loaded because is already loaded from another path. Explanation You tried to load a .vbb file that has the same name as a .vbb file that you loaded from another path. Action Unload the .vbb file that is already loaded and then load the other .vbb file. You can see the full path of the loaded .vbb files by selecting OptionsShow full file names. ═══ 40.73. DDE4.UIA.1023i ═══ Message This operation was canceled because file replacement was not allowed. Explanation You canceled an operation that would have caused Visual Builder to replace a .vbb file if you had continued. For example, you would receive this message if you imported data that would have replaced an existing .vbb file, but you did not allow Visual Builder to replace the existing file. Action No action is required. To prevent this message from appearing, do one of the following:  Allow Visual Builder to replace the .vbb file.  Change the file name. ═══ 40.74. DDE4.UIA.1024w ═══ Message is not loaded and is about to be replaced. Is it okay to replace this file? Explanation You are creating a new .vbb file or importing data from a .vbe file. However, a corresponding .vbb file of the same name already exists in your working directory. If you continue, Visual Builder will replace the existing .vbb file with a new one that contains the data in the new .vbb file that you are creating or the .vbe file that you are importing. Action Do one of the following:  Select the Yes push button to create the new file or import the data and replace the existing .vbb file.  Select the No push button cancel the create or import operation. ═══ 40.75. DDE4.UIA.1025w ═══ Message Warning: Visual Builder editor windows are open. If this operation affects the inheritance of any parts being edited or the inheritance of any subparts, do not proceed until you have closed the windows. Do you want to proceed? Explanation You are about to perform an operation that might affect the inheritance of parts or subparts in the open Visual Builder editor windows. Operations that could affect part inheritance are deleting parts and renaming parts. For example, if you delete a part from a .vbb file and have used that part as the base class of another part, any of the deleted part's inherited features that you are using are invalid. Action Verify that the operation you are about to perform will not affect the inheritance of any of the parts or subparts in your open Visual Builder editor windows before proceeding with the operation. If you are not certain that part inheritance will not be affected, close the open editor windows before proceeding. ═══ 40.76. DDE4.UIA.1026w ═══ Message Do you want to exit Visual Builder? Explanation You did one of the following:  Double-clicked on the System Menu icon in the Visual Builder window.  Selected System Menu iconClose.  Selected FileExit. Action Do one of the following:  Select the Yes push button. The Visual Builder window closes and Visual Builder ends.  Select the No push button. The Visual Builder window stays open and Visual Builder keeps running. ═══ 40.77. DDE4.UIA.1027w ═══ Message At least one Visual Builder editor window is open. Select Yes to close it and exit. Explanation You did one of the following with one or more Visual Builder editor windows open:  Double-clicked on the System Menu icon in the Visual Builder window.  Selected System Menu iconClose.  Selected FileExit. Action Do one of the following:  Select the Yes push button. The open editor window closes, the Visual Builder window closes, and Visual Builder ends.  Select the No push button. The open editor window and the Visual Builder window stay open, and Visual Builder keeps running. ═══ 40.78. DDE4.UIA.1028i ═══ Message The exit operation was canceled. Explanation You selected No when Visual Builder displayed a message asking if you wanted to exit. Action No action is required. To exit Visual Builder, do one of the following:  Double-click on the System Menu icon in the Visual Builder window.  Select System Menu iconClose.  Select FileExit. When Visual Builder displays a message asking if you really want to exit, select the Yes push button. ═══ 40.79. DDE4.UIA.1029e ═══ Message An error occurred in moving : . Explanation Visual Builder did not allow you to move a part to the specified .vbb file because of one of the following reasons:  The disk that you tried to write the information to does not have enough free space.  The file is being used by another program.  The file is a read-only or hidden file.  The file is located on a Local Area Network (LAN) drive that you cannot write to. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.80. DDE4.UIA.1030e ═══ Message Visual Builder was not able to open : . Explanation Visual Builder was not able to write information to a .vbb file because of one of the following reasons:  The disk that you tried to write the information to does not have enough free space.  The file is being used by another program.  The file is a read-only or hidden file.  The file is located on a Local Area Network (LAN) drive that you cannot write to. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.81. DDE4.UIA.1031w ═══ Message The operation was canceled because of an inconsistent selection. Explanation The response you gave in one dialog contradicts the response you gave in another dialog. For example, you might have imported data from a .vbe file, but you did not save it in a .vbb file. Action No action is required. ═══ 40.82. DDE4.UIA.1032e ═══ Message The class was not found. Explanation You specified a class name that Visual Builder could not find in any of the loaded .vbb files. Action Load the .vbb file that contains the class. ═══ 40.83. DDE4.UIA.1033e ═══ Message Visual Builder was not able to open an editor window for : . Explanation You tried to open a part, but your system did not have enough free resources to let Visual Builder display the editor. Action Release system resources that are currently being used by closing applications that you are not using. Then, try again to open the part. ═══ 40.84. DDE4.UIA.1034e ═══ Message Visual Builder was not able to change the working directory to : . Explanation You attempted to change the working directory, but specified an invalid path. Action Do one of the following:  Specify a valid path that already exists.  Create the path that you want to specify. ═══ 40.85. DDE4.UIA.1035i ═══ Message is already on the parts palette in the category that you specified. It was not added again. Explanation You tried to add a part to the parts palette, but a part with that name is already in the category that you tried to add the part to. Action To add the part, do one of the following:  Rename the part and then add it to the parts palette in the category that you specified previously.  Add the part in a different category. ═══ 40.86. DDE4.UIA.1036i ═══ Message cannot be unloaded. It has been removed from the unload list. Explanation You tried to unload the VBBase.vbb file, which Visual Builder does not allow you to do. This file must always be loaded. Action No action is required. ═══ 40.87. DDE4.UIA.1040w ═══ Message is already being edited. Do you want to open another editor window for this part? Explanation You already have an editor window open for the selected part. Whenever you edit a part in multiple windows, you risk overwriting one set of part information with another. Every time you save a part, Visual Builder completely replaces any previously saved part information. Action To open another editor window, select the Yes push button. To cancel the open request and give the existing editor window the input focus, select the No push button. ═══ 40.88. DDE4.UIA.1100e ═══ Message This save operation failed. Explanation Visual Builder was unable to save a .vbb file or a part in a .vbb file because of one of the following reasons:  The disk did not have enough free space.  The file is being used by another program.  The file is either read-only or hidden.  You tried to save the file to a Local Area Network (LAN) drive that you cannot write to. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.89. DDE4.UIA.1101e ═══ Message This copy operation failed. Explanation Visual Builder was unable to copy a .vbb file or a part in a .vbb file because of one of the following reasons:  The disk did not have enough free space.  A file is the target of the copy operation and that file is being used by another program.  A file is the target of the copy operation and that file is either read-only or hidden.  You tried to copy the file to a Local Area Network (LAN) drive that you cannot write to. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.90. DDE4.UIA.1102e ═══ Message This part was copied successfully. Explanation Visual Builder is confirming that the copy operation was performed successfully. Action No action is required. ═══ 40.91. DDE4.UIA.1103e ═══ Message This part was renamed successfully. Explanation Visual Builder is confirming that the rename operation was performed successfully. Action No action is required. ═══ 40.92. DDE4.UIA.1110e ═══ Message The new name is not a valid class name. Choose another name. Explanation You tried to copy or rename a class to a name that is not supported in the C++ language. Action Check the new name for the following:  It must begin with a letter.  It must not contain special characters other than the underscore (_). ═══ 40.93. DDE4.UIA.1111e ═══ Message is not a valid class name. Choose another name. Explanation You specified a class name that is not supported in the C++ language. Action Check the class name for the following:  It must begin with a letter.  It must not contain special characters other than the underscore (_). ═══ 40.94. DDE4.UIA.1112e ═══ Message already exists. Choose another name. Explanation You cannot enter the name of a part that already exists in a .vbb file that is currently loaded. Action Do one of the following:  Enter a different name for the part.  Unload the .vbb file that contains the existing part and then reenter the part name. Note: If you specify the name of the .vbb file that you just unloaded as the file in which you want to store the part, Visual Builder will ask you if you want to replace the part. ═══ 40.95. DDE4.UIA.1113e ═══ Message Visual Builder cannot write to file . Explanation Visual Builder was not able to write information to the specified .vbb file because of one of the following reasons:  The disk that you tried to write the information to does not have enough free space.  The file is being used by another program.  The file is a read-only or hidden file.  The file is located on a Local Area Network (LAN) drive that you cannot write to. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.96. DDE4.UIA.1114e ═══ Message Visual Builder cannot write to file . Nothing was deleted. Explanation Visual Builder was not able to write information to the specified .vbb file because of one of the following reasons. The file that you tried to write to was not changed.  The disk that you tried to write the information to does not have enough free space.  The file is being used by another program.  The file is a read-only or hidden file.  The file is located on a Local Area Network (LAN) drive that you cannot write to. Action The action you should take depends on the error stated in the message. Read the error text that appears after the colon (:) and respond accordingly. ═══ 40.97. DDE4.UIA.1200e ═══ Message The base class must be loaded before the new part can be created. Explanation You must specify a base class whose .vbb file is loaded. Action Load the .vbb file that contains the base class you want to specify. ═══ 40.98. DDE4.UIA.1201e ═══ Message The base class cannot be an abstract class. Explanation You cannot specify an abstract class as the base class of another part. An abstract class provides common behavior across a set of subclasses but is not itself designed to have instances that work. An abstract class represents a concept; classes derived from it represent implementations of the concept. For example, IControl is the abstract base class for control view windows; the IPushbutton and IEntryField classes are controls derived from IControl. Therefore, you could use either IPushButton or IEntryField as a base class, but not IControl. Action Specify the name of a class that is not an abstract class. ═══ 40.99. DDE4.UIA.1202e ═══ Message The class IWindow is not loaded. Explanation The .vbb file that contains IWindow, which is VBBase.vbb unless you moved IWindow to a different .vbb file, must be loaded to create or open a visual part. All visual parts inherit from IWindow. Action Load the .vbb file that contains IWindow. ═══ 40.100. DDE4.UIA.1203e ═══ Message The class IStandardNotifier* is not loaded. Explanation The .vbb file that contains IStandardNotifier*, which is VBBase.vbb unless you moved IStandardNotifier* to a different .vbb file, must be loaded to create or open a nonvisual or class interface part. All nonvisual and class interface parts inherit from IStandardNotifier*. Action Load the .vbb file that contains IStandardNotifier*. ═══ 40.101. DDE4.UIA.1204e ═══ Message must inherit from . Explanation All visual parts must inherit from IWindow. All nonvisual and class interface parts must inherit from IStandardNotifier*. Action Do one of the following:  If your part is a visual part, specify either IWindow or a part that inherits from IWindow as the base class of the part.  If your part is a nonvisual or class interface part, specify either IStandardNotifier* or a part that inherits from IStandardNotifier* as the base class of the part. ═══ 40.102. DDE4.UIA.1205e ═══ Message Part classes cannot inherit from multiple parts. Explanation Your part class inherits member functions, data members, or both from more than one part. Visual Builder only allows part classes to inherit from one part. Action Make sure your part class inherits from only one part. ═══ 40.103. DDE4.UIA.1206e ═══ Message has been marked by the supplier as a class that cannot be used as a base class. Explanation When opening a new part, you specified a base class that may not be derived. Most classes in this category are reserved for use by the supplier of the part. Action Specify a different class as the base for your new part. ═══ 40.104. DDE4.UIA.1207e ═══ Message The base class must also be a . Explanation When opening a new part, you specified a part type that was different from that of the base class. Both base and derived classes must be of the same type. Valid part types are visual, nonvisual, and class interface. Action  To keep the base class, change the type of the new part.  To keep the part type, specify a base class of the same type as that of the new part. ═══ 40.105. DDE4.WFI.1000i ═══ Message Visual Builder found no project scope actions to display. Explanation The Project menu is empty because you have not added any of the WorkFrame actions for this project at the project scope. Action Add WorkFrame actions at the project scope. Refer to WorkFrame How Do I? for information about doing this. ═══ 40.106. DDE4.WFI.1001e ═══ Message Visual Builder was not able to obtain the project information for . Explanation The WorkFrame environment variable that provides the path to the project under which you started Visual Builder is not set correctly in your config.sys file. Action Set the WorkFrame environment variable properly. Refer to the VisualAge C++ User's Guide for information about setting the WorkFrame environment variables. ═══ 40.107. DDE4.WFI.1002e ═══ Message Visual Builder did not connect to WorkFrame. Explanation Visual Builder was unable to get information from WorkFrame using the router that Visual Builder provides for this purpose. Action Check the environment variables for WorkFrame in your config.sys file. Refer to the VisualAge C++ User's Guide for information about setting the WorkFrame environment variables. If the problem persists, contact IBM technical support as described in the following sections. Telephone support in the USA and Canada Visual Builder has a free 60-day Getting Started period (GSP) to help you with installation, usage, and how-to problems. Call 1-800-237-5511. The 60-day period starts on the date of your first call, and is offered 9-5 (in your time zone), Monday through Friday. If you need service outside of these hours during the GSP, service charges apply. Call 1-800-237-5511 for details. After your 60-day GSP, we offer a wide menu of service options tailored to a full spectrum of customers needs. Again, call 1-800-237-5511 for details. Quite often, you may not need technical support, for example when you have questions about CSD levels and availability, registration cards, or beta tests. In recognition of these questions, our automated response system contains a wealth of useful information. You can also receive much of that information by fax. The response system is available 24 hours a day, 7 days a week. Call 1-800-668-2853. (Outside of North America, you can access the same system at 416-448-4363.) Telephone support outside North America For local country support, please contact your IBM branch for details. Electronic support - worldwide You can also contact Visual Builder Support electronically. There is no charge for this service, other than what you normally pay for your electronic access.  Compuserve (OS2DF1)  INTERNET - va_cpp@vnet.ibm.com - workframe@vnet.ibm.com for WorkFrame-specific questions  IBMLink/ServiceLink - VA C++ forum - ETR (electronic reporting of problems)  TalkLink - VA C++ forum - ETR (electronic reporting of problems) If you frequent the Internet, you can also contact other knowledgeable Visual Builder users on the USENET newsgroups. (Visual Builder discussions often appear in the comp.os.os2.programmer hierarchy.) Other defect reporting channels in the USA and Canada You can also report possible Visual Builder code-related problems using any of the following methods: FAX 1-800-426-8602 MAIL IBM Corp Personal Systems Support Family 11400 Burnet Road Internal Zip 2901 AUSTIN, TX 78758 ELECTRONIC CompuServe - 76711,611 Other defect reporting channels outside the USA and Canada Other IBM countries offer mail-in and fax support. Please contact your IBM branch for details. ═══ 40.108. DDE4.WFI.1003e ═══ Message An error occurred in opening the Presentation Manager (PM) notification queue. Explanation Visual Builder was unable to send a message to or receive a message from PM. Action The most common cause of this error is a lack of system resources. Try to free system resources by closing programs that you are not using. If the problem persists, contact IBM technical support as described in the following sections. Telephone support in the USA and Canada Visual Builder has a free 60-day Getting Started period (GSP) to help you with installation, usage, and how-to problems. Call 1-800-237-5511. The 60-day period starts on the date of your first call, and is offered 9-5 (in your time zone), Monday through Friday. If you need service outside of these hours during the GSP, service charges apply. Call 1-800-237-5511 for details. After your 60-day GSP, we offer a wide menu of service options tailored to a full spectrum of customers needs. Again, call 1-800-237-5511 for details. Quite often, you may not need technical support, for example when you have questions about CSD levels and availability, registration cards, or beta tests. In recognition of these questions, our automated response system contains a wealth of useful information. You can also receive much of that information by fax. The response system is available 24 hours a day, 7 days a week. Call 1-800-668-2853. (Outside of North America, you can access the same system at 416-448-4363.) Telephone support outside North America For local country support, please contact your IBM branch for details. Electronic support - worldwide You can also contact Visual Builder Support electronically. There is no charge for this service, other than what you normally pay for your electronic access.  Compuserve (OS2DF1)  INTERNET - va_cpp@vnet.ibm.com - workframe@vnet.ibm.com for WorkFrame-specific questions  IBMLink/ServiceLink - VA C++ forum - ETR (electronic reporting of problems)  TalkLink - VA C++ forum - ETR (electronic reporting of problems) If you frequent the Internet, you can also contact other knowledgeable Visual Builder users on the USENET newsgroups. (Visual Builder discussions often appear in the comp.os.os2.programmer hierarchy.) Other defect reporting channels in the USA and Canada You can also report possible Visual Builder code-related problems using any of the following methods: FAX 1-800-426-8602 MAIL IBM Corp Personal Systems Support Family 11400 Burnet Road Internal Zip 2901 AUSTIN, TX 78758 ELECTRONIC CompuServe - 76711,611 Other defect reporting channels outside the USA and Canada Other IBM countries offer mail-in and fax support. Please contact your IBM branch for details. ═══ 40.109. DDE4.WFI.1004e ═══ Message Visual Builder was not able to access browser information. The Browser is not initialized. Explanation Visual Builder could not find the Browser .dll files. This could mean that these .dll files are not installed or their path is not set properly in the LIBPATH statement. Action First, make sure the Browser is installed. Then, check the LIBPATH statement to ensure that the path to the Browser .dll files is set properly. ═══ Common footnotes ═══ ═══ 41. Glossary ═══ ═══ Glossary description ═══ This glossary defines terms and abbreviations that are used in this book. If you do not find the term you are looking for, refer to the IBM Dictionary of Computing, New York:McGraw-Hill, 1994. This glossary includes terms and definitions from the American National Standard Dictionary for Information Systems, ANSI X3.172-1990, copyright 1990 by the American National Standards Institute (ANSI). Copies may be purchased from the American National Standards Institute, 1430 Broadway, New York, New York 10018. ═══ Glossary listing ═══ A abstract class action attribute attribute-to-action connection attribute-to-attribute connection attribute-to-member function connection attribute-to-parameter connection B base class behavior C category class Class Editor class hierarchy class library class member function collection composite part Composition Editor connection construction from parts constructor custom logic connection D data abstraction data member data model declaraction destructor DLL dynamic link library (DLL) E encapsulation event event-to-action connection event-to-attribute connection event-to-member function connection expansion area F feature free-form surface G graphical user interface (GUI) GUI H handles header file I inheritance instance L loaded M member member function member function name message model N nonvisual part notebook part O object object class object factory object-oriented programming operation P parent class part part event part event ID part interface Part Interface Editor parts palette preferred features primary selection private property protected R resource file S selection handles service settings view sticky structure subpart superclass T tear-off attribute template tool bar U UI user interface (UI) V variable view visual part visual programming tool W window ═══ abstract class ═══ A class that provides common behavior across a set of subclasses but is not itself designed to have instances that work. An abstract class represents a concept; classes derived from it represent implementations of the concept. For example, IControl is the abstract base class for control view windows; the ICanvas and IListBox classes are controls derived from IControl. An abstract class must have at least one pure virtual function. See also base class. ═══ access ═══ A property of a class that determines whether a class member is accessible in an expression or declaration. ═══ action ═══ A specification of a function that a part can perform. The visual builder uses action specifications to generate connections between parts. Actions are resolved to member function calls in the generated code. Compare to event and attribute. ═══ Advanced Program-to-Program Communication (APPC) ═══ IBM's architected solution for program-to-program communication, distributed transaction processing, and remote database access. A transaction program using the APPC application program interface can communicate with other transaction programs on systems that support APPC. An implementation of the Systems Network Architecture (SNA) logical unit (LU) 6.2 protocol that allows interconnected systems to communicate and share the processing of programs. ═══ AID ═══ See attention identifier. ═══ argument ═══ A data element, or value, included as part of a member function call. Arguments provide additional information that the called member function can use to perform the requested operation. ═══ attention identifier (AID) ═══ A character in a 3270 or 5250 data stream indicating that the user has pressed a key, such as the Enter key, to request an action by the system. ═══ attribute ═══ A specification of a property of a part. For example, a customer part could have a name attribute and an address attribute. An attribute can itself be a part with its own behavior and attributes. Visual Builder uses attribute specifications to generate code to get and set part properties. Compare to event and action. ═══ attribute-to-attribute connection ═══ A connection from an attribute of one part. to an attribute of another part. When one attribute is updated, the other attribute is updated automatically. See also connection. ═══ attribute-to-action connection ═══ A connection from an attribute of one part to an action of another part. When the attribute is updated, the action is also updated automatically. This is similar to an event-to-action connection because Visual Builder uses the attribute's event ID to notify the action when the value of the attribute changes. See also connection. ═══ attribute-to-member function connection ═══ A connection from an attribute of a part to a member function. The connected attribute receives its value from the member function, which can make calculations based on the values of other parts. See also connection. ═══ attribute-to-parameter connection ═══ A connection that satisfies a parameter of an action or member function by supplying an attribute's value. See also connection. ═══ base class ═══ A class from which other classes or parts are derived. A base class may itself be derived from another base class. See also abstract class. ═══ behavior ═══ The set of external characteristics that an object exhibits. ═══ caller ═══ An object that sends a member function call to another object. Contrast with receiver. ═══ category ═══ In the Composition Editor, a selectable grouping of parts represented by an icon in the left-most column. Selecting a category displays the parts belonging to that category in the next column. See also parts palette. ═══ class ═══ An aggregate that can contain functions, types, and user-defined operators, in addition to data. Classes can be defined hierarchically, allowing one class to be an expansion of another, and can restrict access to its members. ═══ Class Editor ═══ The editor you use to specify the names of files that Visual Builder writes to when you generate default code. You can also use this editor to do the following:  Enter a description of the parts  Specify a different .vbb file in which to store the part  See the name of the part's base class  Modify the part's default constructor  Enter additional constructor and destructor code  Specify a .lib file for the part  Specify a resource DLL and ID to assign an icon to the part  Specify other files that you want to include when you build your application Compare to Composition Editor and Part Interface Editor. ═══ class hierarchy ═══ A tree-like structure showing relationships among object classes. It places one abstract class at the top (a base class) and one or more layers of less abstract classes below it. ═══ class library ═══ A collection of classes. ═══ class member function ═══ See member function. ═══ client area object ═══ An intermediate window between a frame window (IFrameWindow) and its controls and other child windows. ═══ client object ═══ An object that requests services from other objects. ═══ collection ═══ A set of features in which each feature is an object. ═══ Common User Access (CUA) ═══ An IBM architecture for designing graphical user interfaces using a set of standard components and terminology. ═══ composite part ═══ A part that is composed of a part and one or more subparts. A composite part can contain visual parts, nonvisual parts, or both. See also nonvisual part, part, subpart, and visual part. ═══ Composition Editor ═══ A view that is used to build a graphical user interface and to make connections between parts. Compare to Class Editor and Part Interface Editor. ═══ concrete class ═══ A subclass of an abstract class that is a specialization of the abstract class. ═══ connection ═══ A formal, explicit relationship between parts. Making connections is the basic technique for building any visual application because that defines the way in which parts communicate with one another. Visual Builder generates the code that then implements these connections. See also attribute-to-action connection, attribute-to-attribute connection, attribute-to-member function connection, attribute-to-parameter connection, custom logic connection, event-to-action connection, event-to-attribute connection, and event-to-member function connection. ═══ const ═══ An attribute of a data object that declares that the object cannot be changed. ═══ construction from parts ═══ A software development technology in which applications are assembled from existing and reusable software components, known as parts. ═══ constructor ═══ A special class member function that has the same name as the class and is used to construct and possibly initialize class objects. ═══ CUA ═══ See Common User Access. ═══ cursored emphasis ═══ When the selection cursor is on a choice, that choice has cursored emphasis. ═══ custom logic connection ═══ A connection that causes your customized C or C++ code to be run. This connection can be triggered either when an attribute's value changes or an event occurs. Use this connection for short pieces of code that you do not plan to reuse. ═══ data abstraction ═══ A data type with a private representation and a public set of operations. The C++ language uses the concept of classes to implement data abstraction. ═══ data member ═══ Private data that belongs to a given object and is hidden from direct access by all other objects. Data members can only be accessed by the member functions of the defining class and its subclasses. ═══ data model ═══ A combination of the base classes and parts shipped with the product and the classes and parts you save and create. They are saved in a file named vbbase.vbb. ═══ data object ═══ A storage area used to hold a value. ═══ declaration ═══ A description that makes an external object or function available to a function or a block. ═══ DEF file ═══ See module definition file. ═══ derivation ═══ The creation of a new or abstract class from an existing or base class. ═══ destructor ═══ A special class member function that has the same name as the class and is used to destruct class objects. ═══ DLL ═══ See dynamic link library. ═══ dynamic link library (DLL) ═══ In OS/2, a library containing data and code objects that can be used by programs or applications during loading or at run time. Although they are not part of the program's executable (.exe) file, they are sometimes required for an .exe file to run properly. ═══ encapsulation ═══ The hiding of a software object's internal representation. The object provides an interface that queries and manipulates the data without exposing its underlying structure. ═══ event ═══ A specification of a notification from a part. Compare to action , attribute, and part event. ═══ event-to-action connection ═══ A connection that causes an action when a certain event occurs. See also connection. ═══ event-to-attribute connection ═══ A connection that changes the value of an attribute when a certain event occurs. See also connection. ═══ event-to-member function connection ═══ A connection from an event of a part to a member function. When the connected event occurs, the member function is executed. See also connection. ═══ expansion area ═══ The section of a multicell canvas between the current cell grid and the outer edge of the canvas. Visually, this area is bounded by the rightmost column gridline and the bottommost row gridline. ═══ feature ═══ A major component of a software product that can be installed separately. In Visual Builder, an action, attribute, or event that is available from a part's part interface and that other parts can connect to. ═══ full attribute ═══ An attribute that has all of the behaviors and characteristics that an attribute can have: a data member, a get member function, a set member function, and an event identifier. ═══ free-form surface ═══ The large open area of the Composition Editor window. The free-form surface holds the visual parts contained in the views you build and representations of the nonvisual parts (models) that your application includes. ═══ graphical user interface (GUI) ═══ A type of interface that enables users to communicate with a program by manipulating graphical features, rather than by entering commands. Typically, a graphical user interface includes a combination of graphics, pointing devices, menu bars and other menus, overlapping windows, and icons. ═══ GUI ═══ See graphical user interface. ═══ handles ═══ Small squares that appear on the corners of a selected visual part in Visual Builder. Handles are used to resize parts. Compare to primary selection. ═══ header file ═══ A file that contains system-defined control information that precedes user data. ═══ inheritance ═══ A mechanism by which an object class can use the attributes, relationships, and member functions defined in more abstract classes related to it (its base classes). An object-oriented programming technique that allows you to use existing classes as bases for creating other classes. ═══ instance ═══ Synonym for object, a particular instantiation of a data type. ═══ legacy code ═══ Existing code that a user might have. Legacy applications often have character-based, nongraphical user interfaces; usually they are written in a nonobject-oriented language, such as C or COBOL. ═══ loaded ═══ The state of the mouse pointer between the time you select a part from the parts palette and deposit the part on the free-form surface. ═══ main part ═══ The part that users see when they start an application. This is the part from which the main() function C++ code for the application is generated. The main part is a special kind of composite part. See also part and main part ═══ member ═══ A data object in a structure or a union. In C++, classes and structures can also contain functions and types as members. ═══ member function ═══ An operator or function that is declared as a member of a class. A member function has access to the private and protected member functions and data members of objects of its class. ═══ member function call ═══ A communication from one object to another that requests the receiving object to execute a member function. A member function call consists of a member function name that indicates the requested member function and the arguments to be used in executing the member function. The member function call always returns some object to the requesting object as the result of performing the member function. Synonym for message. ═══ member function name ═══ The component of a member function call that specifies the requested operation. ═══ message ═══ A request from one object that the receiving object implement a member function. Because data is encapsulated and not directly accessible, a message is the only way to send data from one object to another. Each message specifies the name of the receiving object, the member function to be implemented, and any arguments the member function needs for implementation. Synonym for member function call. ═══ model ═══ A nonvisual part that represents the state and behavior of a object, such as a customer or an account. Contrast with view. ═══ module definition file ═══ A file that describes the code segments within a load module. Synonym for DEF file. ═══ nested class ═══ A class defined within the scope of another class. ═══ nonvisual part ═══ A part that has no visual representation at run time. A nonvisual part typically represents some real-world object that exists in the business environment. Compare to model. Contrast with view and visual part. ═══ no-event attribute ═══ An attribute that does not have an event identifier. ═══ no-set attribute ═══ An attribute that does not have a set member function. ═══ notebook part ═══ A visual part that resembles a bound notebook containing pages separated into sections by tabbed divider pages. A user can turn the pages of a notebook or select the tabs to move from one section to another. ═══ object ═══ A computer representation of something that a user can work with to perform a task. An object can appear as text or an icon. A collection of data and member functions that operate on that data, which together represent a logical entity in the system. In object-oriented programming, objects are grouped into classes that share common data definitions and member functions. Each object in the class is said to be an instance of the class. An instance of an object class consisting of attributes, a data structure, and operational member functions. It can represent a person, place, thing, event, or concept. Each instance has the same properties, attributes, and member functions as other instances of the object class, though it has unique values assigned to its attributes. ═══ object class ═══ A template for defining the attributes and member functions of an object An object class can contain other object classes. An individual representation of an object class is called an object. ═══ object factory ═══ A nonvisual part capable of dynamically creating new instance of a specified part. For example, during the execution of an application, an object factory can create instances of a new class to collect the data being generated. ═══ object-oriented programming ═══ A programming approach based on the concepts of data abstraction and inheritance Unlike procedural programming techniques, object-oriented programming concentrates on those data objects that comprise the problem and how they are manipulated, not on how something is accomplished. ═══ observor ═══ An object that receives notification from a notifier object. ═══ operation ═══ A member function or service that can be requested of an object. ═══ overloading ═══ An object-oriented programming technique that allows you to redefine functions and most standard C++ operators when the functions and operators are used with class types. ═══ parent class ═══ The class from which another part or class inherits data, member functions, or both. ═══ part ═══ A self-contained software object with a standardized part interface consisting of a set of external features that allow the part to interact with other parts. A part is implemented as a class that supports the INotifier protocol and has a part interface defined. The parts on the parts palette can be used as templates to create instances or objects. ═══ part event ═══ A representation of a change that occurs to a part. The events on a part's interface enable other interested parts to receive notification when something about the part changes. For example, a push button generates an event signaling that it has been clicked, which might cause another part to display a window. ═══ part event ID ═══ The name of a part static-data member used to identify which notification is being signaled. ═══ part interface ═══ A set of external features that allows a part to interact with other parts. A part's interface is made up of three characteristics: attributes, actions, and events. ═══ Part Interface Editor ═══ An editor that the application developer uses to create and modify attributes, actions, and events, which together make up the interface of a part. Compare to Class Editor and Composition Editor. ═══ parts palette ═══ The parts palette holds a collection of visual parts and nonvisual parts used in building additional parts for an application. The parts palette is organized into categories. Application developers can add parts to the palette for use in defining applications or other parts. ═══ preferred features ═══ A subset of the part's features that appear in a pop-up connection menu. Generally, they are the features used most often. ═══ primary selection ═══ In the Composition Editor, the part used as a base for an action that affects several parts. For example, an alignment tool will align all selected parts with the primary selection. Primary selection is indicated by closed (solid) selection handles, while the other selected parts have open selection handles. See also selection handles. ═══ private ═══ Pertaining to a class member that is accessible only to member functions and friends of that class. ═══ process ═══ A program running under OS/2, along with the resources associated with it (memory, threads, file system resources, and so on). ═══ program ═══ One or more files containing a set of instructions conforming to a particular programming language syntax. A self-contained, executable module. Multiple copies of the same program can be run in different processes. ═══ protected ═══ Pertaining to a class member that is only accessible to member functions and friends of that class, or to member functions and friends of classes derived from that class. ═══ prototype ═══ A function declaration or definition that includes both the return type of the function and the types of its arguments. ═══ primitive part ═══ A basic building block of other parts. A primitive part can be relatively complex in terms of the function it provides. ═══ process ═══ A collection of code, data, and other system resources, including at least one thread of execution, that performs a data processing task. ═══ property ═══ A unique characteristic of a part. ═══ pure virtual function ═══ A virtual function that has a function definition of = 0;. ═══ receiver ═══ The object that receives a member function call. Contrast with caller. ═══ resource file ═══ A file that contains data used by an application, such as text strings and icons. ═══ selection handles ═══ In the Composition Editor, small squares that appear on the corners of a selected visual part. Selection handles are used to resize parts. See also primary selection. ═══ server ═══ A computer that provides services to multiple users or workstations in a network; for example, a file server, a print server, or a mail server. ═══ service ═══ A specific behavior that an object is responsible for exhibiting. ═══ settings view ═══ A view of a part that provides a way to display and set the attributes and options associated with the part. ═══ sticky ═══ In the Composition Editor, the mode that enables you to add multiple parts of the same class (for example, three push buttons) without going back and forth between the parts palette and the free-form surface. ═══ structure ═══ A construct that contains an ordered group of data objects. Unlike an array, the data objects within a structure can have varied data types. ═══ subpart ═══ A part that is used to create another part. See also nonvisual part, part, and visual part. ═══ superclass ═══ See abstract class and base class. ═══ tear-off attribute ═══ An attribute that an application developer has exposed to work with as though it were a stand-alone part. ═══ template ═══ A family of classes or functions with variable types. ═══ thread ═══ A unit of execution within a process. ═══ tool bar ═══ The strip of icons along the top of the free-form surface. The tool bar contains tools to help you construct composite parts. ═══ UI ═══ See user interface. ═══ unloaded ═══ The state of the mouse pointer before you select a part from the parts palette and after you deposit a part on the free-form surface. In addition, you can unload the mouse pointer by pressing the Esc key. ═══ user interface (UI) ═══ The hardware, software, or both that enable a user to interact with a computer. The term user interface normally refers to the visual presentation and its underlying software with which a user interacts. ═══ variable ═══ A storage place within an object for a data feature. The data feature is an object, such as number or date, stored as an attribute of the containing object. A part that receives an identity at run time. A variable by itself contains no data or program logic; it must be connected such that it receives runtime identity from a part elsewhere in the application. ═══ view ═══ A visual part, such as a window, push button, or entry field. A visual representation that can display and change the underlying model objects of an application. Views are both the end result of developing an application and the basic unit of composition of user interfaces. Compare to visual part. Contrast with model. ═══ virtual function ═══ A function of a class that is declared with the keyword virtual. The implementation that is executed when you make a call to a virtual function depends on the type of the object for which it is called. This is determined at run time. ═══ visual part ═══ A part that has a visual representation at run time. Visual parts, such as windows, push buttons, and entry fields, make up the user interface of an application. Compare to view. Contrast with nonvisual part. ═══ visual programming tool ═══ A tool that provides a means for specifying programs graphically. Application programmers write applications by manipulating graphical representations of components. ═══ white space ═══ Space characters, tab characters, form-feed characters, and new-line characters. ═══ window ═══ A rectangular area of the screen with visible boundaries in which information is displayed. Windows can overlap on the screen, giving it the appearance of one window being on top of another. In the Composition Editor, a window is a part that can be used as a container for other visual parts, such as push buttons. ═══ ═══ You can open the task roadmap by selecting HelpHow Do I? from the Help menu bar choice in any of the following windows:  Visual Builder window  Composition Editor  Class Editor  Part Interface Editor ═══ ═══ You can open the Product information window by selecting Product information from the Help menu bar choice in any of the following windows:  Visual Builder window  Composition Editor  Class Editor  Part Interface Editor ═══ ═══ You can open the Composition Editor window several different ways, depending upon whether you want to create a new part or edit an existing part. To create a new part, select New and then Visual part from one of the following:  Part menu-bar choice  Pop-up menu for the Visual part pane in the Visual Builder window. To edit an existing part, do one of the following: 1. In the Visual Builder window, select a .vbb file from the Loaded part files pane, and then double-click on the part. 2. Select Edit part from the pop-up menu of a visual part on the free-form surface in an existing Composition Editor window. ═══ ═══ You can open the Class Editor a few different ways.  From the Visual Builder window, do the following: 1. Open a visual or nonvisual part from the Visual parts pane. 2. Select the middle radio button at the bottom right corner of the Composition Editor or the Part Interface Editor.  From the View menu of the Composition Editor or the Part Interface Editor select Class Editor. ═══ ═══ You can get to the Part Interface Editor window from the Composition Editor or the Class Editor by doing one of the following:  Select the Part Interface Editor at the lower right corner of the window.  From the View pull-down menu, select Part Interface Editor. ═══ ═══ You can select this pop-up menu choice from the following fields in the Part Interface Editor:  Get member function on the Attribute page  Set member function on the Attribute page  Event identification on the Attribute and Event pages  Action member function on the Action page ═══ ═══ To open this window, double-click on the connection line or do the following: 1. Place the mouse pointer over the connection line and click mouse button 2. 2. Select Open Settings from the pop-up menu. ═══ ═══ You can open the Add new part window Composition Editor window. From the Options pull-down, select Add new part. ═══ ═══ You can open the Part - New window from the Visual Builder window. From the Part menu choice, select New. ═══ ═══ You can get to the Add new category window from the Composition Editor. From the Options pull-down, select Modify paletteAdd new category. ═══ ═══ You can open the Connections window from the Composition Editor window by selecting Connect from the pop-up for the part. The Connections window opens automatically if there is no preferred connections menu. If a preferred connections pop-up appears, select More. ═══ ═══ You can get to the Reorder connections window from the free-form surface of the Composition Editor window by selecting Reorder connections from the pop-up menu. ═══ ═══ You can open the Tabbing And Depth Order window from the Composition Editor window by selecting Tabbing And Depth Order from the pop-up menu. ═══ ═══ You can get to the Set grid spacing window from the Composition Editor. Composition Editor. From the pop-up menu for the free-form surface or any part having this choice, select Set grid spacing. ═══ ═══ You can open the Add to palette window from the Visual Builder window. From the Part pull-down, select Add to palette. ═══ ═══ You can open the Add new part window from the Visual Builder window. From the Part pull-down, select Add to palette. ═══ ═══ You can get to the Promote part feature window from the Composition Editor by selecting Promote part feature from the pop-up menu for a part. ═══ ═══ You can get to the Custom logic connection window from the Composition Editor by doing the following: 1. From the pop-up menu for the part, select Connect and then a connection from the list of available connections. 2. Select a part that you would like to have access to through the custom logic connection. (If no part meets this criteria, pick any part.) Then select Custom logic from the pop-up that comes up. ═══ ═══ You can select a value from the list using any of the following methods: Mouse functions To select a value in the list, click on the item. The value you selected displays in the entry field. Note: A scroll bar with available-state emphasis indicates that more information is available and you can scroll it into view. Keyboard functions You can select the text entry field and enter the value in. To move through the values in the list, do one of the following:  To move to the next value press the Up Arrow key or the Down Arrow key.  To rapidly move through the values press and hold the Up Arrow key or the Down Arrow key. To select a value in the list, press Enter. ═══ ═══ You can select a value from the drop-down list using any of the following methods: Mouse functions 1. View the values in the drop-down list by clicking on the button. 2. Select one of the values in the list by clicking on the item. The list disappears, and the value you selected displays in the entry field. Keyboard functions You can select a value by entering the first character of one of the values in the entry field. The next value beginning with that character replaces the value in the entry field. Note: If there is more than one value beginning with the same character, you must enter that character again to display the next value in the list. To move through the values in the drop-down list, do one of the following:  To move to the next value press the Up Arrow key or the Down Arrow key.  To rapidly move through the values press and hold the Up Arrow key or the Down Arrow key. To select a value in the list, press Enter. ═══ ═══ You can select a value from the drop-down list using any of the following methods: Mouse functions 1. View the values in the drop-down list by clicking on the button. 2. Select one of the values in the list by clicking on the item. The list disappears, and the value you selected displays in the entry field. Keyboard functions You can select the text entry field and enter the value in entry field. You can also select a value by entering the first character of one of the values in the entry field. The next value beginning with that character is highlighted in the list. You can then select the item. To move through the values in the drop-down list, do one of the following:  To move to the next value press the Up Arrow key or the Down Arrow key.  To rapidly move through the values press and hold the Up Arrow key or the Down Arrow key. To select a value in the list, press Enter. ═══ ═══ You can select a value with a spin button using any of the following methods: Mouse functions To move through the values for the spin button, do one of the following:  To move to the next value, click on the button or the button.  To rapidly move through the values, click and hold the button or the button. The value displayed in the field becomes the selected value. Keyboard functions You can select the text entry field and type the value in. To move through the values for the spin button, do one of the following:  To move to the next value press the Up Arrow key or the Down Arrow key.  To rapidly move through the values press and hold the Up Arrow key or the Down Arrow key. The value displayed in the field becomes the selected value. ═══ ═══ To display a pop-up menu, do the following: 1. Position the mouse pointer over the field, part, or free-form surface. 2. Click mouse button 2. ═══ ═══ To open the settings view window of a part, do one of the following:  From the pop-up menu for the part, select Open settings.  Double-click on the part.