═══ 1. About this Reference ═══ Topics:  Welcome!  Notices  Trademarks  How to Use the Contents  How to Obtain Additional Information  How to Use Action Bar Choices  How to Cut and Paste Examples  Other Information You Might Find Helpful  Communicating Your Comments to IBM  Who Should Use This Reference  How to Use This Reference  How to Use Part Information  What Parts Are Here? ═══ 1.1. Welcome! ═══ Welcome to the Visual Builder Parts Reference. This reference provides information about parts and classes you can use to build applications. It describes parts you can work with on the free-form surface in the Composition Editor. Before you begin to use this information, it would be helpful to understand how to navigate through it. You can use the Table of Contents and Index facility to locate topics and the Search facility to search the text of this document. You can use hypertext links to acquire related information on the current topic. Hypertext links appear in a different color (which you can customize using the OS/2 Scheme Palette). For example, here is a link to another panel: Communicating Your Comments to IBM. By double-clicking on the text of the link or by pressing Enter on a highlighted link, you will open a panel of related information. When you open a panel, the first link has the focus; to shift the focus to other links, use the Tab key. You should also understand:  How to Use the Contents  How to Obtain Additional Information  How to Use Action Bar Choices  How to Cut and Paste Examples You can navigate forward and backward through primary topics by using the Forward and Back buttons. Chapter group introductions and chapters are primary topics in this reference. To go to the primary topic after the current one, click on the Forward button (or select it and press Enter). To go to the primary topic before the current one, do the following:  If the current primary topic is presented in a split window, first select the menu pane.  Click on the Back button (or select it and press Enter). You can return to the window you previously viewed by using the Previous button or the Escape key. ═══ 1.2. Notices ═══ Any reference to an IBM licensed program is not intended to state or imply that only IBM's licensed program may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights can be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designated by IBM, is the user's responsibility. IBM might have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation 500 Columbus Avenue Thornwood, NY 10594 USA This publication contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. ═══ 1.3. Trademarks ═══ The following terms are trademarks or service marks of the IBM Corporation in the United States or other countries: BookManager Common User Access CUA IBM IBMLink Library Reader Open Class OS/2 Presentation Manager PROFS VisualAge Workplace Shell The following terms are trademarks of other companies: C++ American Telephone & Telegraph Company ═══ 1.4. Who Should Use This Reference ═══ Programmers who want to develop C++ applications using Visual Builder should read this reference. It is written primarily for the programmer building applications from Visual Builder parts using the Composition Editor. ═══ 1.5. How to Use This Reference ═══ Use this reference to find detailed information about Visual Builder parts. Visual Builder concepts If you are not familiar with parts, features, and connections, read Basic Concepts. Part chapters Part chapters are organized alphabetically in two sections: Visual and Nonvisual Parts All visual and nonvisual parts and any class interface parts on the parts palette. Class Interface Parts All class interface parts except those on the parts palette. If you want to use a part you are not familiar with, read the part description first. Then, read the part building guidelines to learn how to use the part in your own composite part. You can review the topics on attributes, actions, and events for information on part features. Part feature tables contain information about implementation, such as data types, parameter lists, and event information. These tables contain all attributes, actions, or events of the part, including those inherited from other parts. Locally defined feature names are emphasized for identification. You can find settings information in the topics for part settings pages. See How to Use Part Information for details on the information available in a part chapter. Class information If you need more information on the class that supports a part or on a class member that implements a feature, you can use hypertext links to the IBM Open Class Library Reference. Highlighting conventions Key terms are emphasized as follows:  When a conceptual term is introduced and defined, it appears in italics.  User interface elements appear in bold type.  Part features (attributes, actions, and events) appear in italics.  Code segments appear in a Courier font. ═══ 1.6. How to Use Part Information ═══ Part chapters cover the following topics:  Part Description  Building Guidelines  Personal Notes  Attributes  Actions  Events  Settings Some of these topics do not apply to all parts. Most parts have attributes and actions, but some do not have events. Class interface parts do not support notification and, therefore, have no events. Generally, class interface parts do not have settings defined. Part building guidelines are provided for fully enabled parts and for class interface parts on the parts palette, but they are not provided for other class interface parts. ═══ Part Description ═══ The part description topic provides model, graphic, and text descriptions of the part. Model description The following part model information is provided: Title The part title appears in the status area of the Composition Editor when the part is selected on the parts palette. Class name Identifies the class supporting the part. The class name provides a link to the class description in the IBM Open Class Library Reference. Base part Identifies the parent part. Part type Identifies the part as a class interface, nonvisual, or visual part. Part file Identifies the data file containing the part definition. You load this data file into the Composition Editor to use the part. Graphic description For fully enabled parts and for class interface parts on the parts palette, a graphic representation of the part as it appears on the free-form surface is included. Text description The text description of the part covers the following points:  What the part is  What the user can do with the part  What to use the part for in your applications ═══ Building Guidelines ═══ The building guidelines give you information about using Visual Builder part settings and features for some common tasks related to building composite parts. The guidelines describe the use of many attributes, actions, events, and settings in support of these tasks. These guidelines are intended to be representative rather than comprehensive. They focus on common building tasks particularly applicable to each part. You can generally perform many tasks when building with a Visual Builder part that are not described for the part. For example, enabling and disabling actions are common to controls in general but are described only for buttons, check boxes, and menu items. ═══ Personal Notes ═══ You can add personal documentation notes for Visual Builder parts. Use the personal notes icon at the bottom of the part menu to open a file for the part. ═══ Attributes ═══ The attributes section contains a table of all attributes of the part. The table includes attributes inherited by the part from its parent hierarchy. The attributes are listed in alphabetical order. The Attribute column gives the name of each attribute. The attribute name is also the name of the get member function for the attribute. The get member function retrieves the attribute value. The names of attributes defined in this part are emphasized as follows: localAttribute. A hypertext link on the attribute name provides access to the get member function description in the IBM Open Class Library Reference. The S column indicates whether the attribute can be set. If the attribute can be set, a ■ appears in the S column. This means that you can add a connection in the Composition Editor to set the value. A set member function assigns the attribute value. A hypertext link on the ■ provides access to the set member function description in the IBM Open Class Library Reference. The E column indicates whether the attribute supports connections that provide the new attribute value when the value changes. If the attribute supports these connections, a ■ appears in the E column. This means that you can add a connection in the Composition Editor to get the new value when the value changes. When the attribute value changes, an attribute-change event is sent. A notification ID identifies the attribute-change event. A hypertext link on the ■ provides access to the notification ID description in the IBM Open Class Library Reference. The Data type column gives the data type of each attribute. Visual Builder provides attribute implementation information, including member function signatures, in the Composition Editor. To view this information, open the part contextual menu by clicking mouse button 2 on the part. Then, select the Browse Part Features choice on the menu. ═══ Actions ═══ The actions section contains a table of all actions of the part. The table includes actions inherited by the part from its parent hierarchy. The actions are listed in alphabetical order. The Action column gives the name of each action. The action name is also the name of the action member function. The action member function performs the action. The names of actions defined in this part are emphasized as follows: localAction. A hypertext link on the action name provides access to the action member function description in the IBM Open Class Library Reference. The Parameters column shows parameters for the action. The parameter list shows the type of each parameter. If the action has no parameters, "None" appears in the Parameters column. Visual Builder provides action implementation information, including member function signatures, in the Composition Editor. To view this information, open the part contextual menu by clicking mouse button 2 on the part. Then, select the Browse Part Features choice on the menu. ═══ Events ═══ The events section contains a table of all events of the part. The table includes events inherited by the part from its parent hierarchy. The events are listed in alphabetical order. The Event column gives the name of each event. The names of events defined in this part are emphasized as follows: localEvent. The Notification ID column shows the notification ID that identifies the event. Notification IDs provided by the class appear in mixed case. Notification IDs implemented by Visual Builder appear in upper case. For notification IDs provided by the class, a hypertext link provides access to the notification ID description in the IBM Open Class Library Reference. Visual Builder provides event implementation information, including any parameters, in the Composition Editor. To view this information, open the part contextual menu by clicking mouse button 2 on the part. Then, select the Browse Part Features choice on the menu. ═══ Settings ═══ Part settings information describes the settings on each of the following settings pages defined for the part:  General  Control  Styles  Handlers  Color  Size/Position  Font Settings pages are presented in their order of appearance in the settings notebook. Some parts have only a single part settings page, named as the part type. These settings pages are not described. The settings for each settings page are presented in the order of their appearance on the page. Each setting is briefly described and its default value, if any, is indicated. ═══ 1.7. What Parts Are Here? ═══ This reference covers parts from the following part data files:  vbbase.vbb  vbmm.vbb This reference does not discuss abstract parts unless they are implemented by Visual Builder and presented on the parts palette. A few concrete parts used by Visual Builder are also omitted. You should not use these parts:  IFlyText  IMenuBar  INotebook::PageSettings  IPopUpMenu  IStandardNotifier  ISubmenu  IVBMinSize  IVBTitle A few parts are provided as handlers that you can specify on the Handlers settings page of various parts. You should not use these handler parts in any other way:  IVBCheckMenuHandler  IVBDragDropHandler  IVBMinSizeViewPortHandler  IVBPopupMenuHandler ═══ 1.8. How to Use the Contents ═══ When the Contents window first appears, some topics have a plus (+) sign beside them. The plus sign indicates that additional topics are available. To expand the Contents if you are using a mouse, click on the plus sign. If you are using the keyboard, use the Up or Down arrow key to highlight the topic, and press the plus (+) key. For example, How to Use the Contents has a plus sign beside it. To see additional topics for that heading, click on the plus sign or highlight that topic and press the plus (+) key. To view a topic, double-click on the topic (or press the Up or Down arrow key to highlight the topic, and then press the Enter key). ═══ 1.9. How to Obtain Additional Information ═══ After you select a topic, the information for that topic appears in a window. Highlighted words or phrases indicate that additional information is available. Certain words and phrases are highlighted in a different color from the surrounding text. These are called hypertext terms. If you are using a mouse, double-click on the highlighted word. If you are using a keyboard, press the Tab key to move to the highlighted word, and then press the Enter key. Additional information then appears in a window. ═══ 1.10. How to Use Action Bar Choices ═══ Several choices are available for managing the information presented in this document. There are three menus on the action bar: the Services menu, the Options menu, and the Help menu. The actions that are selectable from the Services menu operate on the active window currently displayed on the screen. These actions include the following: Placing Bookmarks You can set a placeholder so you can retrieve information of interest to you. Searching for Information You can find occurrences of a word or phrase in the current topic, selected topics, or all topics. Printing Information You can print one or more topics. You can also print a set of topics by first marking the topics in the Contents list. Copying Information to a File You can copy a topic that you are viewing to the System Clipboard or to a file that you can edit. This method is particularly useful for copying syntax definitions and program samples into the application that you are developing. Using the actions that are selectable from the Options menu, you can change the way your Contents list is displayed. To expand the Contents and show all levels for all topics, choose Expand all from the Options pull-down. You can also press the Ctrl and * keys together. The actions that are selectable from the Help menu allow you to select different types of help information. For information about any of the menu choices, highlight the choice in the menu and press F1. ═══ Placing Bookmarks ═══ When you place a bookmark on a topic, it is added to a list of bookmarks you have previously set. You can view the list, and you can remove one or all bookmarks from the list. If you have not set any bookmarks, the list is empty. To set a bookmark, do the following: 1. Select a topic from the Contents. 2. When that topic appears, select the Bookmark option from the Services menu. 3. If you want to change the name used for the bookmark, type the new name in the field. 4. Click on the Place radio button (or press the Up or Down arrow key to select it). 5. Click on OK (or select it and press Enter). The bookmark is then added to the bookmark list. ═══ Searching for Information ═══ You can specify a word or phrase to be searched. You can also limit the search to a set of topics by first marking the topics in the Contents list. To search for a word or phrase in all topics, do the following: 1. Select the Search option from the Services menu. 2. Type the word or words to be searched for. 3. Click on All sections (or press the Up or Down arrow keys to select it). 4. Click on Search (or select it and press Enter) to begin the search. 5. The list of topics where the word or phrase appears is displayed. ═══ Printing Information ═══ You can print one or more topics, the index, or the table of contents. Make sure that your printer is connected to the serial port, configured correctly, and ready for input. To print: 1. Select Print from the Services pull-down. 2. Select what you want to print. Note that the "This section" and "Marked sections" choices are only available if you are viewing a topic or if you have marked topics, respectively. To mark topics in the table of contents, press the Ctrl key and click on the topics, or use the arrow keys. 3. Select Print to print what you've chosen on your printer. ═══ Copying Information to a File ═══ You can copy a topic that you are viewing in two ways:  Copy copies the topic that you are viewing into the System Clipboard. If you are using a Presentation Manager (PM) editor (for example, the Enhanced Editor) that copies or cuts (or both) to the System Clipboard, and pastes to the System Clipboard, you can easily add the copied information to your program source module.  Copy to file copies the topic that you are viewing into a temporary file named TEXT.TMP. You can later edit that file by using any editor. TEXT.TMP is placed in the directory where your viewable document resides. To copy a topic, do the following: 1. Expand the Contents list and select a topic. 2. When the topic appears, select Copy to file from the Services menu. 3. The system puts the text pertaining to that topic into the temporary file TEXT.TMP. ═══ 1.11. How to Cut and Paste Examples ═══ You can copy examples (or information) from this reference/guide/book to compile, link, and run them, or to paste them into your own code. To copy an example or information: 1. Make the topic you want to copy the active window. 2. From the Services menu, select Copy to file. The text in that topic is placed in the temporary file TEXT.TMP, in the same directory as this reference. 3. You can then modify or use TEXT.TMP as you want. Note: Because the system copies the entire contents of the topic to the file, you may need to edit it to remove additional text. Most examples in this reference are ready to compile, link, and run as they appear, and do not require any editing. ═══ 1.12. Other Information You Might Find Helpful ═══ This product provides a number of online guides and references that we hope you'll find helpful as you develop applications. This information includes User's Guides, References, and How Do I help that gives you specific instructions for performing common tasks. You can get to this online information from the Information folder inside the main product folder. You can also get to it from the Help menu in any of the components of the product. ═══ 1.13. Communicating Your Comments to IBM ═══ If there is something you like, or dislike, about this book, please let us know. You can use one of the methods listed below to send your comments to IBM. Please be sure to include the complete title of the publication that you are commenting on. The comments you send should only pertain to the information in this document and its presentation. To request additional publications or to ask questions or make comments about the functions of IBM products or systems, you should talk to your IBM representative or you authorized IBM remarketer. When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any way it believes appropriate without incurring any obligation to you. You can send your comments to IBM in the following ways:  By mail to the following address: IBM Canada Ltd. Laboratory Information Development 2G/345/1150/TOR 1150 EGLINTON AVENUE EAST NORTH YORK, ONTARIO CANADA M3C 1H7  By FAX to the following number: - United States and Canada: (416) 448-6161 - Other countries (+1) 416-448-6161  By electronic mail to one of the following IDs. Be sure to include your entire network address if you wish to get a reply. - Internet: torrcf@vnet.ibm.com - IBMLink: toribm(torrcf) - IBM/PROFS: torolab4(torrcf) - IBMMAIL: ibmmail(caibmwt9 ═══ 2. Basic Concepts ═══ The following chapters introduce concepts related to the part interface and the notification framework. ═══ 2.1. The Part Interface ═══ Topics:  The Part Interface  Features  Connections ═══ The Part Interface ═══ Visual Builder packages classes as parts. The part interface gives you the means to work visually with classes through standard features and connections. Fully enabled parts can notify each other of value or state changes that occur in them. Class interface parts provide limited features and support connections but cannot send notifications. For information on implementing parts and features, refer to Building VisualAge C++ Parts for Fun and Profit. ═══ Features ═══ Part interface features organize class members as elements of attributes, actions, and events. These features have the following characteristics:  An attribute is a property of a part. Class member functions enable you to get and set the property. Most attributes can be set as well as queried. Many attributes also have notification IDs that are used to report attribute changes.  An action is a behavior of a part. A class member function performs the part behavior.  An event informs other parts of an occurrence in a part. A notification ID identifies the event. ═══ Connections ═══ Part connections give you the ability to visually relate part features in the following ways:  An attribute-to-action connection maps an attribute to an action. When the attribute value is changed, the action is performed.  An attribute-to-attribute connection maps an attribute to another attribute. When the source attribute value is changed, the other attribute is updated with the same value.  An event-to-action connection maps an event to an action. When the event occurs, the action is performed.  An event-to-attribute connection maps an event to an attribute. When the event occurs, the attribute is updated with a new value.  An event-to-member-function connection maps an event to a class member function. When the event occurs, the member function is called.  A parameter connection maps a value to a parameter on another connection. The parameter connection can be made between the parameter and any of the following: - an attribute - an action - a member function - custom logic For more information on connections, refer to the Visual Builder User's Guide. The Notification Framework describes class support for these connections. ═══ 2.2. The Notification Framework ═══ Topics:  The Notification Framework  Events, Notifiers, and Observers  Attribute Notifications  Event Notifications ═══ The Notification Framework ═══ The notification framework supports communication among parts for attribute changes and other events. This communication enables visual connections in the Composition Editor. As a visual application builder, you need not be concerned with implementation details of the notification framework. Visual Builder provides this support for visual connections. Be aware, however, that you can make connections only from attributes with notification IDs and from events. All part interface events have notification IDs. For more information on implementing notifications, refer to Building VisualAge C++ Parts for Fun and Profit. ═══ Events, Notifiers, and Observers ═══ In this section, "event" is used in the general sense. It represents either an attribute-change event or an event feature of the part interface. A part in which an event occurs can notify other parts about the event. The reporting part is called the notifier. Each part to be notified of an event is registered as an observer of the event. The addObserver action performs this function. The notifier informs observers of an event by using the notifyObservers action. A notification ID identifies the event, and notification data, if any, provides additional information. A notifier can enable and disable notification of observers. The enableNotification action turns on notification for a part, and disableNotification turns it off. ═══ Attribute Notifications ═══ Notifications are commonly used to inform observers when an attribute value changes. A notifier sends this notification when an attribute is changed and the attribute has a notification ID. The notifier sends the new attribute value as notification data. ═══ Event Notifications ═══ Notifications are used to inform observers when an event defined by the part interface occurs. The notifier can send information about some events as notification data. ═══ 3. Visual and Nonvisual Parts ═══ The following chapters provide information on visual and nonvisual parts, which are fully enabled parts. Chapters on class interface parts on the parts palette also appear in this section. ═══ 3.1. IAnimatedButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IAnimatedButton ═══ Title: IBM animated button control Class name: IAnimatedButton Base part: ICustomButton Part type: Visual part Part file: vbbase.vbb An IAnimatedButton part is a selection button for an action. The choice is identified by a graphic on the animated button. The user can click the animated button to perform the indicated function. When the action is selected, the graphic on the button is replaced by a cyclic series of graphics. This gives the appearance of animation on the button while the requested action is performed. Use an IAnimatedButton part to give the user an action choice that shows action when it is selected. A multimedia play button with a disk that spins when pressed is an example of an animated button. ═══ Building Guidelines - IAnimatedButton ═══ When building with an IAnimatedButton part, you can do the following:  Assign animation bitmaps to the animated button. Do this by setting the Bitmap field on the IAnimatedButton General settings page. You can either select a bitmap identifier, such as the play identifier, or specify a resource range to set the Bitmap field.  Set the animation rate for the graphic sequence on the button. Do this by setting the Animation rate field on the IAnimatedButton General settings page.  Give the button the appearance of remaining latched down while it is active. This simulates the behavior of such controls as a play button. Do this by setting the latchable field on the IAnimatedButton Styles settings page.  Allow the user to reach the button by using a tab key. Do this by setting the tabStop field to On on the IAnimatedButton Styles settings page.  If the button is the first control in a group, allow the user to use cursor keys to move between the button and follow controls in the group. Do this by setting the group field to On on the IAnimatedButton Styles settings page.  Start the action represented by the button. Do this by connecting the IAnimatedButton buttonClickEvent feature to the action on the target part. For example, to start the play action of an IMMAudioCD, connect the IAnimatedButton buttonClickEvent feature to the IMMAudioCD play action.  Enable or disable the animated button when an event occurs. Enable the button as follows: 1. Connect the event to the IAnimatedButton enable action. 2. The button is enabled by default. If you have changed this default, open settings for the connection, press the Set parameters push button, and check the Enabled setting. Disable the button by connecting the event to the IAnimatedButton disable action. ═══ Attributes - IAnimatedButton ═══ Attribute S E Data type activeColor ■ ■ IColor allowsMouseClickFocus ■ Boolean animatedWhenLatched Boolean animationRate ■ unsigned long animationStarted Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoLatchEnabled ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean bitmap IBitmapHandle bitmapCount unsigned long borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean currentBitmapIndex unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* latched ■ ■ Boolean latchedBackgroundColor ■ IColor latchedBackgroundColorHalftone Boolean latchedForegroundColor ■ IColor latchingEnabled ■ Boolean layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long userData ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IAnimatedButton ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean click None convertToGUIStyle IBitFlag&, Boolean disable None disableAnimateWhenLatched None disableAutoLatch None disableGroup None disableLatching None disableMouseClickFocus None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableAnimateWhenLatched Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetLatchedBackgroundColor None resetLatchedForegroundColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setBitmaps IResourceId&, unsigned long setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean startAnimation unsigned long stopAnimation None unhighlight None unlatch None ═══ Events - IAnimatedButton ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IAnimatedButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Latched Sets the part to the latched state. Default value: Not selected Animation rate Sets the current animation rate for the part. Default value: 1,000 Bitmap Specifies the bitmap to be used. Default value: Identifier Identifier list Sets a list of identifers for the part. Default value: The first item in the list is selected by default. DLL name Specifies the name of the resource .dll that contains the bitmap. Default value: None Resource ID Specifies the resource identifier of the bitmap. Default value: None Bitmap count Specifies the number of bitmaps to be used. Default value: 1 ═══ Control Settings - IAnimatedButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IAnimatedButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected animateWhenLatched Sets the style for the part to the latched state. Default value: Not selected latchable Sets the default style to the latchable state. Default value: The Default radio button is selected. autoLatch Sets the default style for the part the automatic latch state. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IAnimatedButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IAnimatedButton ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IAnimatedButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IAnimatedButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.2. IBitmapControl ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IBitmapControl ═══ Title: IBM bitmap control Class name: IBitmapControl Base part: IStaticText Part type: Visual part Part file: vbbase.vbb An IBitmapControl part draws a graphical image on the background of another part. The user does not use the bitmap for any action. Use an IBitmapControl part to provide a picture for graphical application data. Be aware that a bitmap is resized on either a set canvas or a multicell canvas when the canvas is resized. ═══ Building Guidelines - IBitmapControl ═══ When building with an IBitmapControl part, you can do the following:  Assign a bitmap to the control. Do this by setting the DLL name and Resource ID fields on the IBitmapControl General settings page.  Show or hide the bitmap when an event occurs. Show the bitmap as follows: 1. Connect the event to the IBitmapControl show action. 2. Open settings for the connection, press the Set parameters push button, and check the visible setting. Hide the bitmap by connecting the event to the IBitmapControl disable action. ═══ Attributes - IBitmapControl ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean bitmap ■ IBitmapHandle borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean fillBackground ■ ■ Boolean fillColor ■ ■ IColor focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean halftone ■ ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ ■ unsigned long menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize strikeout ■ ■ Boolean tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long underscore ■ ■ Boolean valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IBitmapControl ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableFillBackground None disableGroup None disableHalftone None disableNotification None disableStrikeout None disableTabStop None disableUnderscore None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFillColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IBitmapControl ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IBitmapControl ═══ DLL name Sets the name of the DLL file to be loaded. Default value: None Resource Id Sets the resource identifier for the part. Default value: 0 Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 0 Alignment Changes the alignment of the part. Default value: Upper left Word wrap Enables word wrap of text around at the end of a line. Default value: Not selected ═══ Control Settings - IBitmapControl ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IBitmapControl ═══ defaultStyle() Resets the part to the original default style. Default value: Selected sizeToBitmap Sizes the window to the size of the currently set bitmap. Default value: The Default radio button is selected. mnemonic Draws the next character with mnemonic emphasis if a mnemonic prefix character is found. Default value: The Default radio button is selected. fillBackground Erases the background, using the currently set fill color before drawing the text. Default value: The default is on, and the Default radio button is selected. halftone Draws the text in halftone color. Default value: The default is off, and the Default radio button is selected. strikeout Draws the text with overstriking. Default value: The default is off, and the Default radio button is selected. underscore Draws the text with underscoring. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IBitmapControl ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IBitmapControl ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the static text. Default value: Red=0, Green=0, Blue=170 ═══ Size/Position Settings - IBitmapControl ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IBitmapControl ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.3. ICanvas ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ICanvas ═══ Title: ICanvas Class name: ICanvas Base part: IControl Part type: Visual part Part file: vbbase.vbb An ICanvas part is 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. The user interacts with controls placed on a canvas, not with the canvas itself. Use an ICanvas part to fill in a framework, such as one of the following:  The client area of a frame window  A view port  A notebook page You can then place other parts on the canvas, effectively placing the parts within the framework. You can also use a canvas as the base part for a composite part. Then, you can add the canvas with its controls as a subpart on a canvas in another composite part. The placement and size of controls on an ICanvas is fixed. They are not adjustable for different display resolutions or for national language support. Alternatively, use one of the following canvases:  ISplitCanvas for split windows  ISetCanvas for canvas cells in uniform rows or columns  IMultiCellCanvas to provide freely arranged canvas cells ═══ Building Guidelines - ICanvas ═══ When building with an ICanvas part, you can do the following:  Add a handler for all parts on the canvas. Do this as follows: - Add the handler name and parameters in the Handler list field on the ICanvas Handlers settings page. - Type the .hpp file name for the handler in the Class Editor Required include files field.  Change the font for all parts on the canvas. Do this by selecting a font on the ICanvas Font settings page.  Change the background color of the canvas. Do this by selecting a color from the Colors field or by setting RGB values in the RGB values field on the ICanvas Color settings page. ═══ Attributes - ICanvas ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle origDefaultButtonHandle IWindowHandle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ICanvas ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - ICanvas ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ICanvas ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - ICanvas ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ICanvas ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ICanvas ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ICanvas ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - ICanvas ═══ X field Sets the X coordinate of the part if it is not the client part. Default value: Not available Y field Sets the Y coordinate of the part if it is not the client part. Default value: Not available Width Sets the width of the canvas, if it is not the client part. Default value: Not available Height Sets the height of the canvas, if it is not the client part. Default value: Not available 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ICanvas ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.4. ICheckBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ICheckBox ═══ Title: IBM 2-state check-box control Class name: ICheckBox Base part: ISettingButton Part type: Visual part Part file: vbbase.vbb An ICheckBox part is a square box with text that represents a settings choice. A mark in the check box indicates that the choice is selected. The user can select a choice by selecting an unmarked check box. The user can deselect the choice by selecting it again, unmarking the check box. Use an ICheckBox part to provide a settings choice that has two clearly distinguishable states, for example, on and off. Use check boxes in a group to provide multiple choices that are not mutually exclusive. Alternatively, use a group of IRadioButton parts for a set of mutually exclusive choices. ═══ Building Guidelines - ICheckBox ═══ When building with an ICheckBox part, you can do the following:  Set the text for the check box. Do this by entering the text you want in the Text field on the ICheckBox General settings page.  Set the initial state of the check box. Do this by selecting or deselecting the Selected field on the ICheckBox General settings page. To initially select your check box, make sure the Selected field check box is checked. If it is not checked, click on it with mouse button 1 to select it. To initially not select your check box, make sure the Selected field check box is not checked. If it is checked, click on it with mouse button1 to deselect it.  Allow the user to reach the check box by using a tab key. Do this by setting the tabStop field to On on the ICheckBox Styles settings page.  If the check box is the first control in a group, allow the user to use cursor keys to move between the check box and follow controls in the group. Do this by setting the group field to On on the ICheckBox Styles settings page.  Enable or disable another control when the user selects the check box. Enable the other control by connecting the ICheckBox selected attribute to the enabled attribute of the other control. When the user deselects the check box, the other control is disabled. Disable the other control by connecting the ICheckBox selected attribute to the value attribute of an IVBBooleanPart and then connecting the IVBBooleanPart notValue attribute to the enabled attribute of the other control. When the user deselects the check box, the other control is enabled. IVBBooleanPart is available in the vbsample.vbb file.  Enable or disable the check box when an event occurs. Enable the check box as follows: 1. Connect the event to the ICheckBox enable action. 2. The check box is enabled by default. If you have changed this default, open settings for the connection, press the Set parameters push button, and check the Enabled setting. Disable the check box by connecting the event to the ICheckBox disable action. ═══ Attributes - ICheckBox ═══ Attribute S E Data type activeColor ■ ■ IColor allowsMouseClickFocus ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoSelect ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle selected ■ Boolean shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ICheckBox ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean click None convertToGUIStyle IBitFlag&, Boolean deselect None disable None disableAutoSelect None disableGroup None disableMouseClickFocus None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean unhighlight None ═══ Events - ICheckBox ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ICheckBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Selected Sets the selection state of the item to selected. Default value: Not selected ═══ Control Settings - ICheckBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ICheckBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected autoSelect Lets the user change the current selection by moving the cursor. Default value: The default is on, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ICheckBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ICheckBox ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ICheckBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ICheckBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.5. ICircularSlider ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Size/Position Font Personal Notes ═══ Part Description - ICircularSlider ═══ Title: IBM circular slider control Class name: ICircularSlider Base part: ITextControl Part type: Visual part Part file: vbbase.vbb An ICircularSlider part shows a range of selection values. A circular dial represents the range of values. A slider arm marks the selected value. The user moves the arm around the dial to change the selected value. The user can move the arm in any of the following ways:  Drag it with the mouse.  Click or press a slider button to move the arm in the direction indicated on the button. This moves the arm by rotation increments defined for the slider.  Click on a tick mark representing a value in the slider range to move the arm directly to the tick mark. Use an ICircularSlider part to provide a range of seemingly nondiscrete selection values, such as degrees of brightness or loudness. ═══ Building Guidelines - ICircularSlider ═══ When building with an ICircularSlider part, you can do the following:  Define the value scale for the circular slider. Do this as follows: - Define the value range for the circular slider. Do this by entering Arm Range values in the Lower and Upper fields on the ICircularSlider General settings page. - Determine the rotation increment for arm movement. Do this by entering an increment value in the Rotation increment field on the ICircularSlider General settings page.  Define an initial value for the circular slider. Do this by entering a value in the Current value field on the ICircularSlider General settings page. The arm is initially positioned at this value.  Provide the selected value to an attribute in another part or to an action parameter. Do this by connecting the ICircularSlider value attribute to the target attribute or action connection parameter. ═══ Attributes - ICircularSlider ═══ Attribute S E Data type activeColor ■ ■ IColor armRange ■ IRange asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle radius unsigned long rect ■ IRectangle rotationIncrement ■ unsigned long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long tickSpacing ■ unsigned long valid Boolean value ■ ■ long valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ICircularSlider ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setDecrementBitmaps IBitmapHandle&, IBitmapHandle& setFocus None setIncrementBitmaps IResourceId&, IResourceId& setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - ICircularSlider ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ICircularSlider ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Lower Sets the lower range of the slider dial. Default value: 0 Upper Sets the higher range of the slider dial. Default value: 0 Rotation increment Sets the incremental value by which the user can rotate the dial by turning it with the mouse. Default value: 1 Current value Sets the current incremental value by which the user can rotate the dial. Default value: 15 ═══ Control Settings - ICircularSlider ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ICircularSlider ═══ defaultStyle() Resets the part to the original default style. Default value: Selected buttons Sets the the style for the circular slider buttons. Default value: The Default radio button is selected. displayValue Displays the currently selected value on the dial for the part. Default value: The Default radio button is selected. jumpToPointer Sets the value to the point you select on the dial by clicking on it. Default value: The Default radio button is selected. full360 Sets the dial so the user can turn it up to 360 degrees. Default value: The Default radio button is selected. midpoint Displays a mark at the midpoint on the dial. Default value: The Default radio button is selected. proportionalTicks Sets the tick marks to be porportional to the values possible on the dial. Default value: The Default radio button is selected. noTicks Does not display tick marks on the dial. Default value: The Default radio button is selected. circularArm Sets the indicator to appear as a dial. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ICircularSlider ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Size/Position Settings - ICircularSlider ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ICircularSlider ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.6. ICollectionViewComboBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ICollectionViewComboBox ═══ Title: IBM collection combination-box control Class name: ICollectionViewComboBox Base part: IBaseComboBox Part type: Visual part Part file: vbbase.vbb An ICollectionViewComboBox part is a selection list and entry field for collection object choices. With an ICollectionViewComboBox, the user can select an object from the list box. Unless you prevent input in the entry field, the user can also do either of the following:  Type the beginning of a selection that is in the list. The closest match from the list is used.  Type 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 click a drop-down button to open it. Use one of the following ICollectionViewComboBox types to give the user object selection choices: Drop-down Allows the user to type a choice or to select a choice from a drop-down list. Read-only drop-down Allows the user only to select a choice from a drop-down list. Simple Allows the user to type a choice or to select a choice from a list that is always displayed. Alternatively, for object selection only from a list that is always displayed, use an ICollectionViewListBox part. You can provide either single or multiple selection with a list box part. For selection of strings rather than objects in a collection, use an IComboBox part or an IListBox part. ═══ Building Guidelines - ICollectionViewComboBox ═══ When building with an ICollectionViewComboBox part, you can do the following:  Select a collection object combination box type. Do this by selecting one of the following choices in the Combo box type field on the ICollectionViewComboBox General settings page: - Simple for a combination box with the list always open - Drop-down for a drop-down combination box with an editable entry field - Read-only drop-down for a drop-down combination box with a read-only entry field  Define the type of object supported by the combination box. Do this by entering a pointer to the part type (part type and *) in the Item type field on the ICollectionViewComboBox General settings page.  Define the type of collection containing the objects. The collection type is defined by the Collection type field on the ICollectionViewComboBox General settings page. The default collection type is IVSequence. If you are providing support for another collection type that you want to use, enter the type in this field. The vbcc.vbb data file contains examples of other collection types you could use.  Identify a function or class that provides strings for list items. Do this in either of the following ways: - Provide an asString override function that produces the text you want for the collection object class. The function could retrieve and return a key text attribute for the object. - Provide a string generator class that produces the text you want for the collection object class. The string generator could retrieve and return a key text attribute for the object. The generator class must be derived from the collection object class and must be a template class. If you use a string generator, enter the name of the generator class in the String generator field on the ICollectionViewComboBox General settings page. If this field is left empty, the default string generator calls asString for each collection object.  Define initial selection choices for the combination box. Do this by connecting the this attribute of a collection part containing the choices to the ICollectionViewComboBox items attribute. A collection part that has one template argument, such as an IVSequence part, must be used.  Define a default selection for the combination box. Do this by specifying the 1-based index of the selection in the Selection index field on the ICollectionViewComboBox General settings page. The corresponding choice in the collection part is the default selection.  Allow the user to reach the combination box by using a tab key. Do this by setting the tabStop field to On on the ICollectionViewComboBox Styles settings page.  Copy the text selection from the combination box to an entry field. Do this by connecting the ICollectionViewComboBox text attribute to the text attribute of the IEntryField.  Copy the index of the selection to a numeric field. Do this by connecting the ICollectionViewComboBox selection attribute to the target numeric field.  Add a new choice to the combination box list. Do this by adding the choice to the collection part that contains the choices.  Remove the selected choice from combination box list. Do this by removing the choice from the collection part that contains the choices. ═══ Attributes - ICollectionViewComboBox ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoScroll ■ Boolean autoTab ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor changed Boolean characterSize ISize charType ■ CharType clipboardHasTextFormat Boolean command ■ ■ Boolean count unsigned long cursorPosition ■ unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize empty Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hasSelectedText Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor horizontalScroll Boolean id ■ unsigned long inactiveColor ■ ■ IColor insertMode ■ ■ Boolean isDigits ■ itemProvider ■ IDMItemProvider* items ■ ■ Collection* layoutAdjustment IRectangle leftIndex ■ unsigned long limit ■ ■ unsigned long listShowing Boolean margin ■ Boolean menu messageQueue IMessageQueueHandle minimumRows ■ unsigned long minimumSize ■ ISize nativeRect IRectangle numberOfSelections unsigned long owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle readOnly Boolean rect ■ IRectangle selectedCollectionPosition unsigned long selectedElement Element selectedRange IRange selectedText IString selectedTextLength unsigned long selection long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize stringGenerator ■ IStringGenerator < Element >& tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long top ■ unsigned long type ControlType valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle writeable ■ ■ Boolean ═══ Actions - ICollectionViewComboBox ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean clear unsigned long collectionReplaced None convertToGUIStyle IBitFlag&, Boolean copy unsigned long cut unsigned long deselect unsigned long deselectAll None disable None disableAutoScroll None disableAutoTab None disableCommand None disableDataUpdate None disableGroup None disableInsertMode None disableMargin None disableNotification None disableTabStop None disableUpdate None discard None dispatchRemainingHandlers IEvent&, Boolean elementAdded unsigned long, Element& elementChanged unsigned long, Element& elementDeleted unsigned long elementsChanged None enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideList None hideSourceEmphasis None isLayoutDistorted unsigned long isSelected unsigned long itemHandle unsigned long itemText unsigned long locateText char*, Boolean, SearchType, unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& paste None positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeAll None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None select unsigned long, Boolean selectRange const IRange &range, unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setChangedFlag Boolean setFocus None setItemHandle unsigned long, unsigned long setItemText unsigned long, char*, Boolean setLayoutDistorted unsigned long, unsigned long show Boolean showList Boolean showSourceEmphasis Boolean ═══ Events - ICollectionViewComboBox ═══ Event Notification ID characterTypeEvent characterTypeId commandEvent commandId enterEvent enterId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID itemChangedEvent itemChangedId lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ICollectionViewComboBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Item type Specifies the part type of objects in the collection. Default value: None Collection type Specifies the part type of the collection. Default value: IVSequence* String generator Specifies the name of a string generator class that produces text to represent objects in the collection. Default value: None Auto scroll Enables automatic scrolling for the part. Default value: Not selected 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. Default value: Not selected Auto tab Generates a tab key when the part is filled by adding a character at the text limit of the part text. Default value: Not selected Insert mode Sets insert mode to on. Default value: Selected Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 260 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. Default value: Square Character type Sets the type of a character at a given index. Default value: Any ═══ Control Settings - ICollectionViewComboBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ICollectionViewComboBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected horizontalScroll Provides a horizontal scroll bar for the part. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ICollectionViewComboBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ICollectionViewComboBox ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ICollectionViewComboBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ICollectionViewComboBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.7. ICollectionViewListBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ICollectionViewListBox ═══ Title: ICollectionViewListBox Class name: ICollectionViewListBox Base part: IBaseListBox Part type: Visual part Part file: vbbase.vbb An ICollectionViewListBox part is a selection list for collection object 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. Use an ICollectionViewListBox part to provide a modifiable list of object choices for the user. Your application can add or remove choices from the list. Alternatively, for object selection from an entry field or a drop-down list, use one of the following ICollectionViewComboBox types: Drop-down Allows the user to type a choice or to select a choice from a drop-down list. Read-only drop-down Allows the user only to select a choice from a drop-down list. Simple Allows the user to type a choice or to select a choice from a list that is always displayed. You can provide only single selection with a combination box part. For selection of strings rather than objects in a collection, use an IComboBox part or an IListBox part. ═══ Building Guidelines - ICollectionViewListBox ═══ When building with an ICollectionViewListBox part, you can do the following:  Define the type of object supported by the list box. Do this by entering a pointer to the part type (part type and *) in the Item type field on the ICollectionViewListBox General settings page.  Define the type of collection containing the objects. The collection type is defined by the Collection type field on the ICollectionViewListBox General settings page. The default collection type is IVSequence. If you are providing support for another collection type that you want to use, enter the type in this field. The vbcc.vbb data file contains examples of other collection types you could use.  Identify a function or class that provides strings for list items. Do this in either of the following ways: - Provide an asString override function that produces the text you want for the collection object class. The function could retrieve and return a key text attribute for the object. - Provide a string generator class that produces the text you want for the collection object class. The string generator could retrieve and return a key text attribute for the object. The generator class must be derived from the collection object class and must be a template class. If you use a string generator, enter the name of the generator class in the String generator field on the ICollectionViewListBox General settings page. If this field is left empty, the default string generator calls asString for each collection object.  Define initial selection choices for the list box. Do this by connecting the this attribute of a collection part containing the choices to the ICollectionViewListBox items attribute. A collection part that has one template argument, such as an IVSequence part, must be used.  Allow the user to select more than one choice from the list. Do this by selecting the multipleSelection field on the ICollectionViewListBox Styles settings page.  Allow the user to reach the list box by using a tab key. Do this by setting the tabStop field to On on the ICollectionViewListBox Styles settings page.  Copy the selected object from the list box to an IVBVariable. Do this by connecting the ICollectionViewListBox selectedElement attribute to the text attribute of the variable.  Copy the index of the selection to a numeric field. Do this by connecting the ICollectionViewListBox selection attribute to the target numeric field.  Add a new choice to the list box. Do this by adding the choice to the collection part that contains the choices.  Remove the selected choice from the list box. Do this by removing the choice from the collection part that contains the choices. ═══ Attributes - ICollectionViewListBox ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize count unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor drawItem ■ Boolean empty Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean extendedSelect ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor horizontalScroll Boolean id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* items ■ ■ Collection* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumCharacters ■ unsigned long minimumRows ■ unsigned long minimumSize ■ ISize multipleSelect ■ Boolean nativeRect IRectangle noAdjustPosition ■ Boolean numberOfSelections unsigned long owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle selectedCollectionPosition unsigned long selectedElement Element selection long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize stringGenerator ■ IStringGenerator < Element >& tabStop ■ Boolean top ■ unsigned long valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ICollectionViewListBox ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean collectionReplaced None convertToGUIStyle IBitFlag&, Boolean deselect unsigned long deselectAll None disable None disableDrawItem None disableExtendedSelect None disableGroup None disableMultipleSelect None disableNoAdjustPosition None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean elementAdded unsigned long, Element& elementChanged unsigned long, Element& elementDeleted unsigned long elementsChanged None enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long isSelected unsigned long itemHandle unsigned long itemText unsigned long locateText char*, Boolean, SearchType, unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None select unsigned long, Boolean selectAll None selectedElements Collection& sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setItemHandle unsigned long, unsigned long setItemHeight unsigned long setItemText unsigned long, IResourceId& setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - ICollectionViewListBox ═══ Event Notification ID commandEvent commandId enterEvent enterId extendedSelectChangedEvent extendedSelectChangedId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID itemChangedEvent itemChangedId lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ICollectionViewListBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Item type Specifies the part type of objects in the collection. Default value: None Collection type Specifies the part type of the collection. Default value: IVSequence* String generator Specifies the name of a string generator class that produces text to represent objects in the collection. Default value: None ═══ Control Settings - ICollectionViewListBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ICollectionViewListBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected Draw item Allows the menu item to be drawn. Default value: Not selected horizontalScroll Provides a horizontal scroll bar for the part. Default value: The default is on, and the Default radio button is selected. multipleSelect Sets the style of the part to multiple selection mode. Default value: The default is off, and the Default radio button is selected. noAdjustPosition Restricts adjustment of the frame position of the part. As a result, certain aspects of enhanced performance by such alignment are lost. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ICollectionViewListBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ICollectionViewListBox ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ICollectionViewListBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ICollectionViewListBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.8. IComboBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IComboBox ═══ Title: IBM string combination-box control Class name: IComboBox Base part: IBaseComboBox Part type: Visual part Part file: vbbase.vbb An IComboBox part is a selection list and entry field for string choices. With an IComboBox, the user can select a string from the list box. Unless you prevent input in the entry field, the user can also do either of the following:  Type the beginning of a selection that is in the list. The closest match from the list is used.  Type 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 click a drop-down button to open it. Use one of the following IComboBox types to give the user string selection choices: Drop-down Allows the user to type a choice or to select a choice from a drop-down list. Read-only drop-down Allows the user only to select a choice from a drop-down list. Simple Allows the user to type a choice or to select a choice from a list that is always displayed. Alternatively, for string selection only from a list that is always displayed, use an IListBox part. You can provide either single or multiple selection with a list box part. For selection of objects in a collection rather than strings, use an ICollectionViewComboBox part or an ICollectionViewListBox part. ═══ Building Guidelines - IComboBox ═══ When building with an IComboBox part, you can do the following:  Select a string combination box type. Do this by selecting one of the following choices in the Combo box type field on the IComboBox General settings page: - Simple for a combination box with the list always open - Drop-down for a drop-down combination box with an editable entry field - Read-only drop-down for a drop-down combination box with a read-only entry field  Define initial selection choices for the combination box. Do this by entering the choices in the Contents field on the IComboBox General settings page.  Define a default selection for the combination box. Do this by specifying the 0-based index of the selection in the Selection index field on the IComboBox General settings page. The corresponding choice in the Contents field is the default selection.  Allow the user to reach the combination box by using a tab key. Do this by setting the tabStop field to On on the IComboBox Styles settings page.  Copy the text selection from the combination box to an entry field. Do this by connecting the IComboBox text attribute to the text attribute of the IEntryField.  Copy the index of the selection to a numeric field. Do this by connecting the IComboBox selection attribute to the target numeric field.  Add a new choice to the combination box list from the entry field when a push button is pressed. Add the choice to the end of the list. Do this as follows: 1. Connect the IPushButton buttonClickEvent feature to the addAsLast action of the IComboBox. 2. Connect the IComboBox text attribute to the text parameter of the buttonClickEvent-to-addAsLast connection. This provides the entry field text as the parameter for the addAsLast action.  Remove the selected choice from the combination box list when a push button is pressed. Do this as follows: 1. Connect the IPushButton buttonClickEvent feature to the remove action of the IComboBox. 2. Connect the IComboBox selection attribute to the index parameter of the buttonClickEvent-to-remove connection. This provides the selection index as the parameter for the remove action. ═══ Attributes - IComboBox ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoScroll ■ Boolean autoTab ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor changed Boolean characterSize ISize charType ■ CharType clipboardHasTextFormat Boolean command ■ ■ Boolean count unsigned long cursorPosition ■ unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize empty Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hasSelectedText Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor horizontalScroll Boolean id ■ unsigned long inactiveColor ■ ■ IColor insertMode ■ ■ Boolean isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle leftIndex ■ unsigned long limit ■ ■ unsigned long listShowing Boolean margin ■ Boolean menu messageQueue IMessageQueueHandle minimumRows ■ unsigned long minimumSize ■ ISize nativeRect IRectangle numberOfSelections unsigned long owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle readOnly Boolean rect ■ IRectangle selectedRange IRange selectedText IString selectedTextLength unsigned long selection long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long top ■ unsigned long type ControlType valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle writeable ■ ■ Boolean ═══ Actions - IComboBox ═══ Action Parameters add unsigned long, char * const*, unsigned long addAscending char* addAsFirst char* addAsLast IResourceId& addDescending char* applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean clear unsigned long convertToGUIStyle IBitFlag&, Boolean copy unsigned long cut unsigned long deselect unsigned long deselectAll None disable None disableAutoScroll None disableAutoTab None disableCommand None disableDataUpdate None disableGroup None disableInsertMode None disableMargin None disableNotification None disableTabStop None disableUpdate None discard None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideList None hideSourceEmphasis None isLayoutDistorted unsigned long isSelected unsigned long itemHandle unsigned long itemText unsigned long locateText char*, Boolean, SearchType, unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& paste None positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& remove unsigned long removeAll None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None select unsigned long, Boolean selectRange const IRange &range, unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setChangedFlag Boolean setFocus None setItemHandle unsigned long, unsigned long setItemText unsigned long, char*, Boolean setLayoutDistorted unsigned long, unsigned long show Boolean showList Boolean showSourceEmphasis Boolean ═══ Events - IComboBox ═══ Event Notification ID characterTypeEvent characterTypeId commandEvent commandId enterEvent enterId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IComboBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Selection index Sets the index of the specified choice. Default value: -1 Auto scroll Enables automatic scrolling for the part. Default value: Not selected 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. Default value: Not selected Auto tab Generates a tab key when the part is filled by adding a character at the text limit of the part text. Default value: Not selected Insert mode Sets insert mode to on. Default value: Selected Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 260 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. Default value: Square Character type Sets the type of a character at a given index. Default value: Any Contents Sets initial items for the part. Default value: None ═══ Control Settings - IComboBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IComboBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected horizontalScroll Provides a horizontal scroll bar for the part. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IComboBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IComboBox ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IComboBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IComboBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.9. IContainerColumn ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Settings Pages General Styles Personal Notes ═══ Part Description - IContainerColumn ═══ Title: IBM column for container details view Class name: IContainerColumn Base part: IVBase Part type: Class interface part Part file: vbbase.vbb An IContainerColumn part is a column for the details view of a container. 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. Use an IContainerColumn part to define the heading and contents of a container details view column. ═══ Building Guidelines - IContainerColumn ═══ When building with an IContainerColumn part, you can do the following:  Add the column to a container control. Do this by selecting the IContainerColumn part from the parts palette and dropping the part on an IVBContainerControl. To gain access to the container column while building, select the showDetailsView choice in the View type field on the IVBContainerControl General settings page.  Define the column heading. Do this by entering the heading in the Heading text field on the IContainerColumn General settings page.  Determine what data appears in the column. Do this in the Column definition field on the IContainerColumn General settings page. To show the text title of each container item, select the Use Text attribute set in the Container setting. The text presentation is set on the IVBContainerControl General settings page. To show an icon for each container item, select the Use Icon attribute set in the Container setting. The icon specification is set on the IVBContainerControl General settings page. To show an attribute of each container item, select the Use an attribute from the part setting. Then, select a choice from the Attributes list box. Only text-related attributes are available as choices. ═══ Attributes - IContainerColumn ═══ Attribute S E Data type asDebugInfo IString asString IString date Boolean displayWidth ■ unsigned long headingIcon ■ IPointerHandle headingIconHandle Boolean headingString Boolean headingText ■ IString headingWriteable ■ Boolean helpId ■ unsigned long horizontalDataAlignment HorizontalAlignment horizontalHeadingAlignment HorizontalAlignment horizontalSeparator Boolean iconHandle Boolean number Boolean string Boolean time Boolean verticalDataAlignment VerticalAlignment verticalHeadingAlignment VerticalAlignment verticalSeparator Boolean visible ■ Boolean writeable ■ Boolean ═══ Actions - IContainerColumn ═══ Action Parameters dataAsDate IContainerObject* dataAsIcon IContainerObject* dataAsNumber IContainerObject* dataAsString IContainerObject* dataAsTime IContainerObject* disableDataUpdate None disableHeadingUpdate None hide None hideSeparators DataStyle& justifyData VerticalAlignment, HorizontalAlignment justifyHeading VerticalAlignment, HorizontalAlignment setDataOffset unsigned long showSeparators DataStyle& ═══ General Settings - IContainerColumn ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Heading text Sets the text for the column heading. Default value: None Width Sets the container column width. Default value: Determined by the size of column data. Column definition Sets the data to appear in the column. Default value: Foreground is selected Use Text attribute set in the Container Sets the title text to show for the container item. Default value: None Use Icon attribute set in the Container Sets the icon to show for the container item. Default value: None Use an attribute from the part Sets the attribute to show for the container item. Default value: None Attributes Lists the available text-related attributes that you can select from to assign to the column. Default value: No choice is selected. Attribute type Displays the data type of the selected attribute. Default value: None when no attribute choice is selected. Column type Lists the available column data types for the selected attribute. Default value: None when no attribute choice is selected. ═══ Styles Settings - IContainerColumn ═══ defaultHeadingStyle() Resets the part to the original default heading style. Default value: Selected readOnlyHeading Prevents entering input into the heading field. Default value: The default is off, and the Default radio button is selected. icon The heading is an icon. Default value: The default is off, and the Default radio button is selected. defaultDataStyle() Resets the part to the original default data style. Default value: Selected date The data is displayed in date format and is enabled for National Language Support. Default value: The default is off, and the Default radio button is selected. time The data is displayed in time format and is enabled for National Language Support. Default value: The default is off, and the Default radio button is selected. number The data is displayed as an unsigned long number. Default value: The default is off, and the Default radio button is selected. horizontalSeparator Provides a horizontal separator beneath the column heading. Default value: The default is on, and the Default radio button is selected. verticalSeparator Provides a vertical separator after the column. Default value: The default is on, and the Default radio button is selected. handleDrawItem Generates a draw item event to allow the application to draw the part. Default value: The Default radio button is selected. readOnly Prevents entering input into the field. Default value: The default is off, and the Default radio button is selected. invisible The column is invisible. Default value: The default is off, and the Default radio button is selected. icon The data is an icon. Default value: The default is off, and the Default radio button is selected. ═══ 3.10. ICustomButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ICustomButton ═══ Title: IBM custom button control Class name: ICustomButton Base part: IButton Part type: Visual part Part file: vbbase.vbb An ICustomButton part is a selection button for an action. The choice is identified by text on the custom button. Your application can customize a custom button. The user can click the custom button to perform the indicated function. Use an ICustomButton part to give the user an action choice button with the following capabilities:  The button can be customized.  The button can remain latched down when it is selected. A multimedia play button is an example of a custom button. ═══ Building Guidelines - ICustomButton ═══ When building with an ICustomButton part, you can do the following:  Assign text to the custom button. Do this by setting the Text field on the ICustomButton General settings page.  Assign a customization handler for the custom button. Do this by specifying an ICustomButtonDrawHandler on the ICustomButton Handlers settings page.  Give the button the appearance of remaining latched down while it is active. This simulates the behavior of such controls as a play button. Do this by setting the latchable field on the ICustomButton Styles settings page.  Allow the user to reach the button by using a tab key. Do this by setting the tabStop field to On on the ICustomButton Styles settings page.  If the button is the first control in a group, allow the user to use cursor keys to move between the button and follow controls in the group. Do this by setting the group field to On on the ICustomButton Styles settings page.  Start the action represented by the button. Do this by connecting the ICustomButton buttonClickEvent feature to the action on the target part.  Enable or disable the custom button when an event occurs. Enable the button as follows: 1. Connect the event to the ICustomButton enable action. 2. The button is enabled by default. If you have changed this default, open settings for the connection, press the Set parameters push button, and check the Enabled setting. Disable the button by connecting the event to the ICustomButton disable action. ═══ Attributes - ICustomButton ═══ Attribute S E Data type activeColor ■ ■ IColor allowsMouseClickFocus ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoLatchEnabled ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* latched ■ ■ Boolean latchedBackgroundColor ■ IColor latchedBackgroundColorHalftone Boolean latchedForegroundColor ■ IColor latchingEnabled ■ Boolean layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long userData ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ICustomButton ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean click None convertToGUIStyle IBitFlag&, Boolean disable None disableAutoLatch None disableGroup None disableLatching None disableMouseClickFocus None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetLatchedBackgroundColor None resetLatchedForegroundColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean unhighlight None unlatch None ═══ Events - ICustomButton ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ICustomButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Latched Sets the part to the latched state. Default value: Not selected ═══ Control Settings - ICustomButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ICustomButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected latchable Sets the default style to the latchable state. Default value: The Default radio button is selected. autoLatch Sets the default style for the part the automatic latch state. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ICustomButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ICustomButton ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ICustomButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ICustomButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.11. IEntryField ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IEntryField ═══ Title: IBM entry field control Class name: IEntryField Base part: ITextControl Part type: Visual part Part file: vbbase.vbb An IEntryField part is a single-line entry field. The user can type or place text into the entry field. Use an IEntryField part to let the user define or view a data item. Alternatively, use an IMultiLineEdit part for multiple-line data. ═══ Building Guidelines - IEntryField ═══ When building with an IEntryField part, you can do the following:  Prime the entry field with constant initial data. Do this by specifying the initial value in the Text field on the IEntryField General settings page.  Prime the entry field with variable initial data. Do this by connecting your data source to the text attribute. Your application should make this connection before it shows the frame window.  Make the entry field read-only to prevent the user from entering or modifying text. Do this by selecting the Read only field on the IEntryField Styles settings page.  Allow the user to reach the entry field by using a tab key. Do this by setting the tabStop field to On on the IEntryField Styles settings page.  Assign information to the entry field when an event occurs, such as a push button being pressed. Do this with an IEntryField part and an IPushButton as follows: 1. Connect the IPushButton buttonClickEvent feature to the IEntryField text attribute. 2. Connect the data source to the text parameter of the buttonClickEvent-to-text connection.  Copy or save the contents of the entry field when an event occurs, such as a push button being pressed. Do this with an IEntryField part and an IPushButton as follows: 1. Connect the IPushButton buttonClickEvent feature to the data destination. 2. Connect the IEntryField text attribute to the text parameter of the buttonClickEvent-to-destination connection. ═══ Attributes - IEntryField ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoScroll ■ Boolean autoTab ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor changed Boolean characterSize ISize charType ■ CharType clipboardHasTextFormat Boolean command ■ ■ Boolean cursorPosition ■ unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize empty Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hasSelectedText Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor insertMode ■ ■ Boolean isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle leftIndex ■ unsigned long limit ■ ■ unsigned long margin ■ Boolean menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle readOnly Boolean rect ■ IRectangle selectedRange IRange selectedText IString selectedTextLength unsigned long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle writeable ■ ■ Boolean ═══ Actions - IEntryField ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean clear unsigned long convertToGUIStyle IBitFlag&, Boolean copy unsigned long cut unsigned long disable None disableAutoScroll None disableAutoTab None disableCommand None disableDataUpdate None disableGroup None disableInsertMode None disableMargin None disableNotification None disableTabStop None disableUpdate None discard None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& paste None positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeAll None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None selectRange const IRange &range, unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setChangedFlag Boolean setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IEntryField ═══ Event Notification ID characterTypeEvent characterTypeId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IEntryField ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 32 Insert mode Sets insert mode to on. Default value: Selected 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. Default value: Left Character type Sets the type of a character at a given index. Default value: Any ═══ Control Settings - IEntryField ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IEntryField ═══ defaultStyle() Resets the part to the original default style. Default value: Selected unreadable Substitutes each character in the text with an asterisk. Default value: The Default radio button is selected. 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. Default value: The default is on, and the Default radio button is selected. autoTab Generates a tab key when the part is filled by adding a character at the text limit of the part text. Default value: The default is off, and the Default radio button is selected. command Generates a command event when the user selects the part. Default value: The Default radio button is selected. margin Sets the style so that a border is drawn around the entry field. Default value: The default is on, and the Default radio button is selected. readOnly Prevents entering input into the field. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IEntryField ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IEntryField ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IEntryField ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IEntryField ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.12. IFrameWindow ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IFrameWindow ═══ Title: IBM window with title bar and extensions Class name: IFrameWindow Base part: IWindow Part type: Visual part Part file: vbbase.vbb An IFrameWindow part is an application window that is a framework for user-interface controls. The user interacts with your application through the frame window. Use an IFrameWindow part as a primary or secondary window for your application. A primary window is the base window for your application. A secondary window is opened from the primary window or from another secondary window. A frame window can contain the following frame controls:  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 program uses the client area for the presentation and gathering of application data. The client area is occupied and managed by a client control. 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-hand side of the title bar area  The top or bottom of the client area ═══ Building Guidelines - IFrameWindow ═══ When building with an IFrameWindow part, you can do the following:  Define a title for the frame window. Do this by setting the Title text field on the IFrameWindow General settings page. Alternatively, use an ITitle part for the frame window title. If you use an ITitle part, you can change the frame window title after the window is created. The IFrameWindow Title text field has no effect if you use the ITitle part.  Attach a menu bar to the frame window. Do this as follows: 1. Select an IMenu part from the parts palette and drop it on the free-form surface. 2. Connect the IMenu this attribute to the IFrameWindow menu attribute.  Attach a tool bar frame extension to the frame window. Do this by selecting an IToolBar part from the parts palette and dropping it on the frame window. The tool bar is added at the top of the client area.  Attach an information area frame extension to the frame window. Do this by selecting an IInfoArea part from the parts palette and dropping it on the frame window. The information area is added at the bottom of the client area.  Change the client for the frame window. For example, you might want an IMultiCellCanvas client instead of the ICanvas client that is initially provided. Do this by clicking mouse button 2 on the canvas and then selecting the Delete option. Then, select the multicell canvas from the parts palette and drop it on the client area of the frame window. If you have controls on a client area canvas that you want to retain for the new client, move them to the free-form surface before you delete the old client. Then, place them on the new client after it is added.  Give the primary frame window ownership of each modal secondary window. For a static secondary window, do this by connecting the primary IFrameWindow this attribute to the secondary IFrameWindow owner attribute. For a secondary window created dynamically with an IVBFactory part, do this by connecting the primary IFrameWindow this attribute to the IVBFactory owner attribute.  Load data from your primary view into a secondary view. Do this by connecting objects in the primary view composite part to corresponding attributes of the secondary view composite part. The secondary view attributes are IVBVariables you have promoted to the interface of the composite part for the secondary view. These variables are connected to data fields within your secondary view composite part.  Open a secondary window from a menu item or push button in the primary window. If you are opening a static secondary window, do this as follows: 1. Connect the menu item commandEvent feature or the push button buttonClickEvent feature to the secondary IFrameWindow setFocus action. 2. Connect the commandEvent feature or the buttonClickEvent feature to the secondary IFrameWindow show action or showModally action. If you are dynamically creating a composite part for a secondary view with an IVBFactory part, do this as follows: 1. Connect the menu item commandEvent feature or the push button buttonClickEvent feature to the IVBFactory new action. 2. Add an IVBVariable for the secondary view composite part to your primary view composite part. 3. Connect the IVBFactory newEvent feature to the variable this attribute. 4. Connect the newEvent feature to the variable show action or showModally action. 5. Connect the newEvent feature to the variable setFocus action.  Remove a window when the user presses a push button, such as OK or Cancel, to return from the window. For a static window that must be available to show again, do this by connecting the IPushButton buttonClickEvent feature to the IFrameWindow hide action. For a static window that is not to be opened again, do this by setting the Auto delete field on the IFrameWindow General settings page. For a dynamically created window, do this by setting the Auto delete field on the IVBFactory General settings page. This represents the General of the secondary IFrameWindow part. ═══ Attributes - IFrameWindow ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor borderHeight ■ unsigned long borderSize ■ ISize borderWidth ■ unsigned long characterSize ISize client ■ IWindow* clientHandle IWindowHandle defaultOrdering ■ IWindow::SiblingOrder defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean flashing Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor icon ■ IPointerHandle id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle maximized Boolean maximizeRect IRectangle menu messageQueue IMessageQueueHandle minimized Boolean minimizeRect IRectangle minimumSize ■ ISize modal Boolean mousePointer ■ IPointerHandle nativeRect IRectangle nextShellRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle restoreRect ■ IRectangle result ■ ■ unsigned long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop Boolean toolBarList ■ IToolBarList* usesDialogBackground Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle willDestroyOnClose Boolean ═══ Actions - IFrameWindow ═══ Action Parameters addExtension IWindow*, Location, SeparatorType addToWindowList None applyBidiSettings BidiSettings&, Boolean, Boolean beginFlashing None capturePointer Boolean clientRectFor IRectangle& close None convertToGUIStyle IBitFlag&, Boolean disable None disableNotification None disableUpdate None dismiss unsigned long dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean endFlashing None frameRectFor IRectangle& handleException IException&, IEvent& handleFor Style& hide None hideSourceEmphasis None isAnExtension IWindow* isLayoutDistorted unsigned long matchForMnemonic unsigned short maximize None minimize None moveSizeToClient IRectangle& notifyObservers INotificationEvent& notifyOwner unsigned long, ICommandEvent::Source, Boolean positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeExtension IWindow*, Boolean removeFromWindowList None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None restore None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setDestroyOnClose Boolean setExtensionSize IWindow*, double setFocus None setLayoutDistorted unsigned long, unsigned long shareParentDBCSStatus None show Boolean showModally None showSourceEmphasis Boolean start IWindowHandle& update None useExtensionMinimumSize IWindow* ═══ Events - IFrameWindow ═══ Event Notification ID activateEvent activateId closeEvent closeId commandEvent commandId deactivateEvent deactivateId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IFrameWindow ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Title text Sets the title text for the part. Default value: The name of the part Border width Sets the screen coordinates for the width of the border of the frame window. Default value: 4 Border height Sets the screen coordinates for the height of the border of the frame window. Default value: 5 Auto delete Removes the specified item from the menu. Default value: Not selected ═══ Control Settings - IFrameWindow ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IFrameWindow ═══ defaultStyle() Resets the part to the original default style. Default value: Selected accelerator Saves the current accelerator and changes to the new accelerator. Default value: The Default radio button is selected. animated Shows the frame window with animation when the user opens, closes, or restores it. Default value: The Default radio button is selected. appDBCSStatus Includes a DBCS status area in the frame of the frame window when displayed in a DBCS environment. Default value: The Default radio button is selected. border Draws a border around the frame window, or sets the color of the border that surrounds the button window. Default value: The Default radio button is selected. dialogBackground Gives a frame the background color for the system dialog. Default value: The Default radio button is selected. dialogBorder Puts a dialog border around the frame window. Default value: The Default radio button is selected. hideButton Adds a hide button to the frame window. Default value: The Default radio button is selected. horizontalScroll Provides a horizontal scroll bar for the part. Default value: The default is on, and the Default radio button is selected. maximizeButton Adds a maximize button to the frame window. Default value: The Default radio button is selected. menuBar Provides the frame window with a menu bar. Default value: The Default radio button is selected. minimizeButton Adds a minimize button to the frame window. Default value: The Default radio button is selected. noMoveWithOwner Disables the default behavior of automatically moving frame windows with their owner. Default value: The Default radio button is selected. shellPosition Sets the initial position of the window to a location and size dictated by the system shell. Default value: The Default radio button is selected. sizingBorder Puts a sizing border around the frame window. Default value: The Default radio button is selected. systemMenu Provides a system menu in the frame window. Default value: The Default radio button is selected. systemModal Makes the part system-modal. Default value: The Default radio button is selected. titleBar Provides a title bar for the frame window. Default value: The Default radio button is selected. verticalScroll Provides a vertical scroll bar for the part. Default value: The Default radio button is selected. windowList Adds an entry for this frame window to the sytem window list. Default value: The Default radio button is selected. maximized Creates the frame window in the maximized state. Default value: The Default radio button is selected. minimized Creates the frame window in the minimized state. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IFrameWindow ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IFrameWindow ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IFrameWindow ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IFrameWindow ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.13. IGraphicPushButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IGraphicPushButton ═══ Title: IBM push-button control with graphic Class name: IGraphicPushButton Base part: IPushButton Part type: Visual part Part file: vbbase.vbb An IGraphicPushButton part is a selection button for an action or routing choice. The choice is identified by a graphic image on the push button. The user can click the push button to perform the indicated function. Use an IGraphicPushButton part to let the user request a function that can be represented graphically. Alternatively, to identify the choice with text, use an IPushButton. ═══ Building Guidelines - IGraphicPushButton ═══ When building with an IGraphicPushButton part, you can do the following:  Assign a bitmap to the graphic button. Do this by setting the DLL name and the Resource ID fields on the IGraphicPushButton General settings page.  Allow the user to reach the button by using a tab key. Do this by setting the tabStop field to On on the IGraphicPushButton Styles settings page.  If the button is the first control in a group, allow the user to use cursor keys to move between the button and follow controls in the group. Do this by setting the group field to On on the IGraphicPushButton Styles settings page.  Start the action represented by the button. Do this by connecting the IGraphicPushButton buttonClickEvent feature to the action on the target part.  Enable or disable the animated button when an event occurs. Enable the button as follows: 1. Connect the event to the IGraphicPushButton enable action. 2. Open settings for the connection, press the Set parameters push button, and check the enabled setting. Disable the button by connecting the event to the IGraphicPushButton disable action. ═══ Attributes - IGraphicPushButton ═══ Attribute S E Data type activeColor ■ ■ IColor allowsMouseClickFocus ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean bitmap ■ IBitmapHandle border ■ Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean currentGraphicType GraphicType default ■ Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean graphicWindow IIconControl& group ■ Boolean handle IWindowHandle help ■ Boolean highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor icon ■ IPointerHandle id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle marginSize ■ ISize menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize sizeToGraphic ■ Boolean systemCommand ■ ■ Boolean tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IGraphicPushButton ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean click None convertToGUIStyle IBitFlag&, Boolean disable None disableDefault None disableGroup None disableHelp None disableMouseClickFocus None disableNotification None disableSizeToGraphic None disableSystemCommand None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeBorder None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean unhighlight None ═══ Events - IGraphicPushButton ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IGraphicPushButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part DLL name Sets the name of the DLL file to be loaded. Default value: None Resource ID Sets the name of the DLL and resource identifier for the part. Default value: 0 ═══ Control Settings - IGraphicPushButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IGraphicPushButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected sizeToGraphic Sizes the window to the size of the currently set graphic. Default value: The default is off, and the Default radio button is selected. noBorder Suppresses the drawing of a border. Default value: The Default radio button is selected. defaultButton Specifies this push button as the default push button. Default value: The default is on, and the Default radio button is selected. Help Enables help for the part. Default value: Not selected systemCommand Generates a system command event when the user selects the part. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IGraphicPushButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IGraphicPushButton ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IGraphicPushButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IGraphicPushButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.14. IGroupBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IGroupBox ═══ Title: IBM group-box control Class name: IGroupBox Base part: ITextControl Part type: Visual part Part file: vbbase.vbb An IGroupBox part is a labeled rectangular box that can contain a group of related user-interface controls. 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. Use an IGroupBox part to visually group a set of controls and label the group. Alternatively, use an IOutlineBox part if you do not want to label the group. ═══ Building Guidelines - IGroupBox ═══ When building with an IGroupBox part, you can do the following:  Define a set of related controls in a group box. Do this as follows: 1. Select an IGroupBox part from the parts palette and drop it on a canvas. 2. Resize the group box to the size you think you need by selecting it on the canvas and dragging a corner handle. 3. Add the controls you want in the group box. If you add the group box after adding the controls you are enclosing, you must change the tabbing and depth order of controls on the canvas to position the group box ahead of the controls within it. Do this by clicking mouse button 2 on the canvas and selecting the Tabbing And Depth Order choice. Then, press mouse button 2 on the group box in the Tabbing And Depth Order panel and drag it to a new position just before the first control it contains.  Define the text label for a group box. Do this by entering the label in the Text field on the IGroupBox General settings page.  Make the controls in the group box a cursoring group that the user can reach with a tab key. The user can cycle through controls in a cursoring group using the keyboard cursor keys. Do this by setting the group and tabStop fields to On on the Styles settings page of the first control in the group box. Leave these fields set to Off for the rest of the controls in the group box. Also make sure that the first control following the group box on your canvas has the group field set to On. This makes the last control in the group box the end of the cursoring group. You can view and modify the group and tabStop settings of controls in the Tabbing And Depth Order panel. ═══ Attributes - IGroupBox ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IGroupBox ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IGroupBox ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IGroupBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part ═══ Control Settings - IGroupBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IGroupBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IGroupBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IGroupBox ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the static text. Default value: Red=0, Green=0, Blue=170 ═══ Size/Position Settings - IGroupBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IGroupBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.15. IHelpWindow ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - IHelpWindow ═══ Title: IBM window for online help Class name: IHelpWindow Base part: IWindow Part type: Nonvisual part Part file: vbbase.vbb An IHelpWindow part is a window for presenting help information about your application. The user can open a help menu from a help menu, a help push button, or the F1 function key. Use an IHelpWindow part to display help information for your application. The help window represents your set of help panels. You can use the help window for general and contextual help. If you have one or more help files that you want presented in a single help window for your application, add an IHelpWindow part in the composite part providing the primary view. If you have separate help for each application view, add an IHelpWindow part in each view. ═══ Building Guidelines - IHelpWindow ═══ When building with an IHelpWindow part, you can do the following:  Define a help window for an application view. Do this as follows: 1. Drop an IHelpWindow part on the free-form surface of the composite part for the view. 2. Type the names of your .hlp files, separated by spaces, in the Help libraries field on the IHelpWindow General settings page. 3. Type the title for your help window in the Title field on the IHelpWindow General settings page.  Identify the frame window that the help window is currently related to. If you have only one frame window in your view, the help window is automatically related to that frame window. If you are using a single help window for multiple frame windows, associate each secondary frame window with the help window. Do this by connecting an event opening the secondary window to the setAssociatedWindow action of the IHelpWindow, passing the frame window as a parameter. For example, if you open a secondary window when a push button is pressed, connect the IPushButton buttonClickEvent feature to the IHelpWindow setAssociatedWindow action. Then, connect the secondary IFrameWindow this attribute to the buttonClickEvent-to-setAssociatedWindow connection to provide the frame window parameter. Alternatively, if you create the secondary window dynamically with an IVBFactory part, simply connect the IVBFactory newEvent feature to the IHelpWindow setAssociatedWindow action. The newEvent feature provides the frame window object as a parameter.  For each frame window and control, type the panel ID for its help in the Help panel id field on its Control settings page. The panel ID is the resource number specified with the res attribute of the help heading for the frame window or control. ═══ Attributes - IHelpWindow ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize communicationWindow IWindowHandle contentsWindow IWindowHandle coverPageWindow IWindowHandle defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor indexWindow IWindowHandle itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle searchListWindow IWindowHandle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop Boolean valid Boolean viewedPagesWindow IWindowHandle visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IHelpWindow ═══ Action Parameters addLibraries char* applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableNotification None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& helpWindow IWindow* hide None hidePanelIds None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setActiveWindow IFrameWindow*, IFrameWindow* setAssociatedWindow IFrameWindow* setFocus None setHelpTable IResourceId& setLayoutDistorted unsigned long, unsigned long setTitle char* setUsingHelp unsigned long show Boolean showPanelIds Boolean showSourceEmphasis Boolean ═══ Events - IHelpWindow ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IHelpWindow ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Title Sets the title to appear on the title bar for the part. Default value: None Help libraries Sets the name of one or more compiled help (.hlp) files that make up the help library. Default value: None Help table ID Sets the name of the help table. Default value: None ═══ 3.16. IIconControl ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IIconControl ═══ Title: IBM icon control Class name: IIconControl Base part: IBitmapControl Part type: Visual part Part file: vbbase.vbb An IIconControl part draws an object image with a label. The user can access the represented object by clicking on the icon with mouse button1 or by pressing the Enter key when the cursor is on the icon. Use an IIconControl part to display an icon representing a choice or an object. Be aware that an icon is not resized on either a set canvas or a multicell canvas when the canvas is resized. ═══ Building Guidelines - IIconControl ═══ When building with an IIconControl part, you can do the following:  Assign an icon to the control. Do this by setting the DLL name and Resource ID fields on the IIconControl General settings page.  Associate the icon control with an action. Do this by connecting the IIconControl commandEvent feature to the target action. ═══ Attributes - IIconControl ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean bitmap ■ IBitmapHandle borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean fillBackground ■ ■ Boolean fillColor ■ ■ IColor focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean halftone ■ ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor icon ■ IPointerHandle id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ ■ unsigned long menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize strikeout ■ ■ Boolean tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long underscore ■ ■ Boolean valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IIconControl ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableFillBackground None disableGroup None disableHalftone None disableNotification None disableStrikeout None disableTabStop None disableUnderscore None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFillColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IIconControl ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IIconControl ═══ DLL name Sets the name of the DLL file to be loaded. Default value: None Resource Id Sets the resource identifier for the part. Default value: 0 Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 0 Alignment Changes the alignment of the part. Default value: Upper left Word wrap Enables word wrap of text around at the end of a line. Default value: Not selected ═══ Control Settings - IIconControl ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IIconControl ═══ defaultStyle() Resets the part to the original default style. Default value: Selected mnemonic Draws the next character with mnemonic emphasis if a mnemonic prefix character is found. Default value: The Default radio button is selected. fillBackground Erases the background, using the currently set fill color before drawing the text. Default value: The default is on, and the Default radio button is selected. halftone Draws the text in halftone color. Default value: The default is off, and the Default radio button is selected. strikeout Draws the text with overstriking. Default value: The default is off, and the Default radio button is selected. underscore Draws the text with underscoring. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IIconControl ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IIconControl ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the static text. Default value: Red=0, Green=0, Blue=170 ═══ Size/Position Settings - IIconControl ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IIconControl ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.17. IInfoArea ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Color Handlers Font Personal Notes ═══ Part Description - IInfoArea ═══ Title: IBM frame extention to show user prompts Class name: IInfoArea Base part: IStaticText Part type: Visual part Part file: vbbase.vbb An IInfoArea part is a window area at the bottom of a frame window for displaying brief information about a selected menu choice. The user can read help information in the information area without opening another window for help. Use an IInfoArea part to briefly describe menu choices or to report the successful completion of a selected action. ═══ Building Guidelines - IInfoArea ═══ When building with an IInfoArea part, you can do the following:  Attach an information area to a frame window. Do this by selecting an IInfoArea from the parts palette and dropping it on the frame window. The information area is attached as a frame extension at the bottom of the frame window, beneath the client area.  Define text to appear in the information area for a menu item. Do this by entering text for the information area in the settings view for the IMenuItem part.  Define text to appear in the information area when the user has not selected a menu choice. Do this by entering text in the Inactive text field on the IInfoArea General settings page.  Define text to appear in the information area when the user selects a disabled menu choice. Do this by entering text in the Disabled text field on the IInfoArea General settings page.  Define text to appear in the information area when the user selects a menu choice that has no information area text defined. Do this by entering text in the Missing text field on the IInfoArea General settings page. ═══ Attributes - IInfoArea ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor disabledText ■ ■ IString displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean fillBackground ■ ■ Boolean fillColor ■ ■ IColor focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean halftone ■ ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor inactiveText ■ ■ IString isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ ■ unsigned long lineCount ■ unsigned long menu messageQueue IMessageQueueHandle minimumSize ■ ISize missingText ■ ■ IString nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle resourceLibrary ■ ■ IResourceLibrary& shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize strikeout ■ ■ Boolean stringTableOffset ■ long tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long underscore ■ ■ Boolean valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IInfoArea ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableFillBackground None disableGroup None disableHalftone None disableNotification None disableStrikeout None disableTabStop None disableUnderscore None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFillColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean start IFrameWindow* stop IFrameWindow* ═══ Events - IInfoArea ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IInfoArea ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Inactive text Sets the text to appear in the information area when the user has not selected a menu choice. Default value: None Disabled text Sets the text to appear in the information area when the user selects a disabled a menu choice. Default value: None 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. Default value: None ═══ Color Settings - IInfoArea ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the static text. Default value: Red=0, Green=0, Blue=170 ═══ Handlers Settings - IInfoArea ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Font Settings - IInfoArea ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.18. IListBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IListBox ═══ Title: IBM list-box control Class name: IListBox Base part: IBaseListBox Part type: Visual part Part file: vbbase.vbb An IListBox part is a selection list for string 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. Use an IListBox part to provide a modifiable list of string choices for the user. Your application can add or remove choices from the list. Alternatively, for string selection from an entry field or a drop-down list, use one of the following IComboBox types: Drop-down Allows the user to type a choice or to select a choice from a drop-down list. Read-only drop-down Allows the user only to select a choice from a drop-down list. Simple Allows the user to type a choice or to select a choice from a list that is always displayed. You can provide only single selection with a combination box part. For selection of objects in a collection rather than strings, use an ICollectionViewComboBox part or an ICollectionViewListBox part. ═══ Building Guidelines - IListBox ═══ When building with an IListBox part, you can do the following:  Define initial selection choices for the list box. Do this by entering the choices in the Contents field on the IListBox General settings page.  Allow the user to select more than one choice from the list. Do this by selecting the multipleSelection field on the IListBox Styles settings page.  Allow the user to reach the list box by using a tab key. Do this by setting the tabStop field to On on the IListBox Styles settings page.  Copy the index of the selection to a numeric connection parameter or attribute. Do this by connecting the IListBox selection attribute to the numeric target.  Add a new choice to the list box from an entry field when a push button is pressed. Add the choice to the end of the list. Do this as follows: 1. Connect the IPushButton buttonClickEvent feature to the addAsLast action of the IListBox. 2. Connect the IEntryField text attribute to the text parameter of the buttonClickEvent-to-addAsLast connection. This provides the entry field text as the parameter for the addAsLast action.  Remove the selected choice from the list box when a push button is pressed. Do this as follows: 1. Connect the IPushButton buttonClickEvent feature to the remove action of the IListBox. 2. Connect the IListBox selection attribute to the index parameter of the buttonClickEvent-to-remove connection. This provides the selection index as the parameter for the remove action. ═══ Attributes - IListBox ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize count unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor drawItem ■ Boolean empty Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean extendedSelect ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor horizontalScroll Boolean id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumCharacters ■ unsigned long minimumRows ■ unsigned long minimumSize ■ ISize multipleSelect ■ Boolean nativeRect IRectangle noAdjustPosition ■ Boolean numberOfSelections unsigned long owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle selection long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean top ■ unsigned long valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IListBox ═══ Action Parameters add unsigned long, char * const*, unsigned long addAscending char* addAsFirst char* addAsLast IResourceId& addDescending char* applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean deselect unsigned long deselectAll None disable None disableDrawItem None disableExtendedSelect None disableGroup None disableMultipleSelect None disableNoAdjustPosition None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long isSelected unsigned long itemHandle unsigned long itemText unsigned long locateText char*, Boolean, SearchType, unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& remove unsigned long removeAll None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None select unsigned long, Boolean selectAll None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setItemHandle unsigned long, unsigned long setItemHeight unsigned long setItemText unsigned long, IResourceId& setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IListBox ═══ Event Notification ID commandEvent commandId enterEvent enterId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IListBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Contents Sets initial items for the part. Default value: None ═══ Control Settings - IListBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IListBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected Draw item Allows the menu item to be drawn. Default value: Not selected horizontalScroll Provides a horizontal scroll bar for the part. Default value: The default is on, and the Default radio button is selected. multipleSelect Sets the style of the part to multiple selection mode. Default value: The default is off, and the Default radio button is selected. noAdjustPosition Restricts adjustment of the frame position of the part. As a result, certain aspects of enhanced performance by such alignment are lost. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IListBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IListBox ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IListBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IListBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.19. IMenu ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Styles Color Personal Notes ═══ Part Description - IMenu ═══ Title: IBM menu control Class name: IMenu Base part: IWindow Part type: Nonvisual part Part file: vbbase.vbb An IMenu part is a list of action, routing, and settings choices related to an object. Depending on your use of the menu, it is implemented by one of the following parts:  IMenuBar  IPopUpMenu  ISubmenu An IMenuBar part is a 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. An IPopUpMenu part is a menu of context-sensitive choices for one or more objects. The choices appear in a pop-up window near the objects. An ISubmenu part is a 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. The user can select a choice, or menu item, to apply the choice to the object. Use an IMenu part to provide a list of choices related to an object. ═══ Building Guidelines - IMenu ═══ When building with an IMenu part, you can do the following:  Attach the menu to one of the following: Target Resulting menu Frame window Menu bar (IMenuBar) Menu bar cascade choice Pull-down menu (ISubmenu) Cascade menu choice Cascade menu (ISubmenu) Any object with menu support Pop-up menu (IPopUpMenu) Do this by connecting the IMenu this attribute to the menu attribute of the target. As a shortcut for adding a pull-down menu or a cascade menu, drop an IMenu part on the target menu instead of on the free-form surface. In this case, the following happens automatically: - The new menu is placed on the free-form surface. - A cascade menu item is added to the target menu. - The this-to-menu connection is automatically made between the new menu and the cascade menu item. ═══ Attributes - IMenu ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu menuHandle IMenuHandle messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle numberOfItems unsigned long owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IMenu ═══ Action Parameters addBitmap unsigned long, unsigned long, unsigned long addItem IMenuItem&, unsigned long addSeparator unsigned long addSubmenu unsigned long addText unsigned long, IResourceId&, unsigned long applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean checkItem unsigned long, Boolean convertToGUIStyle IBitFlag&, Boolean cursor unsigned long, unsigned long deleteItem unsigned long disable None disableItem unsigned long disableNotification None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableItem unsigned long, Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isItemChecked unsigned long isItemEnabled unsigned long isLayoutDistorted unsigned long itemRect unsigned long matchForMnemonic unsigned short menuItem unsigned long notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeConditionalCascade unsigned long removeSubmenu unsigned long resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None selectItem unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setBitmap unsigned long, unsigned long setConditionalCascade unsigned long, unsigned long setFocus None setItem IMenuItem& setLayoutDistorted unsigned long, unsigned long setSubmenu unsigned long, IResourceId& setText unsigned long, IResourceId& show Boolean showSourceEmphasis Boolean uncheckItem unsigned long ═══ Events - IMenu ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IMenu ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Styles Settings - IMenu ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Color Settings - IMenu ═══ 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 Default value: Foreground is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ 3.20. IMenuCascade ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - IMenuCascade ═══ Title: IMenuCascade Class name: IMenuCascade Base part: IMenuItem Part type: Visual part Part file: vbbase.vbb An IMenuCascade part is a menu selection choice that represents a submenu. You can present the choice to the user as text or as a bitmap. The user can select a menu cascade to open a submenu. Use an IMenuCascade part to represent a set of closely related menu choices as a high-level menu choice. The closely related menu choices can then be presented in a submenu. This keeps menus shorter and defers detailed choices from the higher-level menu. ═══ Building Guidelines - IMenuCascade ═══ You can set up cascade menu items and attach submenus easily by building with IMenu parts. Alternatively, you can work directly with IMenuCascade parts for cascade menu items. When building with an IMenuCascade part, you can do the following:  Add a cascade menu item to a menu. Do this by dropping an IMenuCascade part on the IMenu part.  Assign text to the cascade menu item. Do this in the Menu item type field on the IMenuCascade General settings page. Select the Text setting and then enter the text in the Text field. If you want to establish a mnemonic for the cascade menu item, type a ~ before the mnemonic character.  Assign a bitmap to the cascade menu item. Do this in the Menu item type field on the IMenuCascade General settings page. Select the Graphic setting and then set the DLL name and Resource ID fields.  Associate the cascade menu item with a target submenu. Do this by connecting the submenu this attribute to the IMenuCascade menu attribute. This causes the target action to be performed when the user selects the menu item.  If the cascade menu item is a choice on a menu bar, define brief help text to appear in the frame window information area when the user selects the menu choice. Do this by entering text in the Info area text field on the IMenuCascade General settings page.  Move the cascade menu item within your menu. Do this by clicking mouse button2 on the item and dragging it to a new location in the menu. ═══ Attributes - IMenuCascade ═══ Attribute S E Data type asDebugInfo IString asString IString bitmap ■ IBitmapHandle checked ■ Boolean commandType ■ CommandType disabled ■ Boolean drawItem ■ Boolean framed ■ Boolean highlighted ■ Boolean id unsigned long index ■ unsigned long isBitmap Boolean isText Boolean layoutType ■ LayoutType menu noDismiss ■ Boolean selectable ■ Boolean separator Boolean submenu Boolean submenuHandle ■ IWindowHandle text ■ IString ═══ Actions - IMenuCascade ═══ Action Parameters convertToGUIStyle IBitFlag&, Boolean setSeparator None ═══ Events - IMenuCascade ═══ Event Notification ID commandEvent commandId ═══ General Settings - IMenuCascade ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Info area text Specifies the text to appear in the information area for this part. Default value: None Menu item type Sets the type of the menu item. Default value: Text Text Sets the text of the menu item. Default value: Name of the menu item. DLL name Sets the name of the DLL for the menu item. Default value: None Resource ID Sets the resource identifier for the menu item. Default value: 0 Conditional cascade Enables the conditional cascade menu behavior. Default value: Not selected Checked Places a check mark to the left of the menu item. Default value: Not selected Disabled Makes the menu item unselectable. Default value: Not selected Framed Places a frame around the menu item. Default value: Not selected Highlighted Highlights the menu item. Default value: Not selected No dismiss upon selection Keeps the menu item visible after selection. Default value: Not selected Selectable Makes the menu item selectable. Default value: Not selected Draw item Allows the menu item to be drawn. Default value: Not selected ═══ 3.21. IMenuItem ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - IMenuItem ═══ Title: IBM menu item Class name: IMenuItem Base part: IBase Part type: Visual part Part file: vbbase.vbb An IMenuItem part is a selection choice for a menu. You can present the choice to the user as text or as a bitmap. The user can select a choice, or menu item, to apply the choice to an object. Use an IMenuItem part to present a menu choice related to an object. ═══ Building Guidelines - IMenuItem ═══ When building with an IMenuItem part, you can do the following:  Add a menu item to a menu. Do this by dropping an IMenuItem part on the menu.  Assign text to the menu item. Do this in the Menu item type field on the IMenuItem General settings page. Select the Text setting and then enter the text in the Text field. If you want to establish a mnemonic for the menu item, type a ~ before the mnemonic character.  Assign a bitmap to the menu item. Do this in the Menu item type field on the IMenuItem General settings page. Select the Graphic setting and then set the DLL name and Resource ID fields.  Associate the menu item with an action. Do this by connecting the IMenuItem commandEvent feature to the target action.  If the menu item is a choice on a menu bar, define brief help text to appear in the frame window information area when the user selects the menu choice. Do this by entering text in the Info area text field on the IMenuItem General settings page.  Preselect the menu item. Do this by setting the Checked field on the IMenuItem General settings page.  Make the menu item initially unavailable. Do this by setting the Disabled field on the IMenuItem General settings page.  Enable or disable the menu item when an event occurs, such as selection of another item. Disable the menu item as follows: 1. Connect the event to the IMenuItem disabled attribute. 2. Open settings for the connection, press the Set parameters push button, and check the Disabled setting. Enable the menu item by connecting the event to the IMenuItem disabled attribute with the Disabled setting not checked.  Move the menu item within your menu. Do this by clicking mouse button 2 on the item and dragging it to a new location in the menu. ═══ Attributes - IMenuItem ═══ Attribute S E Data type asDebugInfo IString asString IString bitmap ■ IBitmapHandle checked ■ Boolean commandType ■ CommandType disabled ■ Boolean drawItem ■ Boolean framed ■ Boolean highlighted ■ Boolean id unsigned long index ■ unsigned long isBitmap Boolean isText Boolean layoutType ■ LayoutType noDismiss ■ Boolean selectable ■ Boolean separator Boolean submenu Boolean submenuHandle ■ IWindowHandle text ■ IString ═══ Actions - IMenuItem ═══ Action Parameters convertToGUIStyle IBitFlag&, Boolean setSeparator None ═══ Events - IMenuItem ═══ Event Notification ID commandEvent commandId ═══ General Settings - IMenuItem ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Info area text Specifies the text to appear in the information area for this part. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Menu item type Sets the type of the menu item. Default value: Text Text Sets the text of the menu item. Default value: Name of the menu item. DLL name Sets the name of the DLL for the menu item. Default value: None Resource ID Sets the resource identifier for the menu item. Default value: 0 Alt Sets the accelerator for the Alt key. Default value: Not selected Ctrl Sets the accelerator for the Ctrl key. Default value: Not selected Shift Sets the accelerator for the Shift key. Default value: Not selected Key Allows selection of an accelerator key. Default value: None Show text on menu Shows the text for the accelerator key with the menu item. Default value: Not selected Command type Generates a command event when the user selects the part. Default value: None Checked Places a check mark to the left of the menu item. Default value: Not selected Disabled Makes the menu item unselectable. Default value: Not selected Framed Places a frame around the menu item. Default value: Not selected Highlighted Highlights the menu item. Default value: Not selected No dismiss upon selection Keeps the menu item visible after selection. Default value: Not selected Selectable Makes the menu item selectable. Default value: Not selected Draw item Allows the menu item to be drawn. Default value: Not selected ═══ 3.22. IMenuSeparator ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMenuSeparator ═══ Title: IMenuSeparator Class name: IMenuSeparator Base part: IMenuItem Part type: Nonvisual part Part file: vbbase.vbb An IMenuSeparator part is a visual separator between groups of menu choices. The user can recognize groups of related menu choices by noting the separators between the groups. Use an IMenuSeparator part to mark the beginning or end of a group of related menu choices. ═══ Building Guidelines - IMenuSeparator ═══ When building with an IMenuSeparator part, you can do the following:  Add a menu separator to a menu. Do this by dropping an IMenuSeparator part on the menu.  Move the menu separator within your menu. Do this by pressing mouse button2 on the separator and dragging it to a new location in the menu. ═══ Attributes - IMenuSeparator ═══ Attribute S E Data type asDebugInfo IString asString IString bitmap ■ IBitmapHandle checked ■ Boolean commandType ■ CommandType disabled ■ Boolean drawItem ■ Boolean framed ■ Boolean highlighted ■ Boolean id unsigned long index ■ unsigned long isBitmap Boolean isText Boolean layoutType ■ LayoutType noDismiss ■ Boolean selectable ■ Boolean separator Boolean submenu Boolean submenuHandle ■ IWindowHandle ═══ Actions - IMenuSeparator ═══ Action Parameters convertToGUIStyle IBitFlag&, Boolean setSeparator None ═══ Events - IMenuSeparator ═══ Event Notification ID commandEvent commandId ═══ 3.23. IMessageBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Settings Pages General Personal Notes ═══ Part Description - IMessageBox ═══ Title: IBM message dialog window Class name: IMessageBox Base part: IVBase Part type: Class interface part Part file: vbbase.vbb An IMessageBox part is a window for displaying application messages to the user. The user can note the information or error presented in a message. If given a choice, the user can select an action in response to the message. Use an IMessageBox part to display information about activity or problems. For example, your application can do the following:  Inform the user about what a task is doing  Display an error message to the user You can add push buttons to the message box to give the user choices for responding to a message. ═══ Building Guidelines - IMessageBox ═══ When building with an IMessageBox part, you can do the following:  Provide a message box for a view. Do this by selecting an IMessageBox part from the parts palette and dropping it on the free-form surface.  Type the title for your message box in the Title field on the IMessageBox General settings page.  Identify the frame window that the message box is related to. If you have only one frame window in your view, the message box is automatically related to that frame window. If you want the message box for a second frame window in your view, do this by referencing the frame window Subpart name, which appears on its General settings page. Enter the frame window subpart name, prefixed with "i," in the Owner field on the IMessageBox General settings page.  Use the message box to report exceptions. Do this by connecting exceptionOccurred on any connection that could yield an exception to the IMessageBox showException action.  Use the message box to report other messages. Do this as follows: 1. Connect an event related to the message to the IMessageBox show action. 2. Open settings for the connection and press the Set parameters push button. Then, enter the message text and a message severity. The message text must be entered as a C++ string enclosed in quotation marks. The severity must be one of the following enumeration values: - information - warning - action - critical - catastrophic The IMessageBox class description in the IBM Open Class Library Reference provides information about these Severity enumeration values. ═══ Attributes - IMessageBox ═══ Attribute S E Data type asDebugInfo IString asString IString ═══ Actions - IMessageBox ═══ Action Parameters setTitle IResourceId& show IResourceId&, Style&, unsigned long showErrorInfo IResourceId&, Style&, unsigned long showException IResourceId&, Style&, unsigned long ═══ General Settings - IMessageBox ═══ Part name Sets the name of the part. Default value: The name of the part Title Sets the title to appear on the title bar for the part. Default value: None Owner Sets the window's owner. Default value: None ═══ 3.24. IMMAmpMixer ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMMAmpMixer ═══ Title: IBM amplifier/mixer Class name: IMMAmpMixer Base part: IMMDevice Part type: Nonvisual part Part file: vbmm.vbb An IMMAmpMixer part is a sound amplification and mixing control. The amplifier-mixer enables audio signals to be transferred to speakers or other sound devices. The user can operate the amplifier-mixer through visual controls you provide. Circular sliders are well suited for visual control of an amplifier-mixer. Use an IMMAmpMixer part to provide standard audio control functions, such as volume and balance. ═══ Building Guidelines - IMMAmpMixer ═══ When building with an IMMAmpMixer part, you can do the following:  Define initial values for amplification and mixing settings. Do this on the IMMAmpMixer part settings page. The control fields are: - balance - bass - gain - pitch - treble - volume The field values range from 0 to 100. Generally, 0 is the minimum setting of the control and 100 is the maximum setting. For balance, 0 is the maximum left speaker setting, and 100 is the maximum right speaker setting.  Provide visual access to amplification and mixing settings. Do this using circular sliders as dials that the user can turn to control settings. For example, provide a volume dial as follows: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMAmpMixer volume attribute.  Define the speed format for the amplifier-mixer if you do not want to use the system-provided format. Do this by selecting a choice for the speedFormat field on the IMMAmpMixer part settings page.  Define the time format for the amplifier-mixer if you do not want to use the system-provided format. Do this by selecting a choice for the timeFormat field on the IMMAmpMixer part settings page. ═══ Attributes - IMMAmpMixer ═══ Attribute S E Data type acquired Boolean aliasName IString asDebugInfo IString asString IString audioEnabled ■ Boolean balance ■ unsigned long bass ■ unsigned long closeOnDestroy ■ Boolean description IString deviceId unsigned long deviceName IString deviceType unsigned long enabledForNotification ■ Boolean gain ■ unsigned long isOpen Boolean mode Mode monitoringEnabled ■ Boolean pitch ■ unsigned long prerollTime IMMTime prerollType PrerollType requiresFiles Boolean speedFormat ■ IMMSpeed::Format supportsAudio Boolean supportsDigitalTransfer Boolean supportsDisableEject Boolean supportsEject Boolean supportsPlay Boolean supportsRecord Boolean supportsRecordInsertion Boolean supportsSave Boolean supportsStreaming Boolean supportsVideo Boolean supportsVolumeAdjustment Boolean timeFormat ■ IMMTime::Format treble ■ unsigned long volume ■ unsigned long ═══ Actions - IMMAmpMixer ═══ Action Parameters acquire ShareMode, Boolean, CallType close CallType connectedDeviceId ConnectorType, CallType deletePendingEvents EventType disableAudio AudioChannel, IMMMillisecondTime&, CallType disableConnector ConnectorType, CallType disableMonitoring CallType disableNotification None enableConnector ConnectorType, Boolean, CallType isConnectionSupported ConnectorType, CallType isConnectorEnabled ConnectorType, CallType notifyObservers INotificationId& open IString&, Boolean, CallType openOnThread IString&, Boolean, CallType operator = IStandardNotifier& release CallType supportsCommand IMMNotifyEvent::Command, CallType ═══ Events - IMMAmpMixer ═══ Event Notification ID commandNotifyEvent commandNotifyId cuePointEvent cuePointId deviceEvent deviceEventId passDeviceEvent passDeviceId positionChangeEvent positionChangeId ═══ 3.25. IMMAudioCD ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMMAudioCD ═══ Title: IBM audio compact disc device Class name: IMMAudioCD Base part: IMMRemovableMedia Part type: Nonvisual part Part file: vbmm.vbb An IMMAudioCD part is an audio compact disc (CD) player control. The user can operate the CD player through visual controls. You can easily provide button controls with the IMMPlayerPanel part. You can provide volume control for all audio devices with the IMMMasterAudio part. Use an IMMAudioCD part to provide standard audio CD player functions. ═══ Building Guidelines - IMMAudioCD ═══ When building with an IMMAudioCD part, you can do the following:  Define an initial volume setting. Do this by entering a value in the volume field on the IMMAudioCD part settings page. Values range from 0 for no volume to 100 for the maximum volume. If you are providing an IMMMasterAudio part for volume control and are not providing visual access to the volume setting for the CD player, set the volume field value to 100.  Provide visual access to the volume setting. Do this using a circular slider as a volume dial: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMAudioCD volume attribute. If you are providing visual volume control with an IMMMasterAudio part as well as with the CD player, the master audio volume setting determines the maximum volume produced. The player volume is the product of the master audio volume setting and the player volume setting. For example, if the master audio volume is set at 50 and the player volume is set at 80, the player volume is 40 percent of its potential maximum.  Provide visual access to CD player actions. Do this using animated buttons that the user can press to activate controls. For example, provide a play button as follows: - Select an IAnimatedButton part from the parts palette and drop it on a canvas. - Define the animated button as a latchable play button. Do this as follows: -- Assign play bitmaps to the animated button. Do this by selecting the play bitmap identifier in the Bitmap field on the IAnimatedButton General settings page. -- Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IAnimatedButton Styles settings page. - Connect the IAnimatedButton buttonClickEvent feature to the IMMAudioCD play action.  Define the speed format for the CD player if you do not want to use the system-provided format. Do this by selecting a choice for the speedFormat field on the IMMAudioCD part settings page.  Define the time format for the CD player if you do not want to use the system-provided format. Do this by selecting a choice for the timeFormat field on the IMMAudioCD part settings page. ═══ Attributes - IMMAudioCD ═══ Attribute S E Data type acquired Boolean aliasName IString asDebugInfo IString asString IString audioEnabled ■ Boolean autoPlayEnabled ■ Boolean closeOnDestroy ■ Boolean contents IMMAudioCDContents continuousPlayEnabled ■ Boolean description IString deviceId unsigned long deviceName IString deviceType unsigned long discId IString discTitle ■ IString enabledForNotification ■ Boolean isOpen Boolean length unsigned long mediaPresent Boolean mode Mode numberOfTracks unsigned long position unsigned long prerollTime IMMTime prerollType PrerollType profile ■ IProfile requiresFiles Boolean speedFormat ■ IMMSpeed::Format supportsAudio Boolean supportsDigitalTransfer Boolean supportsDisableEject Boolean supportsEject Boolean supportsPlay Boolean supportsRecord Boolean supportsRecordInsertion Boolean supportsSave Boolean supportsStreaming Boolean supportsVideo Boolean supportsVolumeAdjustment Boolean timeFormat ■ IMMTime::Format upc IString volume ■ unsigned long ═══ Actions - IMMAudioCD ═══ Action Parameters acquire ShareMode, Boolean, CallType addCuePoint IMMTime&, CallType close CallType closeDoor CallType connectedDeviceId ConnectorType, CallType cueForPlayback CallType deletePendingEvents EventType disableAudio AudioChannel, IMMMillisecondTime&, CallType disableAutoPlay None disableConnector ConnectorType, CallType disableContinuousPlay None disableNotification None enableConnector ConnectorType, Boolean, CallType goToEntry unsigned long isConnectionSupported ConnectorType, CallType isConnectorEnabled ConnectorType, CallType lockDoor Boolean, CallType notifyObservers INotificationId& open IString&, Boolean, CallType openDoor Boolean, CallType openOnThread IString&, Boolean, CallType operator = IStandardNotifier& pause CallType play IMMTime&, IMMTime&, Boolean, CallType release CallType removeCuePoint IMMTime&, CallType resume Boolean, CallType seek IMMTime&, CallType seekToEnd CallType seekToStart CallType setProgram IMMAudioCDContents& setTrackTitle IString&, unsigned long startPositionTracking IMMTime&, CallType startScanningBackward None startScanningForward None stepFrame unsigned long, Boolean, CallType stop CallType stopPositionTracking CallType supportsCommand IMMNotifyEvent::Command, CallType trackBackward unsigned long trackForward unsigned long trackTitle unsigned long unlockDoor CallType ═══ Events - IMMAudioCD ═══ Event Notification ID commandNotifyEvent commandNotifyId cuePointEvent cuePointId deviceEvent deviceEventId mediaLoadedEvent mediaLoadedId passDeviceEvent passDeviceId positionChangeEvent positionChangeId positionTimerEvent positionTimerId trackStartedEvent trackStartedId ═══ 3.26. IMMCDXA ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMMCDXA ═══ Title: IBM support for compact disc XA Class name: IMMCDXA Base part: IMMRemovableMedia Part type: Nonvisual part Part file: vbmm.vbb An IMMCDXA part is an extended architecture (XA) compact disc (CD) player control. It operates a CD-XA device, which can read a CD with interleaved audio, video, and standard file data. The user can operate the CD player through visual controls. You can easily provide button controls with the IMMPlayerPanel part. You can provide volume control for all audio devices with the IMMMasterAudio part. Use an IMMCDXA part to provide extended architecture CD player functions. ═══ Building Guidelines - IMMCDXA ═══ When building with an IMMCDXA part, you can do the following:  Define an initial volume setting. Do this by entering a value in the volume field on the IMMCDXA part settings page. Values range from 0 for no volume to 100 for the maximum volume. If you are providing an IMMMasterAudio part for volume control and are not providing visual access to the volume setting for the CD player, set the volume field value to 100.  Provide visual access to the volume setting. Do this using a circular slider as a volume dial: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMCDXA volume attribute. If you are providing visual volume control with an IMMMasterAudio part as well as with the CD player, the master audio volume setting determines the maximum volume produced. The player volume is the product of the master audio volume setting and the player volume setting. For example, if the master audio volume is set at 50 and the player volume is set at 80, the player volume is 40 percent of its potential maximum.  Provide visual access to CD player actions. Do this using animated buttons that the user can press to activate controls. For example, provide a play button as follows: - Select an IAnimatedButton part from the parts palette and drop it on a canvas. - Define the animated button as a latchable play button. Do this as follows: -- Assign play bitmaps to the animated button. Do this by selecting the play bitmap identifier in the Bitmap field on the IAnimatedButton General settings page. -- Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IAnimatedButton Styles settings page. - Connect the IAnimatedButton buttonClickEvent feature to the IMMCDXA play action.  Define the speed format for the CD player if you do not want to use the system-provided format. Do this by selecting a choice for the speedFormat field on the IMMCDXA part settings page.  Define the time format for the CD player if you do not want to use the system-provided format. Do this by selecting a choice for the timeFormat field on the IMMCDXA part settings page. ═══ Attributes - IMMCDXA ═══ Attribute S E Data type acquired Boolean aliasName IString asDebugInfo IString asString IString audioEnabled ■ Boolean closeOnDestroy ■ Boolean description IString deviceId unsigned long deviceName IString deviceType unsigned long enabledForNotification ■ Boolean isOpen Boolean length unsigned long mediaPresent Boolean mode Mode position unsigned long prerollTime IMMTime prerollType PrerollType requiresFiles Boolean speedFormat ■ IMMSpeed::Format supportsAudio Boolean supportsDigitalTransfer Boolean supportsDisableEject Boolean supportsEject Boolean supportsPlay Boolean supportsRecord Boolean supportsRecordInsertion Boolean supportsSave Boolean supportsStreaming Boolean supportsVideo Boolean supportsVolumeAdjustment Boolean timeFormat ■ IMMTime::Format upc IString volume ■ unsigned long ═══ Actions - IMMCDXA ═══ Action Parameters acquire ShareMode, Boolean, CallType addCuePoint IMMTime&, CallType close CallType closeDoor CallType connectedDeviceId ConnectorType, CallType cueForPlayback CallType deletePendingEvents EventType disableAudio AudioChannel, IMMMillisecondTime&, CallType disableConnector ConnectorType, CallType disableNotification None enableConnector ConnectorType, Boolean, CallType isConnectionSupported ConnectorType, CallType isConnectorEnabled ConnectorType, CallType lockDoor Boolean, CallType notifyObservers INotificationId& open IString&, Boolean, CallType openDoor Boolean, CallType openOnThread IString&, Boolean, CallType operator = IStandardNotifier& pause CallType play IMMTime&, IMMTime&, Boolean, CallType release CallType removeCuePoint IMMTime&, CallType resume Boolean, CallType seek IMMTime&, CallType seekToEnd CallType seekToStart CallType startPositionTracking IMMTime&, CallType stepFrame unsigned long, Boolean, CallType stop CallType stopPositionTracking CallType supportsCommand IMMNotifyEvent::Command, CallType unlockDoor CallType ═══ Events - IMMCDXA ═══ Event Notification ID commandNotifyEvent commandNotifyId cuePointEvent cuePointId deviceEvent deviceEventId mediaLoadedEvent mediaLoadedId passDeviceEvent passDeviceId positionChangeEvent positionChangeId ═══ 3.27. IMMDigitalVideo ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMMDigitalVideo ═══ Title: IBM digital video Class name: IMMDigitalVideo Base part: IMMConfigurableAudio Part type: Nonvisual part Part file: vbmm.vbb An IMMDigitalVideo part is a digital video player control. The user can operate the video player through visual controls. You can easily provide button controls with the IMMPlayerPanel part. You can provide volume control for all audio devices with the IMMMasterAudio part. Use an IMMDigitalVideo part to provide standard video player functions. ═══ Building Guidelines - IMMDigitalVideo ═══ When building with an IMMDigitalVideo part, you can do the following:  Define an initial volume setting. Do this by entering a value in the volume field on the IMMDigitalVideo part settings page. Values range from 0 for no volume to 100 for the maximum volume. If you are providing an IMMMasterAudio part for volume control and are not providing visual access to the volume setting for the video player, set the volume field value to 100.  Provide visual access to the volume setting. Do this using a circular slider as a volume dial: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMDigitalVideo volume attribute. If you are providing visual volume control with an IMMMasterAudio part as well as with the video player, the master audio volume setting determines the maximum volume produced. The player volume is the product of the master audio volume setting and the player volume setting. For example, if the master audio volume is set at 50 and the player volume is set at 80, the player volume is 40 percent of its potential maximum.  Provide visual access to video player actions. Do this using animated buttons that the user can press to activate controls. For example, provide a play button as follows: - Select an IAnimatedButton part from the parts palette and drop it on a canvas. - Define the animated button as a latchable play button. Do this as follows: -- Assign play bitmaps to the animated button. Do this by selecting the play bitmap identifier in the Bitmap field on the IAnimatedButton General settings page. -- Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IAnimatedButton Styles settings page. - Connect the IAnimatedButton buttonClickEvent feature to the IMMDigitalVideo play action. - Define the number of audio output channels for the video player. Do this by entering a number in the channels field on the IMMDigitalVideo part settings page. Enter 1 for monophonic (mono) output or 2 for stereophonic (stereo) output. - Define the audio format for the video player. The default format is pcm. Do this by selecting a choice for the format field on the IMMDigitalVideo part settings page. - Define the speed format for the video player if you do not want to use the system-provided format. Do this by selecting a choice for the speedFormat field on the IMMDigitalVideo part settings page. - Define the time format for the video player if you do not want to use the system-provided format. Do this by selecting a choice for the timeFormat field on the IMMDigitalVideo part settings page. ═══ Attributes - IMMDigitalVideo ═══ Attribute S E Data type acquired Boolean aliasName IString asDebugInfo IString asString IString audioEnabled ■ Boolean bitsPerSample ■ unsigned long blockAlignment ■ unsigned long bytesPerSecond ■ unsigned long canRedo Boolean canUndo Boolean channels ■ unsigned long closeOnDestroy ■ Boolean description IString destinationRectangle IRectangle deviceId unsigned long deviceName IString deviceType unsigned long enabledForNotification ■ Boolean fastSpeed IMMSpeed filename ■ IString fileNormalSpeed IMMSpeed format ■ IMMAudioBuffer::Format handle IWindowHandle isOpen Boolean length unsigned long maximumSpeed IMMSpeed maximumWindows unsigned long minimumSpeed IMMSpeed mode Mode monitorHandle IWindowHandle monitoringEnabled ■ Boolean normalSpeed IMMSpeed playingForward Boolean position unsigned long prerollTime IMMTime prerollType PrerollType readOnly Boolean requiresFiles Boolean samplesPerSecond ■ unsigned long slowSpeed IMMSpeed sourceRectangle IRectangle speed IMMSpeed speedFormat ■ IMMSpeed::Format supportsAudio Boolean supportsDigitalTransfer Boolean supportsDisableEject Boolean supportsEject Boolean supportsOverlayGraphics Boolean supportsPlay Boolean supportsRecord Boolean supportsRecordInsertion Boolean supportsReverse Boolean supportsSave Boolean supportsSizing Boolean supportsStreaming Boolean supportsStretchToFit Boolean supportsVideo Boolean supportsVolumeAdjustment Boolean timeFormat ■ IMMTime::Format videoFileHeight unsigned long videoFileName IString videoFileWidth unsigned long videoHeight unsigned long videoWidth unsigned long volume ■ unsigned long ═══ Actions - IMMDigitalVideo ═══ Action Parameters acquire ShareMode, Boolean, CallType addCuePoint IMMTime&, CallType close CallType connectedDeviceId ConnectorType, CallType copy IMMTime&, IMMTime&, CallType cueForPlayback CallType cueForRecording CallType cut IMMTime&, IMMTime&, CallType deletePendingEvents EventType deleteSelection IMMTime&, IMMTime&, CallType disableAudio AudioChannel, IMMMillisecondTime&, CallType disableConnector ConnectorType, CallType disableMonitoring CallType disableNotification None enableConnector ConnectorType, Boolean, CallType isConnectionSupported ConnectorType, CallType isConnectorEnabled ConnectorType, CallType loadOnThread IString&, Boolean notifyObservers INotificationId& open IString&, Boolean, CallType openOnThread IString&, Boolean, CallType operator = IStandardNotifier& paste IMMTime&, IMMTime&, Boolean, CallType pause CallType play IMMTime&, IMMTime&, Boolean, CallType playAt IMMSpeed&, IMMTime&, IMMTime&, CallType playFast IMMTime&, IMMTime&, CallType playScan IMMTime&, IMMTime&, CallType playSlow IMMTime&, IMMTime&, CallType record Boolean, IMMTime&, IMMTime&, Boolean, CallType redo CallType refresh IRectangle&, IRectangle&, CallType release CallType removeCuePoint IMMTime&, CallType resume Boolean, CallType save CallType saveAs IString&, CallType seek IMMTime&, CallType seekToEnd CallType seekToStart CallType setDestination IRectangle&, CallType setMonitorWindow IWindow&, CallType setWindow IWindowHandle&, CallType startPositionTracking IMMTime&, CallType stepFrame unsigned long, Boolean, CallType stop CallType stopPositionTracking CallType supportsCommand IMMNotifyEvent::Command, CallType undo CallType useDefaultMonitorWindow CallType useDefaultWindow CallType ═══ Events - IMMDigitalVideo ═══ Event Notification ID commandNotifyEvent commandNotifyId cuePointEvent cuePointId deviceEvent deviceEventId passDeviceEvent passDeviceId positionChangeEvent positionChangeId ═══ 3.28. IMMMasterAudio ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMMasterAudio ═══ Title: IBM master audio Class name: IMMMasterAudio Base part: IStandardNotifier Part type: Nonvisual part Part file: vbmm.vbb An IMMMasterAudio part is a master volume and sound device control. The user can operate the master volume through a visual control you provide. A circular slider is well suited for visual control of volume. Use an IMMMasterAudio part to provide a master volume control. Your application can also use the control to enable and disable speakers and headphones. Be aware that a master audio control affects all sound output for the system. ═══ Building Guidelines - IMMMasterAudio ═══ When building with an IMMMasterAudio part, you can do the following:  Define an initial volume setting. Do this by entering a value in the volume field on the IMMMasterAudio part settings page. Values range from 0 for no volume to 100 for the maximum volume.  Provide visual access to the volume setting. Do this using a circular slider as a volume dial: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMMasterAudio volume attribute.  Provide visual access to master audio actions. Do this using animated buttons that the user can press to activate controls. For example, provide a mute button as follows: - Select an IAnimatedButton part from the parts palette and drop it on a canvas. - Define the animated button as a latchable mute button. Do this as follows: -- Assign play bitmaps to the animated button. Do this by selecting the mute bitmap identifier in the Bitmap field on the IAnimatedButton General settings page. -- Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IAnimatedButton Styles settings page. - Connect the IAnimatedButton buttonClickEvent feature to IMMMasterAudio Custom logic. Enter C++ code to mute and unmute the sound. For example, you could enter the following code: unsigned long volumeBeforeMute = 50; // Set an initial previous volume if (target->volume() == 0) // Turn sound on if it is off { target->setVolume(volumeBeforeMute); } else // Turn sound off if it is on { volumeBeforeMute = target->volume(); target->setVolume(0); } ═══ Attributes - IMMMasterAudio ═══ Attribute S E Data type areHeadphonesEnabled Boolean areSpeakersEnabled Boolean asDebugInfo IString asString IString enabledForNotification ■ Boolean volume ■ unsigned long ═══ Actions - IMMMasterAudio ═══ Action Parameters disableHeadphones IMMDevice::CallType disableNotification None disableSpeakers IMMDevice::CallType enableHeadphones Boolean, IMMDevice::CallType enableSpeakers Boolean, IMMDevice::CallType notifyObservers INotificationId& operator = IStandardNotifier& saveHeadphonesSetting IMMDevice::CallType saveSpeakersSetting IMMDevice::CallType saveVolume IMMDevice::CallType ═══ 3.29. IMMPlayerPanel ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Personal Notes ═══ Part Description - IMMPlayerPanel ═══ Title: IBM player panel Class name: IMMPlayerPanel Base part: IMultiCellCanvas Part type: Visual part Part file: vbmm.vbb An IMMPlayerPanel part is a multimedia device control panel. The user can operate an audio or video player through visual controls in the player panel. Use an IMMPlayerPanel part for easy composition and control of audio and video players. ═══ Building Guidelines - IMMPlayerPanel ═══ When building with an IMMPlayerPanel part, you can do the following:  Associate the player panel with a device. Do this by identifying the device as the playable device for the panel. For example, to use the player panel with an audio CD player, connect the IMMAudioCD this attribute to the IMMPlayerPanel playableDevice attribute. Buttons in the player panel are automatically connected to corresponding actions in the associated player. For example, the play button is automatically connected to the play action of the player part. The IMMPlayerPanel part also provides automatic disablement and enablement of buttons when related buttons are pressed. For example, if the player is stopped, the stop and pause buttons are disabled. As another example, if the pause button is pressed while the device is playing, the pause button is latched down and the play button is unlatched. ═══ Attributes - IMMPlayerPanel ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultCell ■ ISize defaultPushButton IWindowHandle deviceType unsigned long disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor dragLines ■ Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean fastForwardButton IAnimatedButton* focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean gridLines ■ Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle origDefaultButtonHandle IWindowHandle owner ■ IWindow* parent ■ IWindow* parentSize ISize pauseButton IAnimatedButton* playableDevice ■ IMMPlayableDevice* playButton IAnimatedButton* pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle rewindButton IAnimatedButton* shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize stepBackwardButton IAnimatedButton* stepForwardButton IAnimatedButton* stopButton IAnimatedButton* tabStop ■ Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IMMPlayerPanel ═══ Action Parameters addToCell IWindow*, unsigned long, unsigned long, unsigned long, unsigned long applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean columnWidth unsigned long convertToGUIStyle IBitFlag&, Boolean disable None disableDragLines None disableGridLines None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isColumnExpandable unsigned long isLayoutDistorted unsigned long isRowExpandable unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeFromCell unsigned long, unsigned long resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None rowHeight unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setColumnWidth unsigned long, unsigned long, Boolean setFocus None setLayoutDistorted unsigned long, unsigned long setRowHeight unsigned long, unsigned long, Boolean show Boolean showSourceEmphasis Boolean windowInCell unsigned long, unsigned long ═══ Events - IMMPlayerPanel ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IMMPlayerPanel ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - IMMPlayerPanel ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IMMPlayerPanel ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IMMPlayerPanel ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IMMPlayerPanel ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - IMMPlayerPanel ═══ X field Sets the X coordinate of the part if it is not the client part. Default value: Not available Y field Sets the Y coordinate of the part if it is not the client part. Default value: Not available Width Sets the width of the canvas, if it is not the client part. Default value: Not available Height Sets the height of the canvas, if it is not the client part. Default value: Not available 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ 3.30. IMMSequencer ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMMSequencer ═══ Title: IBM sequencer Class name: IMMSequencer Base part: IMMFileMedia Part type: Nonvisual part Part file: vbmm.vbb An IMMSequencer part is a Musical Instrument Digital Interface (MIDI) file audio player control. The user can operate the sequencer through visual controls. You can easily provide button controls with the IMMPlayerPanel part. You can provide volume control for all audio devices with the IMMMasterAudio part. Use an IMMSequencer part to provide standard audio player functions for MIDI files. ═══ Building Guidelines - IMMSequencer ═══ When building with an IMMSequencer part, you can do the following:  Define an initial volume setting. Do this by entering a value in the volume field on the IMMSequencer part settings page. Values range from 0 for no volume to 100 for the maximum volume. If you are providing an IMMMasterAudio part for volume control and are not providing visual access to the volume setting for the sequencer, set the volume field value to 100.  Provide visual access to the volume setting. Do this using a circular slider as a volume dial: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMSequencer volume attribute. If you are providing visual volume control with an IMMMasterAudio part as well as with the sequencer, the master audio volume setting determines the maximum volume produced. The player volume is the product of the master audio volume setting and the player volume setting. For example, if the master audio volume is set at 50 and the player volume is set at 80, the player volume is 40 percent of its potential maximum.  Provide visual access to sequencer actions. Do this using animated buttons that the user can press to activate controls. For example, provide a play button as follows: - Select an IAnimatedButton part from the parts palette and drop it on a canvas. - Define the animated button as a latchable play button. Do this as follows: -- Assign play bitmaps to the animated button. Do this by selecting the play bitmap identifier in the Bitmap field on the IAnimatedButton General settings page. -- Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IAnimatedButton Styles settings page. - Connect the IAnimatedButton buttonClickEvent feature to the IMMSequencer play action.  Define the speed format for the sequencer if you do not want to use the system-provided format. Do this by selecting a choice for the speedFormat field on the IMMSequencer part settings page.  Define the time format for the sequencer if you do not want to use the system-provided format. Do this by selecting a choice for the timeFormat field on the IMMSequencer part settings page. ═══ Attributes - IMMSequencer ═══ Attribute S E Data type acquired Boolean aliasName IString asDebugInfo IString asString IString audioEnabled ■ Boolean closeOnDestroy ■ Boolean description IString deviceId unsigned long deviceName IString deviceType unsigned long enabledForNotification ■ Boolean filename ■ IString isOpen Boolean length unsigned long mode Mode position unsigned long prerollTime IMMTime prerollType PrerollType readOnly Boolean requiresFiles Boolean speedFormat ■ IMMSpeed::Format supportsAudio Boolean supportsDigitalTransfer Boolean supportsDisableEject Boolean supportsEject Boolean supportsPlay Boolean supportsRecord Boolean supportsRecordInsertion Boolean supportsSave Boolean supportsStreaming Boolean supportsVideo Boolean supportsVolumeAdjustment Boolean timeFormat ■ IMMTime::Format volume ■ unsigned long ═══ Actions - IMMSequencer ═══ Action Parameters acquire ShareMode, Boolean, CallType addCuePoint IMMTime&, CallType close CallType connectedDeviceId ConnectorType, CallType cueForPlayback CallType deletePendingEvents EventType disableAudio AudioChannel, IMMMillisecondTime&, CallType disableConnector ConnectorType, CallType disableNotification None enableConnector ConnectorType, Boolean, CallType isConnectionSupported ConnectorType, CallType isConnectorEnabled ConnectorType, CallType loadOnThread IString&, Boolean notifyObservers INotificationId& open IString&, Boolean, CallType openOnThread IString&, Boolean, CallType operator = IStandardNotifier& pause CallType play IMMTime&, IMMTime&, Boolean, CallType release CallType removeCuePoint IMMTime&, CallType resume Boolean, CallType seek IMMTime&, CallType seekToEnd CallType seekToStart CallType startPositionTracking IMMTime&, CallType stepFrame unsigned long, Boolean, CallType stop CallType stopPositionTracking CallType supportsCommand IMMNotifyEvent::Command, CallType ═══ Events - IMMSequencer ═══ Event Notification ID commandNotifyEvent commandNotifyId cuePointEvent cuePointId deviceEvent deviceEventId passDeviceEvent passDeviceId positionChangeEvent positionChangeId ═══ 3.31. IMMWaveAudio ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Personal Notes ═══ Part Description - IMMWaveAudio ═══ Title: IBM wave audio Class name: IMMWaveAudio Base part: IMMConfigurableAudio Part type: Nonvisual part Part file: vbmm.vbb An IMMWaveAudio part is a waveform file audio player and recorder control. The user can operate the sequencer through visual controls. You can easily provide button controls with the IMMPlayerPanel part. You can provide volume control for all audio devices with the IMMMasterAudio part. Use an IMMWaveAudio part to provide standard audio player functions for waveform files. ═══ Building Guidelines - IMMWaveAudio ═══ When building with an IMMWaveAudio part, you can do the following:  Define an initial volume setting. Do this by entering a value in the volume field on the IMMWaveAudio part settings page. Values range from 0 for no volume to 100 for the maximum volume. If you are providing an IMMMasterAudio part for volume control and are not providing visual access to the volume setting for the waveform player, set the volume field value to 100.  Provide visual access to the volume setting. Do this using a circular slider as a volume dial: - Use the Add part choice on the Composition Editor Options menu to get an ICircularSlider part; then, drop it on a canvas. - Define the circular slider as a volume control with values from 0 to 100. - Connect the ICircularSlider value attribute to the IMMWaveAudio volume attribute. If you are providing visual volume control with an IMMMasterAudio part as well as with the waveform player, the master audio volume setting determines the maximum volume produced. The player volume is the product of the master audio volume setting and the player volume setting. For example, if the master audio volume is set at 50 and the player volume is set at 80, the player volume is 40 percent of its potential maximum.  Provide visual access to waveform player actions. Do this using animated buttons that the user can press to activate controls. For example, provide a play button as follows: - Select an IAnimatedButton part from the parts palette and drop it on a canvas. - Define the animated button as a latchable play button. Do this as follows: -- Assign play bitmaps to the animated button. Do this by selecting the play bitmap identifier in the Bitmap field on the IAnimatedButton General settings page. -- Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IAnimatedButton Styles settings page. - Connect the IAnimatedButton buttonClickEvent feature to the IMMWaveAudio play action.  Define the number of audio output channels for the waveform player. Do this by entering a number in the channels field on the IMMWaveAudio part settings page. Enter 1 for monophonic (mono) output or 2 for stereophonic (stereo) output.  Define the audio format for the waveform player. The default format is pcm. Do this by selecting a choice for the format field on the IMMWaveAudio part settings page.  Define the speed format for the waveform player if you do not want to use the system-provided format. Do this by selecting a choice for the speedFormat field on the IMMWaveAudio part settings page.  Define the time format for the waveform player if you do not want to use the system-provided format. Do this by selecting a choice for the timeFormat field on the IMMWaveAudio part settings page. ═══ Attributes - IMMWaveAudio ═══ Attribute S E Data type acquired Boolean aliasName IString asDebugInfo IString asString IString audioEnabled ■ Boolean bitsPerSample ■ unsigned long blockAlignment ■ unsigned long bytesPerSecond ■ unsigned long canRedo Boolean canUndo Boolean channels ■ unsigned long closeOnDestroy ■ Boolean cutCopyBufferSize unsigned long description IString deviceId unsigned long deviceName IString deviceType unsigned long enabledForNotification ■ Boolean filename ■ IString format ■ IMMAudioBuffer::Format isOpen Boolean length unsigned long mode Mode position unsigned long prerollTime IMMTime prerollType PrerollType readOnly Boolean requiresFiles Boolean samplesPerSecond ■ unsigned long speedFormat ■ IMMSpeed::Format supportsAudio Boolean supportsDigitalTransfer Boolean supportsDisableEject Boolean supportsEject Boolean supportsPlay Boolean supportsRecord Boolean supportsRecordInsertion Boolean supportsSave Boolean supportsStreaming Boolean supportsVideo Boolean supportsVolumeAdjustment Boolean timeFormat ■ IMMTime::Format volume ■ unsigned long ═══ Actions - IMMWaveAudio ═══ Action Parameters acquire ShareMode, Boolean, CallType addCuePoint IMMTime&, CallType close CallType connectedDeviceId ConnectorType, CallType copy IMMTime&, IMMTime&, CallType copyFromBuffer IMMAudioBuffer&, CallType copyToBuffer IMMAudioBuffer&, IMMTime&, IMMTime&, CallType cueForPlayback CallType cueForRecording CallType cut IMMTime&, IMMTime&, CallType cutToBuffer IMMAudioBuffer&, IMMTime&, IMMTime&, CallType deletePendingEvents EventType deleteSelection IMMTime&, IMMTime&, CallType disableAudio AudioChannel, IMMMillisecondTime&, CallType disableConnector ConnectorType, CallType disableNotification None enableConnector ConnectorType, Boolean, CallType isConnectionSupported ConnectorType, CallType isConnectorEnabled ConnectorType, CallType loadOnThread IString&, Boolean notifyObservers INotificationId& open IString&, Boolean, CallType openOnThread IString&, Boolean, CallType operator = IStandardNotifier& paste IMMTime&, IMMTime&, Boolean, CallType pasteFromBuffer IMMAudioBuffer&, IMMTime&, IMMTime&, CallType pasteToBuffer IMMAudioBuffer&, CallType pause CallType play IMMTime&, IMMTime&, Boolean, CallType record Boolean, IMMTime&, IMMTime&, Boolean, CallType redo CallType release CallType removeCuePoint IMMTime&, CallType resume Boolean, CallType save CallType saveAs IString&, CallType seek IMMTime&, CallType seekToEnd CallType seekToStart CallType startPositionTracking IMMTime&, CallType stepFrame unsigned long, Boolean, CallType stop CallType stopPositionTracking CallType supportsCommand IMMNotifyEvent::Command, CallType supportsWaveFormat unsigned long, unsigned long, unsigned long, IMMAudioBuffer::Format, CallType undo CallType ═══ Events - IMMWaveAudio ═══ Event Notification ID commandNotifyEvent commandNotifyId cuePointEvent cuePointId deviceEvent deviceEventId passDeviceEvent passDeviceId positionChangeEvent positionChangeId ═══ 3.32. IMultiCellCanvas ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IMultiCellCanvas ═══ Title: IBM resizable multicell canvas Class name: IMultiCellCanvas Base part: ICanvas Part type: Visual part Part file: vbbase.vbb An IMultiCellCanvas part is a set of cells in rows and columns that can contain controls spanning rows and columns. This provides flexibility in arranging controls on the canvas. The user interacts with controls placed on the canvas, not with the canvas itself. Use an IMultiCellCanvas part to provide freely arranged canvas cells within a framework, such as one of the following:  The client area of a frame window  A view port  A multicell canvas cell  A split canvas pane  A notebook page You can then place other controls within the cells of the multicell canvas. You can also use a multicell canvas as the base part for a composite part. Then, you can add the canvas with its controls as a subpart on a canvas in another composite part. The cells in a multicell canvas are adjusted for varying control text length. This enhances national language support. If you build the multicell canvas with some expandable rows and columns, controls in the cells remain uniformly spaced when the user resizes the canvas. Alternatively, use one of the following canvases:  ICanvas for a single canvas cell  ISplitCanvas for split windows  ISetCanvas for canvas cells in uniform rows or columns ═══ Building Guidelines - IMultiCellCanvas ═══ When building with an IMultiCellCanvas part, you can do the following:  Place controls in the multicell canvas. Do this by dropping controls in the cells where they are to begin. The cell is sized to accommodate the largest minimum size of controls in the row and column. Do not place controls in the first row and the first column. Reserve them as left and top margins. If you drop a control in the expansion space initially provided on the right and bottom of the canvas, a new row or column is added to accommodate the size of the control.  Stretch a control to span multiple rows or columns. Do this as follows: 1. Select the control with mouse button 1 2. Press an Alt key and drag a corner handle of the control to the far side of the row or column that the control is to end in.  Add or remove rows. Do this as follows: 1. Press mouse button 2 and select the Rows choice in the contextual menu. 2. Select the Add row after, the Add row before, or the Delete row choice from the submenu.  Add or remove columns. Do this as follows: 1. Select the Columns choice in the contextual menu. 2. Select the Add column after, the Add column before, or the Delete column choice from the submenu.  Create expansion space between controls so they remain evenly spaced when the user resizes the canvas. Do this by changing the Expand value for rows and columns between controls to y (yes). Change these values in the Rows table and the Columns table on the IMultiCellCanvas General settings page. The initial expansion space on the right or bottom of the canvas is removed when you make a column or row expandable. You can also add and remove rows and columns in these tables.  Create right and bottom margins for the multicell canvas. Do this by adding a row and column at the right and bottom. Do not place any controls in these margins.  Add a handler for all parts on the canvas. Do this as follows: - Add the handler name and parameters in the Handler list field on the IMultiCellCanvas Handlers settings page. - Type the .hpp file name for the handler in the Class Editor Required include files field. ═══ Attributes - IMultiCellCanvas ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultCell ■ ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor dragLines ■ Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean gridLines ■ Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle origDefaultButtonHandle IWindowHandle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IMultiCellCanvas ═══ Action Parameters addToCell IWindow*, unsigned long, unsigned long, unsigned long, unsigned long applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean columnWidth unsigned long convertToGUIStyle IBitFlag&, Boolean disable None disableDragLines None disableGridLines None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isColumnExpandable unsigned long isLayoutDistorted unsigned long isRowExpandable unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeFromCell unsigned long, unsigned long resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None rowHeight unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setColumnWidth unsigned long, unsigned long, Boolean setFocus None setLayoutDistorted unsigned long, unsigned long setRowHeight unsigned long, unsigned long, Boolean show Boolean showSourceEmphasis Boolean windowInCell unsigned long, unsigned long ═══ Events - IMultiCellCanvas ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IMultiCellCanvas ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the 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. Default value: None Rows Sets the number and height of rows, and whether or not their height can be adjusted. Default value: Nil Columns Sets the number and width of columns, and whether or not they can be widened. Default value: Foreground is selected Add Adds a row or column to the multicell canvas. Default value: Selectable Add after Adds a row or column to the multicell canvas after the the selected row or column. Default value: Not selectable Add before Adds a row or column to the multicell canvas before the the selected row or column. Default value: Not selectable Delete Deletes the selected row or column from the canvas. Default value: Not selectable ═══ Control Settings - IMultiCellCanvas ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IMultiCellCanvas ═══ defaultStyle() Resets the part to the original default style. Default value: Selected dragLines Adds draggable grid lines between the rows and columns of the multicell canvas. Default value: The default is off, and the Default radio button is selected. gridLines Adds grid lines between the rows and columns of the multicell canvas. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IMultiCellCanvas ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IMultiCellCanvas ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - IMultiCellCanvas ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IMultiCellCanvas ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.33. IMultiLineEdit ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IMultiLineEdit ═══ Title: IBM multiple-line edit control Class name: IMultiLineEdit Base part: ITextControl Part type: Visual part Part file: vbbase.vbb An IMultiLineEdit part is a multiple-line entry (MLE) field. The user can type or place text into the multiple-line entry field. Use an IMultiLineEdit part to let the user define or view multiple-line text data. Alternatively, use an IEntryField part for single-line data. ═══ Building Guidelines - IMultiLineEdit ═══ When building with an IMultiLineEdit part, you can do the following:  Prime the multiple-line entry (MLE) field with variable initial data. Do this by connecting your data source to the text attribute. Your application should make this connection before it shows the frame window.  Allow the user to reach the entry field by using a tab key. Do this by setting the tabStop field to On on the IMultiLineEdit Styles settings page.  Load the MLE when the user presses the OK push button in a file dialog. Do this with an IMultiLineEdit part and an IVBFileDialog as follows: 1. Connect the IVBFileDialog pressedOK event to the IMultiLineEdit importFromFile action. 2. Connect the IVBFileDialog fileName attribute to the fileName parameter of the pressedOK-to-importFromFile connection.  Save the contents of the MLE to a file when the user presses the OK push button in a file dialog. Do this with an IMultiLineEdit part and an IVBFileDialog as follows: 1. Connect the IVBFileDialog pressedOK event to the IMultiLineEdit exportToFile action. 2. Connect the IVBFileDialog fileName attribute to the fileName parameter of the pressedOK-to-exportToFile connection. ═══ Attributes - IMultiLineEdit ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor changed Boolean characterSize ISize clipboardHasTextFormat Boolean cursorLinePosition ■ unsigned long cursorPosition ■ unsigned long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize editRegionHeight ■ unsigned long editRegionWidth ■ unsigned long enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hasSelectedText Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ ■ unsigned long menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle numberOfLines unsigned long owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle selectedRange IRange selectedText IString selectedTextLength unsigned long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long top ■ unsigned long undoable Boolean valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleLines unsigned long visibleRectangle IRectangle wordWrap ■ Boolean writeable ■ ■ Boolean ═══ Actions - IMultiLineEdit ═══ Action Parameters add char*, unsigned long, EOLFormat addAsLast char*, unsigned long, EOLFormat addAtOffset char*, unsigned long, unsigned long, EOLFormat addLine char*, unsigned long, EOLFormat addLineAsLast char*, EOLFormat applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean clear unsigned long convertToGUIStyle IBitFlag&, Boolean copy unsigned long cut unsigned long disable None disableDataUpdate None disableGroup None disableNotification None disableTabStop None disableUpdate None disableWordWrap None discard None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean exportSelectedTextToFile char*, EOLFormat exportToFile char*, EOLFormat handleException IException&, IEvent& hide None hideSourceEmphasis None importFromFile char*, EOLFormat isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& paste None positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeAll None removeLine unsigned long resetActiveColor None resetBackgroundColor None resetBorderColor None resetChangedFlag None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None selectRange constIRange&range, unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setChangedFlag Boolean setEditRegion None setFocus None setLayoutDistorted unsigned long, unsigned long setTab unsigned long show Boolean showSourceEmphasis Boolean undo None ═══ Events - IMultiLineEdit ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IMultiLineEdit ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 4 294 967 295 ═══ Control Settings - IMultiLineEdit ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IMultiLineEdit ═══ defaultStyle() Resets the part to the original default style. Default value: Selected border Draws a border around the frame window, or sets the color of the border that surrounds the button window. Default value: The Default radio button is selected. readOnly Prevents entering input into the field. Default value: The default is off, and the Default radio button is selected. horizontalScroll Provides a horizontal scroll bar for the part. Default value: The default is on, and the Default radio button is selected. verticalScroll Provides a vertical scroll bar for the part. Default value: The Default radio button is selected. ignoreTab Sets the MLE so it ignore tab key strokes. The function sends a keyboard event to the owner of the MLE. Default value: The Default radio button is selected. wordWrap Sets the word-wrap style for the part. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IMultiLineEdit ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IMultiLineEdit ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IMultiLineEdit ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IMultiLineEdit ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.34. INotebook ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - INotebook ═══ Title: IBM notebook control Class name: INotebook Base part: IControl Part type: Visual part Part file: vbbase.vbb An INotebook part is a software representation of a physical notebook. It presents information on pages and marks the first page of each section with a tab. The user can do the following with a notebook:  Turn the pages by clicking on page buttons  Move directly to a section by selecting a tab  View or change information by using other controls Use an INotebook part for settings choices or for information that can be organized into sections. ═══ Building Guidelines - INotebook ═══ When building with an INotebook part, you can do the following:  Place a notebook in a frame window. Do this by selecting an INotebook part from the parts palette and dropping it on the client area of a frame window.  Define the orientation of a notebook. Do this by selecting the back page and major tab orientation you want in the Layout field on the INotebook General settings page.  Define the binding for a notebook. Do this by selecting the Solid or Spiral choice in the Binding field on the INotebook General settings page.  Define tab appearance for a notebook. Do this by selecting the shape you want in the tabShape field and the tab text alignment you want in the Tab Justification field on the INotebook General settings page. By default, the tab size is determined by the underlying class. If you want to set a tab size, set the majorTab and minorTab fields on the INotebook General settings page.  Define the alignment of status text at the bottom of each notebook page. Do this by selecting the alignment you want in the Status area Justification field on the INotebook General settings page.  Add a page to a notebook. Do this by clicking mouse button 2 on the notebook and selecting an add page choice. When there are no pages in the notebook, your only page choice is Add Initial Page. When the notebook has one or more pages, select Add Page After or Add Page Before. An IVBNotebookPage part is placed in the notebook. ═══ Attributes - INotebook ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean binding ■ Binding borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor empty Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean firstPage IPageHandle focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* lastPage IPageHandle layoutAdjustment IRectangle majorTabBackgroundColor ■ ■ IColor majorTabForegroundColor ■ ■ IColor menu messageQueue IMessageQueueHandle minimumSize ■ ISize minorTabBackgroundColor ■ ■ IColor minorTabForegroundColor ■ ■ IColor nativeRect IRectangle orientation ■ ■ Orientation owner ■ IWindow* pageBackgroundColor ■ ■ IColor pageSize ISize parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize statusTextAlignment ■ TextAlignment tabShape ■ TabShape tabStop ■ Boolean tabTextAlignment ■ TextAlignment topPage IPageHandle totalPages unsigned long valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - INotebook ═══ Action Parameters addFirstPage PageSettings&, IWindow* addLastPage PageSettings&, IWindow* addPageAfter PageSettings&, Cursor&, IWindow* addPageBefore PageSettings&, Cursor&, IWindow* applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short nextPage IPageHandle& notebookSize IPageHandle& notifyObservers INotificationEvent& pageSettings Cursor& pagesToEnd Cursor& pagesToMajorTab Cursor& pagesToMinorTab Cursor& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& previousPage IPageHandle& refresh IRectangle& refreshTabs None releasePointer None releasePresSpace IPresSpaceHandle& removeAllPages None removePage IPageHandle& removeTabSection IPageHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMajorTabBackgroundColor None resetMajorTabForegroundColor None resetMinimumSize None resetMinorTabBackgroundColor None resetMinorTabForegroundColor None resetPageBackgroundColor None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setMajorTabSize ISize& setMinorTabSize ISize& setPageButtonSize ISize& setStatusText IPageHandle&, IResourceId& setTabBitmap IPageHandle&, IResourceId& setTabText IPageHandle&, char* setUserData IPageHandle&, unsigned long setWindow IPageHandle&, IWindow* show Boolean showSourceEmphasis Boolean turnToPage Cursor& window IPageHandle& ═══ Events - INotebook ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - INotebook ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Layout Defines the placement and layout of the part. Default value: First orientation (to the left of those shown) selected Binding Sets the type of binding used for the notebook. Default value: Solid tabShape Sets the shape of the notebook tabs. Default value: Square Preview Lets you preview the text, which displays in the current font. Default value: Tab tab on the right appears as Page 1 Justification Defines the alignment for the text in the status line for the notebook. Default value: Left Tab Defines the alignment for the text in the tabs for the notebook. Default value: Left Width Sets the width of the arrow push button on the notebook page. Default value: None Height Sets the height of the arrow push button on the notebook page. Default value: None Width Sets the size (width) of the major tabs in the notebook, in pixels. Default value: None Height Sets the size (height) of the major tabs in the notebook, in pixels. Default value: None Width Sets the size (width) of the minor tabs in the notebook, in pixels. Default value: None Height Sets the size (height) of the minor tabs in the notebook, in pixels. Default value: None ═══ Control Settings - INotebook ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - INotebook ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - INotebook ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - INotebook ═══ 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 Default value: Background is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the notebook. Default value: Red=204, Green=204, Blue=204 ═══ Size/Position Settings - INotebook ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - INotebook ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.35. INumericSpinButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - INumericSpinButton ═══ Title: IBM spin-button control with numeric contents Class name: INumericSpinButton Base part: IBaseSpinButton Part type: Visual part Part file: vbbase.vbb An INumericSpinButton part is a ring of numeric choices. One choice is visible at a time. The user can spin the ring upward or downward to select another choice. Use an INumericSpinButton part to provide, in sequence, a ring of related but mutually exclusive numeric choices. For example, use a spin button for a numeric selection list of the months of the year. Alternatively, use an ITextSpinButton for a ring of text choices. ═══ Building Guidelines - INumericSpinButton ═══ When building with an INumericSpinButton part, you can do the following:  Define the range of numbers for the spin button. Do this by setting the Numeric range field on the INumericSpinButton General settings page.  Define a default selection for the spin button. Do this by setting the Value field on the INumericSpinButton General settings page.  Align numeric values to the right in the spin button entry field. Do this by selecting the Right setting in the Alignment field on the INumericSpinButton General settings page.  Prevent the user from typing a choice. Do this by setting the Read only field on the INumericSpinButton Styles settings page.  Make the spin button skip values to cycle faster when the user continues to spin the button. Do this by setting the Fast spin field on the INumericSpinButton Styles settings page.  Copy the selection from the spin button to a numeric connection parameter or attribute. Do this by connecting the INumericSpinButton value attribute to the numeric target. ═══ Attributes - INumericSpinButton ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean border Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean fastSpinEnabled ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ unsigned long master Boolean menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle range ■ IRange rect ■ IRectangle servant Boolean shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize spinFieldValid Boolean tabStop ■ Boolean valid Boolean value ■ ■ long visible ■ ■ Boolean visibleRectangle IRectangle writeable ■ Boolean ═══ Actions - INumericSpinButton ═══ Action Parameters addBorder Boolean applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableDataUpdate None disableFastSpin None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeBorder None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setMaster IBaseSpinButton& show Boolean showSourceEmphasis Boolean spinDown unsigned long spinTo long, Boolean spinUp unsigned long ═══ Events - INumericSpinButton ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId textEvent textId valueEvent valueId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - INumericSpinButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the 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. Default value: Left 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. Default value: 0 Value Sets the current value for the spin button. Default value: 0 Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 32 ═══ Control Settings - INumericSpinButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - INumericSpinButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected padWithZeros Pads the displayed number with zeros at the front. Default value: The Default radio button is selected. readOnly Prevents entering input into the field. Default value: The default is off, and the Default radio button is selected. noBorder Suppresses the drawing of a border. Default value: The Default radio button is selected. fastSpin Enables the spin button to increase the spin speed with time. The speed doubles every two seconds. Default value: The Default radio button is selected. 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. Default value: The default is on, and the Default radio button is selected. servant Allows the user to create a multiple-field spin button by spinning servants from the master. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - INumericSpinButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - INumericSpinButton ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - INumericSpinButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - INumericSpinButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.36. IOutlineBox ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IOutlineBox ═══ Title: IBM outline control without text label Class name: IOutlineBox Base part: IControl Part type: Visual part Part file: vbbase.vbb An IOutlineBox part is an unlabeled rectangular box that can contain a group of related user-interface controls. 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. Use an IOutlineBox part to visually group a set of controls without labeling the group. Alternatively, use an IGroupBox part if you want to label the group. ═══ Building Guidelines - IOutlineBox ═══ When building with an IOutlineBox part, you can do the following:  Define a set of related controls in a group box. Do this as follows: 1. Select an IOutlineBox part from the parts palette and drop it on a canvas. 2. Resize the outline box to the size you think you need by selecting it on the canvas and dragging a corner handle. 3. Add the controls you want in the outline box. If you add the outline box after adding the controls you are enclosing, you must change the tabbing and depth order of controls on the canvas to position the outline box ahead of the controls within it. Do this by clicking mouse button 2 on the canvas and selecting the Tabbing And Depth Order choice. Then, press mouse button 2 on the outline box in the Tabbing And Depth Order panel and drag it to a new position just before the first control it contains.  Make the controls in the outline box a cursoring group that the user can reach with a tab key. The user can cycle through controls in a cursoring group using the keyboard cursor keys. Do this by setting the group and tabStop fields to On on the Styles settings page of the first control in the outline box. Leave these fields set to Off for the rest of the controls in the outline box. Also make sure that the first control following the outline box on your canvas has the group field set to On. This makes the last control in the outline box the end of the cursoring group. You can view and modify the group and tabStop settings of controls in the Tabbing And Depth Order panel. ═══ Attributes - IOutlineBox ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle outlineType ■ OutlineType owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IOutlineBox ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IOutlineBox ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IOutlineBox ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - IOutlineBox ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IOutlineBox ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IOutlineBox ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IOutlineBox ═══ Outline type Sets the type of outline. Default value: Foreground color Color area Sets the color of the given area. Choices are as follows: Foreground Sets the color for foreground text Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - IOutlineBox ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IOutlineBox ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.37. IProgressIndicator ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IProgressIndicator ═══ Title: IBM read-only slider control Class name: IProgressIndicator Base part: IControl Part type: Visual part Part file: vbbase.vbb An IProgressIndicator part shows the progress of a task. A horizontal or vertical shaft represents the task. 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 finishes. 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 note the progress of a task by observing the progress indicator. If your application provides a push button with cancel support, the user can end the task. Use an IProgressIndicator part to provide a visual measure of the progress of a task. Use a progress indicator for tasks of significant duration. ═══ Building Guidelines - IProgressIndicator ═══ When building with an IProgressIndicator part, you can do the following:  Define the value scale for the progress indicator. Do this as follows: - Enter the number of ticks in the Number of ticks field on the IProgressIndicator General settings page. - Select the location of the scale of tick marks and text relative to the progress indicator. Do this by selecting a choice in the Primary scale field on the IProgressIndicator General settings page. If you want the scale above a horizontal progress indicator or to the right of a vertical indicator, select the Scale 1 choice. If you want the scale below a horizontal progress indicator or to the left of a vertical indicator, select the Scale 2 choice. - Add scale tick marks and text to the progress indicator. Do this using custom logic. Click mouse button 2 on the free-form surface and connect the composite part ready event to IProgressIndicator Custom logic. Enter C++ code to set the size and text for each tick mark. For example, if you want to show percentage of completion with marks at ten-percent intervals, you could enter the following code: for (int i = 0; i < 101; i += 10) { target->setTickLength(i, 10); target->setTickText(i, IString(i)); }  Add a ribbon strip to the progress indicator. Do this by setting the Ribbon strip field to On on the IProgressIndicator Styles settings page.  Determine the orientation of the progress indicator. By default, the orientation is horizontal. To orient the progress indicator vertically, set the vertical field to On and the set the horizontal field to Off on the IProgressIndicator Styles settings page.  Define the home position for the progress indicator. Do this by selecting a choice in the Home position field on the IProgressIndicator General settings page. If you want the home position at the left of a horizontal progress indicator or at the bottom of a vertical indicator, select the Left or bottom choice. If you want the home position at the right of a horizontal progress indicator or at the top of a vertical indicator, select the Top or right choice.  If you want the initial arm offset somewhere other than at the home position, set the Arm offset field on the IProgressIndicator General settings page. Specify either a tick offset for Ticks or a pixel offset for Pixels.  Force the arm to the nearest tick if you use a pixel offset. Do this by setting the snapToTickMark field to On on the IProgressIndicator Styles settings page.  Advance the arm to indicate progress. Do this by connecting the source of your progress information to the IProgressIndicator armTickOffset attribute, providing the new tick location of the arm. ═══ Attributes - IProgressIndicator ═══ Attribute S E Data type activeColor ■ ■ IColor alignment Alignment armPixelOffset ■ ■ unsigned long armRange unsigned long armTickOffset ■ ■ unsigned long asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor drawItemEnabled ■ Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor homePosition ■ HomePosition id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle primaryScale ■ ■ Scale rect ■ IRectangle ribbonStripEnabled ■ Boolean shadowColor ■ ■ IColor shaftPosition ■ IPoint shaftSize ISize showing Boolean size ■ ■ ISize snapToTickEnabled ■ Boolean tabStop ■ Boolean valid Boolean vertical Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IProgressIndicator ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableDrawItem None disableGroup None disableNotification None disableRibbonStrip None disableSnapToTick None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& numberOfTicks Scale positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setShaftBreadth unsigned long setTickLength unsigned long, unsigned long setTicks unsigned long, unsigned long, unsigned long, unsigned long setTickText unsigned long, char* show Boolean showSourceEmphasis Boolean tickLength unsigned long tickPosition unsigned long tickSpacing Scale tickText unsigned long ═══ Events - IProgressIndicator ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID scaleEvent scaleId systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IProgressIndicator ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Number of ticks Sets the number of ticks. Default value: 2 Tick spacing Sets the number of pixels between ticks for the specified scale. Default value: None Ticks Sets the position of the arm as a tick number. Ticks are numbered starting at zero. Default value: 0 Pixels Sets the offset of the arm from the home position. Default value: 0 Home position Sets the home position of the progress indicator. Default value: Left or bottom Primary scale Sets the primary scale of the progress indicator. Default value: Scale 1 ═══ Control Settings - IProgressIndicator ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IProgressIndicator ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The default is off, and the Default radio button is selected. snapToTickMark Specifies that the progress indicator arm snap to the nearest tick when moved between two ticks. Default value: The Default radio button is selected. ribbonStrip Sets the default ribbonStrip style. Default value: The Default radio button is selected. handleDrawItem Generates a draw item event to allow the application to draw the part. Default value: The Default radio button is selected. 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. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IProgressIndicator ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IProgressIndicator ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IProgressIndicator ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IProgressIndicator ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.38. IPushButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IPushButton ═══ Title: IBM push-button control Class name: IPushButton Base part: IButton Part type: Visual part Part file: vbbase.vbb An IPushButton part is a selection button for an action or routing choice. The choice is identified by text on the push button. The user can click the push button to perform the indicated function. Use an IPushButton part to let the user confirm changes or request a function. OK and Help push buttons are commonly used examples. Alternatively, to identify the choice with a graphic image, use an IGraphicPushButton part. ═══ Building Guidelines - IPushButton ═══ When building with an IPushButton part, you can do the following:  Assign text to the push button. Do this by setting the Text field on the IPushButton General settings page.  Make the push button be the initial default button. Do this by setting the defaultButton field on the IPushButton Styles settings page.  Allow the user to reach the button by using a tab key. Do this by setting the tabStop field to On on the IPushButton Styles settings page.  If the button is the first control in a group, allow the user to use cursor keys to move between the button and follow controls in the group. Do this by setting the group field to On on the IPushButton Styles settings page.  Start the action represented by the button. Do this by connecting the IPushButton buttonClickEvent feature to the action on the target part.  Open your application help with the push button. Do this by selecting the Help and noPointerFocus fields on the IPushButton Styles settings page.  Enable or disable the push button when an event occurs. Enable the button as follows: 1. Connect the event to the IPushButton enable action. 2. Open settings for the connection, press the Set parameters push button, and check the enabled setting. Disable the button by connecting the event to the IPushButton disable action. ═══ Attributes - IPushButton ═══ Attribute S E Data type activeColor ■ ■ IColor allowsMouseClickFocus ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean border ■ Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean default ■ Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle help ■ Boolean highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize systemCommand ■ ■ Boolean tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IPushButton ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean click None convertToGUIStyle IBitFlag&, Boolean disable None disableDefault None disableGroup None disableHelp None disableMouseClickFocus None disableNotification None disableSystemCommand None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeBorder None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean unhighlight None ═══ Events - IPushButton ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IPushButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part ═══ Control Settings - IPushButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IPushButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected noBorder Suppresses the drawing of a border. Default value: The Default radio button is selected. defaultButton Specifies this push button as the default push button. Default value: The default is on, and the Default radio button is selected. Help Enables help for the part. Default value: Not selected systemCommand Generates a system command event when the user selects the part. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IPushButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IPushButton ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IPushButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IPushButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.39. IRadioButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IRadioButton ═══ Title: IBM radio-button control Class name: IRadioButton Base part: ISettingButton Part type: Visual part Part file: vbbase.vbb An IRadioButton part is a circle with text that represents a settings choice. Selection of the choice is indicated by a mark in the radio button. The user can select a single choice from a set of radio buttons. When the user selects a choice, the previously selected choice is no longer selected. Use an IRadioButton part to provide a choice for a set of mutually exclusive choices, where one choice is always selected. Use radio buttons in a group for a small, fixed set of choices. For example, use a set of radio buttons for a choice of sizes, such as small, medium, and large. You can also use a set of radio buttons for a set of answers to a multiple-choice question. Alternatively, use a group of ICheckBox parts for a set of choices that are not mutually exclusive. ═══ Building Guidelines - IRadioButton ═══ When building with an IRadioButton part, you can do the following:  Set the text for the radio button. Do this by entering the text you want in the Text field on the IRadioButton General settings page.  Set the initial state of the radio button. Do this by selecting or deselecting the Selected field on the IRadioButton General settings page. To initially select your radio button, make sure the Selected field check box is checked. If it is not checked, click on it with mouse button 1 to select it. To initially not select your check box, make sure the Selected field check box is not checked. If it is checked, click on it with mouse button1 to deselect it.  Allow the user to reach the radio button by using a tab key. Do this by setting the tabStop field to On on the IRadioButton Styles settings page.  If the button is the first control in a group, allow the user to use cursor keys to move between the button and follow controls in the group. Do this by setting the group field to On on the IRadioButton Styles settings page. Placing radio buttons in a group also ensures that when the user selects one radio button, the other buttons are deselected.  Enable or disable another control when the user selects the radio button. Enable the other control by connecting the IRadioButton selected attribute to the enabled attribute of the other control. When the user deselects the radio button, the other control is disabled. Disable the other control by connecting the IRadioButton selected attribute to the value attribute of an IVBBooleanPart and then connecting the IVBBooleanPart notValue attribute to the enabled attribute of the other control. When the user deselects the radio button, the other control is enabled. IVBBooleanPart is available in the vbsample.vbb file.  Enable or disable the radio button when an event occurs. Enable the radio button as follows: 1. Connect the event to the IRadioButton enable action. 2. The button is enabled by default. If you have changed this default, open settings for the connection, press the Set parameters push button, and check the Enabled setting. Disable the radio button by connecting the event to the IRadioButton disable action. ═══ Attributes - IRadioButton ═══ Attribute S E Data type activeColor ■ ■ IColor allowsMouseClickFocus ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoSelect ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean cursorSelect ■ Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle selected ■ Boolean selectedIndex unsigned long shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IRadioButton ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean click None convertToGUIStyle IBitFlag&, Boolean deselect None disable None disableAutoSelect None disableCursorSelect None disableGroup None disableMouseClickFocus None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean unhighlight None ═══ Events - IRadioButton ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IRadioButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Selected Sets the selection state of the item to selected. Default value: Not selected ═══ Control Settings - IRadioButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IRadioButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected noCursorSelect Enables selection of the part when the user uses the cursor. Default value: The Default radio button is selected. autoSelect Lets the user change the current selection by moving the cursor. Default value: The default is on, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IRadioButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IRadioButton ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IRadioButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IRadioButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.40. IScrollBar ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IScrollBar ═══ Title: IBM scroll-bar control Class name: IScrollBar Base part: IControl Part type: Visual part Part file: vbbase.vbb An IScrollBar part is a window component consisting of a shaft, a scroll box in the shaft, and scroll buttons at the ends of the shaft. A scroll bar is either horizontal or vertical, indicating the availability of more information in the same dimension. The user can bring information into view using a scroll bar. This is done 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 hold down mouse button 1 in the shaft away from the scroll box to pull it in that direction. This moves the scroll box and view contents by increments of the view width or height.  Click or hold down 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 the line height or character width. Generally, use an IViewPort part for a view with scroll bars. Use an IScrollBar part for custom logic that requires a scrollable view. ═══ Building Guidelines - IScrollBar ═══ When building with an IScrollBar part, you can do the following:  Add a scroll bar to a canvas. Do this by dropping an IScrollBar part on the canvas. Then, position and size the scroll bar to fit the canvas.  Change the scroll bar orientation to horizontal. Do this by setting the vertical field to On and the horizontal field to Off on the IScrollBar Styles settings page. ═══ Attributes - IScrollBar ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor horizontal Boolean id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize minScrollIncrement ■ unsigned long nativeRect IRectangle owner ■ IWindow* pageScrollIncrement ■ unsigned long parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle scrollableRange ■ IRange scrollBoxPosition ■ ■ unsigned long scrollBoxRange IRange shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize systemScrollBarWidth unsigned long systemScrollBoxLength unsigned long systemScrollButtonLength unsigned long tabStop ■ Boolean valid Boolean vertical Boolean visible ■ ■ Boolean visibleCount ■ unsigned long visibleRectangle IRectangle ═══ Actions - IScrollBar ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setScrollBar IRange&, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IScrollBar ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IScrollBar ═══ Name Sets the name of the part. Default value: The name of the part Lower Sets the length of the scroll bar. Default value: 0 Upper Sets the width of the scroll bar. Default value: 0 Visible Count Sets the amount of the scrollable range that is displayed. Default value: 25 Scroll box position Sets the current position of the scroll bar. Default value: 1 Color selection Sets the minimum amount of the scrollable range that the user can scroll by selecting the scroll buttons. Default value: 1 Page scroll increment Sets the amount of the scrollable range that is scrolled by selecting the scroll shaft. Default value: 24 Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - IScrollBar ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IScrollBar ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IScrollBar ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IScrollBar ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the scroll bar. Default value: Red=204, Green=204, Blue=204 ═══ Size/Position Settings - IScrollBar ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IScrollBar ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.41. ISetCanvas ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ISetCanvas ═══ Title: IBM canvas control with child windows set in decks Class name: ISetCanvas Base part: ICanvas Part type: Visual part Part file: vbbase.vbb An ISetCanvas part is a set of cells organized in rows or columns. These rows or columns are called decks. The user interacts with controls placed in the cells, not with the canvas itself. Use an ISetCanvas part to provide adjustable cells in rows or columns within a framework, such as one of the following:  The client area of a frame window  A view port  A multicell canvas cell  A split canvas pane  A notebook page You can then place other controls in the cells of the set canvas. For example, you can easily arrange a field of push buttons in the cells of a set canvas. You can also use a set canvas as the base part for a composite part. Then, you can add the canvas with its controls as a subpart on a canvas in another composite part. The cells in a set canvas are adjusted for varying control text length. This enhances national language support. Alternatively, use one of the following canvases:  ICanvas for a single canvas cell  ISplitCanvas for split windows  IMultiCellCanvas to provide freely arranged canvas cells ═══ Building Guidelines - ISetCanvas ═══ When building with an ISetCanvas part, you can do the following:  Organize the cells in rows or columns. By default, the cells are organized in a single row. To change the cell orientation to columns, select the vertical setting in the Deck orientation field on the ISetCanvas General settings page. To change the number of decks (rows or columns), set the Deck count field on the ISetCanvas General settings page to the number you want.  Place controls in the set canvas. Do this by dropping them on the set canvas. Each cell is made large enough to accommodate any static text in the control placed in the cell.  Align cells across multiple decks to give the appearance of both rows and columns. Do this by selecting the Even setting in the Pack type field on the ISetCanvas General settings page.  Make all cells in a deck the same size. Do this by selecting the Expanded setting in the Pack type field on the ISetCanvas General settings page. The cells are all the the size of the largest minimum size of controls in the cells.  Align the cells in a deck with each other. Do this by selecting the alignment you want in the Alignment field on the ISetCanvas General settings page.  Add a handler for all parts on the canvas. Do this as follows: - Add the handler name and parameters in the Handler list field on the ISetCanvas Handlers settings page. - Type the .hpp file name for the handler in the Class Editor Required include files field. ═══ Attributes - ISetCanvas ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize deckCount ■ unsigned long deckOrientation ■ ■ DeckOrientation defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean groupPad ■ unsigned long handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle margin ■ ISize menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle origDefaultButtonHandle IWindowHandle owner ■ IWindow* packType ■ PackType pad ■ ISize parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ISetCanvas ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - ISetCanvas ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ISetCanvas ═══ Name Sets the name of the part. Default value: The name of the part Deck orientation Sets the current orientation of the deck of child windows. Default value: Vertical Pack type Sets how parts are spaced in decks. Default value: Tight Text Sets the text for the part. Default value: The name of the part Deck count Sets the maximum number of decks used by the canvas. Default value: 1 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. Default value: 8 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. Default value: 10 Width Sets the pad width, which is the space between child windows in a deck and between multiple decks. Default value: 8 Height Sets the pad height, which is the space between child windows in a deck and between multiple decks. Default value: 10 Alignment Changes the alignment of the part. Default value: Upper left Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - ISetCanvas ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ISetCanvas ═══ defaultStyle() Resets the part to the original default style. Default value: Selected horizontalDecks Sets the orientation of the deck of child windows to horizontal. Default value: The Default radio button is selected. verticalDecks Sets the orientation of the deck of child windows to vertical. Default value: The Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ISetCanvas ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ISetCanvas ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - ISetCanvas ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ISetCanvas ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.42. ISlider ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ISlider ═══ Title: IBM linear slider control Class name: ISlider Base part: IProgressIndicator Part type: Visual part Part file: vbbase.vbb An ISlider part shows a range of selection values. A horizontal or vertical shaft represents the range of values. A slider arm marks the selected value. The user moves the arm along the shaft to change the selected value. The user can move the arm in any of the following ways:  Drag it with the mouse.  Click or press a slider button to move the scroll box in the direction indicated on the button. This moves the arm by tick increments defined for the slider. Use an ISlider part to do the following:  Provide a range of seemingly 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 ═══ Building Guidelines - ISlider ═══ When building with an ISlider part, you can do the following:  Define the value scale for the slider. Do this as follows: - Enter the number of ticks in the Number of ticks field on the ISlider General settings page. - Select the location of the scale of tick marks and text relative to the slider. Do this by selecting a choice in the Primary scale field on the ISlider General settings page. If you want the scale above a horizontal slider or to the right of a vertical slider, select the Scale 1 choice. If you want the scale below a horizontal slider or to the left of a vertical slider, select the Scale 2 choice. - Add scale tick marks and text to the slider. Do this using custom logic. Click mouse button 2 on the free-form surface and connect the composite part ready event to ISlider Custom logic. Enter C++ code to set the size and text for each tick mark. For example, if you want the user to set a rating from 0 to 100 with marks at intervals of 10, you could enter the following code: for (int i = 0; i < 101; i += 10) { target->setTickLength(i, 10); target->setTickText(i, IString(i)); }  Determine the orientation of the slider. By default, the orientation is horizontal. To orient the slider vertically, set the vertical field to On and set the horizontal field to Off on the ISlider Styles settings page.  Select the location of slider buttons relative to the slider. Do this by selecting a button location choice on the ISlider Styles settings page. If you want slider buttons, set one of the following location choices to On and set the others to Off: Choice Button location buttonsBottom Below the slider shaft. buttonsLeft Left of the slider shaft. buttonsRight Right of the slider shaft. buttonsTop Above the slider shaft. If you do not want slider buttons, set all of the location choices to Off.  Define the home position for the slider. Do this by selecting a choice in the Home position field on the ISlider General settings page. If you want the home position at the left of a horizontal slider or at the bottom of a vertical slider, select the Left or bottom choice. If you want the home position at the right of a horizontal slider or at the top of a vertical slider, select the Top or right choice.  If you want the initial arm offset somewhere other than at the home position, set the Arm offset field on the ISlider General settings page. Specify either a tick offset for Ticks or a pixel offset for Pixels.  Force the arm to the nearest tick if you use a pixel offset. Do this by setting the snapToTickMark field to On on the ISlider Styles settings page.  Provide the selected value to an attribute in another part or to an action parameter. Do this by connecting the ISlider armTickOffset attribute to the target attribute or action connection parameter. ═══ Attributes - ISlider ═══ Attribute S E Data type activeColor ■ ■ IColor alignment Alignment armPixelOffset ■ ■ unsigned long armRange unsigned long armSize ■ ISize armTickOffset ■ ■ unsigned long asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor buttonsPosition ButtonsPosition characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor drawItemEnabled ■ Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor homePosition ■ HomePosition id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle primaryScale ■ ■ Scale rect ■ IRectangle ribbonStripEnabled ■ Boolean shadowColor ■ ■ IColor shaftPosition ■ IPoint shaftSize ISize showing Boolean size ■ ■ ISize snapToTickEnabled ■ Boolean tabStop ■ Boolean valid Boolean vertical Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ISlider ═══ Action Parameters addDetent unsigned long applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean detentPosition unsigned long disable None disableDrawItem None disableGroup None disableNotification None disableRibbonStrip None disableSnapToTick None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& numberOfTicks Scale positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeDetent unsigned long resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setShaftBreadth unsigned long setTickLength unsigned long, unsigned long setTicks unsigned long, unsigned long, unsigned long, unsigned long setTickText unsigned long, char* show Boolean showSourceEmphasis Boolean tickLength unsigned long tickPosition unsigned long tickSpacing Scale tickText unsigned long ═══ Events - ISlider ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID scaleEvent scaleId systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ISlider ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Number of ticks Sets the number of ticks. Default value: 2 Tick spacing Sets the number of pixels between ticks for the specified scale. Default value: None Ticks Sets the position of the arm as a tick number. Ticks are numbered starting at zero. Default value: 0 Pixels Sets the offset of the arm from the home position. Default value: 0 Home position Sets the home position of the progress indicator. Default value: Left or bottom Primary scale Sets the primary scale of the progress indicator. Default value: Scale 1 ═══ Control Settings - ISlider ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ISlider ═══ defaultStyle() Resets the part to the original default style. Default value: Selected buttonsTop Aligns the push buttons with the top side of the part. Default value: The Default radio button is selected. buttonsBottom Aligns the push buttons with the bottom side of the part. Default value: The Default radio button is selected. buttonsLeft Aligns the push buttons with the left side of the part. Default value: The Default radio button is selected. buttonsRight Aligns the push buttons with the right side of the part. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. snapToTickMark Specifies that the progress indicator arm snap to the nearest tick when moved between two ticks. Default value: The Default radio button is selected. ribbonStrip Sets the default ribbonStrip style. Default value: The Default radio button is selected. handleDrawItem Generates a draw item event to allow the application to draw the part. Default value: The Default radio button is selected. 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. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ISlider ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ISlider ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ISlider ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ISlider ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.43. ISplitCanvas ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ISplitCanvas ═══ Title: IBM canvas divided into resizable panes Class name: ISplitCanvas Base part: ICanvas Part type: Visual part Part file: vbbase.vbb An ISplitCanvas part is a split window in which view ports or canvases can be placed. A split bar appears between panes in the split canvas. The user can move the split bar by pressing mouse button 2 on it and dragging it. Use an ISplitCanvas part to provide split windows within a framework, such as one of the following:  The client area of a frame window  A multicell canvas cell  A notebook page You can then place another canvas or a view port in each pane of the split window. You can also use a split canvas as the base part for a composite part. Then, you can add the canvas with its controls as a subpart on a canvas in another composite part. Alternatively, use one of the following canvases:  ICanvas for a single canvas cell  ISetCanvas for canvas cells in uniform rows or columns  IMultiCellCanvas to provide freely arranged canvas cells ═══ Building Guidelines - ISplitCanvas ═══ When building with an ISplitCanvas part, you can do the following:  Assign the split canvas to the client area of a frame window. Do this as follows: 1. Remove an existing client from the frame window by clicking mouse button2 on the client area and selecting the Delete choice. 2. Select an ISplitCanvas part from the parts palette and drop it on the frame window client area. The client area is initially filled with a primitive part.  Create and fill the panes of the split window. Each pane should be filled with a canvas or a view port. For example, to create three panes with view ports in them, do the following: 1. Drop a view port on the primitive part. A split bar and two panes appear, with the view port in the first pane. 2. Drop a view port on the primitive part or on the split bar. The new view port replaces the primitive part in the second pane. 3. Drop a view port on the split bar. A second split bar and third pane appear, with the new view port in the third pane.  Change the window orientation to split horizontally. Do this by selecting the horizontal setting in the Orientation field on the ISplitCanvas General settings page. To open the settings view for a split canvas after panes have been created, click mouse button 2 on a split bar.  Add a handler for all parts on the canvas. Do this as follows: - Add the handler name and parameters in the Handler list field on the ISplitCanvas Handlers settings page. - Type the .hpp file name for the handler in the Class Editor Required include files field. ═══ Attributes - ISplitCanvas ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle orientation ■ ■ Orientation origDefaultButtonHandle IWindowHandle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize splitBarEdgeColor ■ IColor splitBarMiddleColor ■ IColor tabStop ■ Boolean valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ISplitCanvas ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None resetSplitBarEdgeColor None resetSplitBarMiddleColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setSplitBarThickness SplitBarArea, unsigned long setSplitWindowPercentage IWindow*, unsigned long show Boolean showSourceEmphasis Boolean splitBarThickness SplitBarArea splitWindowPercentage IWindow* ═══ Events - ISplitCanvas ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ISplitCanvas ═══ Name Sets the name of the part. Default value: The name of the part Orientation Sets the current orientation of the canvas. Default value: Vertical Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - ISplitCanvas ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ISplitCanvas ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is on, and the Default radio button is selected. noSplitBars If specified, the split canvas has no split bars. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ISplitCanvas ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ISplitCanvas ═══ 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. Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: Dark gray RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ISplitCanvas ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ISplitCanvas ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.44. IStaticText ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IStaticText ═══ Title: IBM static text control Class name: IStaticText Base part: ITextControl Part type: Visual part Part file: vbbase.vbb An IStaticText field part is a textual or graphical label. The user cannot modify a static text field. Use an IStaticText part to do the following:  Display status information to the user  Provide a label for a control ═══ Building Guidelines - IStaticText ═══ When building with an IStaticText part, you can do the following:  Define a label for a control. Do this by entering the label you want in the Text field on the IStaticText General settings page.  Customize the appearance of a label. Do this by selecting choices on the IStaticText Color and Font settings pages. If you placed the IStaticText part on an ISetCanvas part or on an IMultiCellCanvas part, the static text part is dynamically expanded for font changes if more space is required.  Provide instructions for a field. Do this by entering the instructions in the Text field on the IStaticText General settings page. Select the upper-left choice in the Alignment field and select the Word wrap choice to extend instructions to multiple lines.  Display a block of color with no text. Do this by clearing the Text field on the IStaticText General settings page and selecting a fill color on the IStaticText Color settings page. Set the color by selecting the Fill Color area choice and either selecting a choice from the Colors list or specifying the RGB values you want.  Provide changing information, such as the date. Show the date as follows: 1. Add an IDate part to the free-form surface. 2. Press mouse button 2 on the IDate part and select the Tear-Off Attribute choice. 3. Select the today attribute. A today IVBVariable is added to the free-form surface and connected to the IDate part. 4. Connect the today variable asString attribute to the IStaticText text attribute. ═══ Attributes - IStaticText ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean fillBackground ■ ■ Boolean fillColor ■ ■ IColor focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean halftone ■ ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ ■ unsigned long menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize strikeout ■ ■ Boolean tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long underscore ■ ■ Boolean valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IStaticText ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableFillBackground None disableGroup None disableHalftone None disableNotification None disableStrikeout None disableTabStop None disableUnderscore None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFillColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IStaticText ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IStaticText ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Limit Sets the length (in bytes) of the longest text the part can hold. Default value: 32 Alignment Changes the alignment of the part. Default value: Upper left Word wrap Enables word wrap of text around at the end of a line. Default value: Not selected ═══ Control Settings - IStaticText ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IStaticText ═══ defaultStyle() Resets the part to the original default style. Default value: Selected mnemonic Draws the next character with mnemonic emphasis if a mnemonic prefix character is found. Default value: The Default radio button is selected. fillBackground Erases the background, using the currently set fill color before drawing the text. Default value: The default is on, and the Default radio button is selected. halftone Draws the text in halftone color. Default value: The default is off, and the Default radio button is selected. underscore Draws the text with underscoring. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IStaticText ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IStaticText ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the static text. Default value: Red=0, Green=0, Blue=170 ═══ Size/Position Settings - IStaticText ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IStaticText ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.45. ITextSpinButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - ITextSpinButton ═══ Title: IBM text spin-button control Class name: ITextSpinButton Base part: IBaseSpinButton Part type: Visual part Part file: vbbase.vbb An ITextSpinButton part is a ring of text choices. One choice is visible at a time. The user can spin the ring upward or downward to select another choice. Use an ITextSpinButton part to provide, in sequence, a ring of related but mutually exclusive text choices. For example, use a spin button for a selection list of the months of the year. Alternatively, use an INumericSpinButton part for a ring of numeric choices. ═══ Building Guidelines - ITextSpinButton ═══ When building with an ITextSpinButton part, you can do the following:  Define the initial string choices for the spin button. Do this by entering the strings in the Contents field on the ITextSpinButton General settings page.  Define a default selection for the spin button. Do this by entering one of the strings from the Contents field in the Text field on the ITextSpinButton General settings page.  Prevent the user from typing a choice. Do this by setting the Read only field on the ITextSpinButton Styles settings page.  Make the spin button skip values to cycle faster when the user continues to spin the button. Do this by setting the Fast spin field on the ITextSpinButton Styles settings page.  Copy the selection from the spin button to a text field. Do this by connecting the ITextSpinButton text attribute to the target text field. ═══ Attributes - ITextSpinButton ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean border Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean fastSpinEnabled ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle limit ■ unsigned long master Boolean menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle servant Boolean shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize spinFieldValid Boolean tabStop ■ Boolean text ■ ■ IString textLength ■ valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle writeable ■ Boolean ═══ Actions - ITextSpinButton ═══ Action Parameters add IResourceId&, unsigned long addAsFirst IResourceId& addAsLast IResourceId& addBorder Boolean applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableDataUpdate None disableFastSpin None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean elementAt unsigned long enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& removeAll None removeBorder None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setMaster IBaseSpinButton& show Boolean showSourceEmphasis Boolean spinDown unsigned long spinTo unsigned long spinUp unsigned long ═══ Events - ITextSpinButton ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId textEvent textId valueEvent valueId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ITextSpinButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the 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. Default value: Left Text Sets the text for the part. Default value: The name of the part Contents Sets initial items for the part. Default value: None ═══ Control Settings - ITextSpinButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - ITextSpinButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected readOnly Prevents entering input into the field. Default value: The default is off, and the Default radio button is selected. noBorder Suppresses the drawing of a border. Default value: The Default radio button is selected. Fast spin Increases the spin speed of the part. Default value: Not selected 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. Default value: The default is on, and the Default radio button is selected. servant Allows the user to create a multiple-field spin button by spinning servants from the master. Default value: The default is off, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - ITextSpinButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - ITextSpinButton ═══ 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. Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - ITextSpinButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - ITextSpinButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.46. ITitle ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - ITitle ═══ Title: IBM window-title text-control Class name: ITitle Base part: ITextControl Part type: Nonvisual part Part file: vbbase.vbb An ITitle part is a frame window title control. The title can be changed after the window is created. The user can change the title if your application provides the capability through other controls. Otherwise, the user can only observe title changes made by your application. Use an ITitle part to change a frame window title. ═══ Building Guidelines - ITitle ═══ When building with an ITitle part, you can do the following:  Add a changeable title to a frame window. Do this by selecting an ITitle part from the parts palette and dropping it on the free-form surface.  Identify the frame window that the title is related to. If you have only one frame window in your view, the title is automatically related to that frame window. If you want the title for a second frame window in your view, do this by referencing the frame window Subpart name, which appears on its General settings page. Enter the frame window subpart name, prefixed with "i," in the Owner field on the General settings page of the ITitle part.  Define an initial title. Do this by defining title fields on the ITitle General settings page: - Enter the object name or desired title in the Object text field. - Optionally, enter the view name in the View text field. - Optionally, enter the view number in the View number field.  Change the title when an event occurs. Do this as follows: - Connect the event to the ITitle setTitleText action. - Open settings for the connection, press the Set parameters push button, and enter the title in the objectName parameter. You can optionally specify viewName and viewNum parameters for the title.  Provide the title from one or more attributes of other parts. Do this as follows: - Connect a text attribute to the ITitle objectText attribute. - Optionally, connect a text attribute to the ITitle viewName attribute. - Optionally, connect a numeric attribute to the ITitle viewNumber attribute. ═══ Attributes - ITitle ═══ Attribute S E Data type activeColor ■ ■ IColor activeTextBackgroundColor ■ ■ IColor activeTextForegroundColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor inactiveTextBackgroundColor ■ ■ IColor inactiveTextForegroundColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle objectText ■ ■ IString owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ viewNum ■ unsigned long viewNumber ■ ■ unsigned long viewText ■ ■ IString visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - ITitle ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetActiveTextBackgroundColor None resetActiveTextForegroundColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetInactiveTextBackgroundColor None resetInactiveTextForegroundColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long setTitleText char*, char*, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - ITitle ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - ITitle ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Owner Sets the window's owner. Default value: None Object text Sets the initial title text. Default value: None View text Sets the name of the view for the title bar. Default value: None View number Sets the number of the view for the title bar. Default value: None ═══ 3.47. IToolBar ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IToolBar ═══ Title: IBM tool-bar control Class name: IToolBar Base part: ISetCanvas Part type: Visual part Part file: vbbase.vbb An IToolBar part is a set of tool function buttons. The tool bar is initially located adjacent 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. The user can also drag the tool bar away from the frame window. Use an IToolBar part to give the user a set of tool functions. ═══ Building Guidelines - IToolBar ═══ When building with an IToolBar part, you can do the following:  Add a tool bar to a frame window. Do this by selecting an IToolBar part from the parts palette and dropping it on the frame window. The tool bar is placed in a frame extension at the top of the client area. One IToolBarButton part is automatically placed on the tool bar.  Group a second tool bar with one previously added to the frame window. Do this by selecting the Group with preceding tool bar field on the General settings page of the second IToolBar part. The tool bar is moved to the same row or column as the first tool bar and placed after the first tool bar.  Change the location of the tool bar. Do this by selecting a location choice from the Location field on the IToolBar General settings page. If the tool bar is placed above or below the client area, its orientation is horizontal. If it is placed to the left or right of the client area, its orientation is vertical.  Hide the tool bar. Do this by selecting the Hidden choice from the Location field on the IToolBar General settings page.  Define title bar text to be displayed with the tool bar when the user drags it away from the frame window. Do this by entering text in the Floating title field on the IToolBar General settings page. ═══ Attributes - IToolBar ═══ Attribute S E Data type activeColor ■ ■ IColor alignment ■ Alignment allowsDragDrop Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor buttonView ■ IToolBarButton::View characterSize ISize deckCount ■ unsigned long deckOrientation ■ ■ DeckOrientation defaultGroupPad ■ unsigned long defaultMargin ■ ISize defaultMisfitWidth ■ unsigned long defaultPad ■ long defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean expanded Boolean floatingFrame IToolBarFrameWindow* floatingPosition ■ IPoint floatingTitle ■ IString focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean groupPad ■ unsigned long handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle location ■ Location margin ■ ISize menu messageQueue IMessageQueueHandle minimumSize ■ ISize misfitFilteringEnabled ■ Boolean nativeRect IRectangle origDefaultButtonHandle IWindowHandle owner ■ IWindow* packType ■ PackType pad ■ ISize parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString toolBarContainer IToolBarContainer* valid Boolean visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IToolBar ═══ Action Parameters addAsFirst IWindow*, Boolean addAsLast IWindow*, Boolean addAsNext IWindow*, IWindow*, Boolean addAsPrevious IWindow*, IWindow*, Boolean applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean collapse None convertToGUIStyle IBitFlag&, Boolean disable None disableDragDrop None disableGroup None disableMisfitFiltering None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableDragDrop Boolean enableUpdate Boolean expand Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short moveAfter IWindow*, IWindow*, Boolean moveBefore IWindow*, IWindow*, Boolean moveToFirst IWindow*, Boolean moveToLast IWindow*, Boolean notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& remove IWindow* resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IToolBar ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IToolBar ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Floating title Sets the title text of the floating frame window. Default value: None Group with preceding tool bar Specifies that the tool bar should be grouped with the preceding tool bar. Default value: Not selected Location Sets the location of the tool bar. Default value: The first item in the list is selected. ═══ Control Settings - IToolBar ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IToolBar ═══ defaultStyle() Resets the part to the original default style. Default value: Selected buttonBitmapVisible Sets the the style so that the bitmap is displayed. Default value: The Default radio button is selected. buttonTextVisible Sets the the style so that text is displayed. Default value: The Default radio button is selected. buttonBitTextVisible Sets the the style so that both the bitmap and text are displayed. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. 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. Default value: The Default radio button is selected. ═══ Handlers Settings - IToolBar ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IToolBar ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - IToolBar ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IToolBar ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.48. IToolBarButton ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IToolBarButton ═══ Title: IBM tool-bar button control Class name: IToolBarButton Base part: ICustomButton Part type: Visual part Part file: vbbase.vbb An IToolBarButton part is a selection button for a tool bar function. The choice is identified by a graphic on the tool bar button. The user can click the tool bar button to perform the indicated function. Use an IToolBarButton part to give the user a function choice for a tool bar. ═══ Building Guidelines - IToolBarButton ═══ When building with an IToolBarButton part, you can do the following:  Use a predefined button. Do this by setting the Select from type list field and selecting a button identifier from the Type list field for Predefined button types on the IToolBarButton General settings page. A predefined bitmap is placed on the button.  Assign a bitmap to the tool bar button. Do this by entering a DLL name and a Resource ID for the Bitmap field on the IToolBarButton General settings page.  Give the button the appearance of remaining latched down while it is active. Do this by setting the latchable field on the IToolBarButton Styles settings page.  Allow the user to reach the button by using a tab key. Do this by setting the tabStop field to On on the IToolBarButton Styles settings page.  If the button is the first control in a group, allow the user to use cursor keys to move between the button and follow controls in the group. Do this by setting the group field to On on the IToolBarButton Styles settings page. This field is initially set for the tool bar button automatically placed on an IToolBar part when it is added to a frame window.  Start the action represented by the button. Do this by connecting the IToolBarButton buttonClickEvent feature to the action on the target part.  Enable or disable the tool bar button when an event occurs. Enable the button as follows: 1. Connect the event to the IToolBarButton enable action. 2. The button is enabled by default. If you have changed this default, open settings for the connection, press the Set parameters push button, and check the Enabled setting. Disable the button by connecting the event to the IToolBarButton disable action. ═══ Attributes - IToolBarButton ═══ Attribute S E Data type activeColor ■ ■ IColor allowsDragDelete Boolean allowsMouseClickFocus ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean autoLatchEnabled ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean bitmap ■ IBitmapHandle bitmapSize ISize bitmapVisible Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle defaultTransparentColor ■ IColor defaultTransparentColorSet Boolean disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hasTransparentColor Boolean highlighted Boolean hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* latched ■ ■ Boolean latchedBackgroundColor ■ IColor latchedBackgroundColorHalftone Boolean latchedBitmap ■ IBitmapHandle latchedForegroundColor ■ IColor latchingEnabled ■ Boolean layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize standardBitmapSize ■ ISize standardFormat Boolean standardTextLines ■ unsigned long standardTextWidth ■ unsigned long tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long textVisible Boolean transparentColor ■ IColor userData ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ view ■ View visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IToolBarButton ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean clearDefaultTransparentColor None click None convertToGUIStyle IBitFlag&, Boolean disable None disableAutoLatch None disableDragDelete None disableGroup None disableLatching None disableMouseClickFocus None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableDragDelete Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None highlight Boolean isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetLatchedBackgroundColor None resetLatchedForegroundColor None resetMinimumSize None resetShadowColor None resetTransparentColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean unhighlight None unlatch None ═══ Events - IToolBarButton ═══ Event Notification ID buttonClickEvent buttonClickId commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IToolBarButton ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Text Sets the text for the part. Default value: The name of the part Latched Sets the part to the latched state. Default value: Not selected DLL name Specifies the name of the resource .dll that contains the bitmap. Default value: None Resource ID Specifies the resource identifier of the bitmap. Default value: None Type list Lists the available predefined actions that you can associate with the button when it is in the latched state. Default value: No choice is selected. 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. Default value: No choice is selected. ═══ Control Settings - IToolBarButton ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IToolBarButton ═══ defaultStyle() Resets the part to the original default style. Default value: Selected latchable Sets the default style to the latchable state. Default value: The Default radio button is selected. autoLatch Sets the default style for the part the automatic latch state. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IToolBarButton ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IToolBarButton ═══ 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 Default value: Foreground is selected 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. Default value: RGB selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the window area. Default value: Not set ═══ Size/Position Settings - IToolBarButton ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IToolBarButton ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.49. IVBContainerControl ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Size/Position Font Personal Notes ═══ Part Description - IVBContainerControl ═══ Title: IVBContainerControl Class name: IVBContainerControl Base part: IContainerControl Part type: Visual part Part file: vbbase.vbb An IVBContainerControl part is a window that can contain nonwindow user interface objects. File objects and program objects are common examples of objects managed in containers. The user can open a container in one of the following views to work with the objects in the container: View Description 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 objects in a single column. The flowed 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. The tree views are often used for folder hierarchies. 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. Use an IVBContainerControl part to let the user work with a set of objects collected in the container. Containers are useful for presenting collections of nonvisual model objects. ═══ Building Guidelines - IVBContainerControl ═══ When building with an IVBContainerControl part, you can do the following:  Define a title for the container. Do this by setting the Title attributes fields on the IVBContainerControl General settings page. Enter the title you want in the Title field and check the Show title setting. If you want a separator below the title, check the Show title separator setting. Select the alignment you want in the Alignment field.  Specify objects that the container can hold. Do this by setting the Container item attributes fields on the IVBContainerControl General settings page:. - Designate the object type in the Item type field. - Select text representation of objects from choices in the Text field. If you use the asString choice for the Text field, consider whether you want the default asString result for the object type or need to provide an asString override function to produce more meaningful text. - Specify object icons in the Icon field.  Set the initial view for the container. Do this by selecting a view from the View type field on the IVBContainerControl General settings page.  Automatically position object icons when objects are added to the container. Do this by setting the autoPosition field on the IVBContainerControl Styles settings page:  Define the types of selection to be supported for the container. Do this by setting one or more selection fields to On on the IVBContainerControl Styles settings page: - extendedSelection - multipleSelection - singleSelection  Add a pop-up menu for the container and objects it contains. Do this by selecting an IMenu part from the parts palette and dropping it on the free-form surface. Then, connect the IMenu this attribute to the IVBContainerControl menu attribute.  Load the container with a set of objects. Do this by connecting the this attribute of a collection part containing the choices to the IVBContainerControl items attribute. A collection part that has one template argument, such as an IVSequence part, must be used.  Perform an action when the user double-clicks a container object. Do this by connecting the IVBContainerControl selectDefaultActionEvent feature to the target action. ═══ Attributes - IVBContainerControl ═══ Attribute S E Data type activeColor ■ ■ IColor areDetailsViewTitlesVisible ■ Boolean asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor cachingEnabled ■ Boolean characterSize ISize columnCount unsigned long currentEditColumn IContainerColumn* currentEditMLE IMultiLineEdit* currentEditObject IContainerObject* cursoredObject IContainerObject* defaultPushButton IWindowHandle detailsTitleRectangle IRectangle detailsView Boolean detailsViewPortOnWindow IRectangle detailsViewPortOnWorkspace IRectangle detailsViewSplit ■ IContainerColumn* disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor drawBackgroundEnabled ■ Boolean drawItemEnabled ■ Boolean enabled ■ ■ Boolean enabledForNotification ■ Boolean extendedSelection Boolean flowed Boolean flowedNameView Boolean flowedTextView Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor iconSize ■ ISize iconView Boolean id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* items ■ ■ IVSequence < Element >* layoutAdjustment IRectangle lineSpacing ■ long menu messageQueue IMessageQueueHandle minimumSize ■ ISize mixedTargetEmphasis Boolean multipleSelection Boolean nameView Boolean nativeRect IRectangle normalTargetEmphasis Boolean numberOfColumnChanges unsigned long numberOfObjectChanges unsigned long numberOfSelections unsigned long objectCount unsigned long objectList ICnrObjectSet orderedTargetEmphasis Boolean owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle refreshOn ■ Boolean selectedCnrObjects IVSequence < CnrElement * >* selectedObjects IVSequence < Element >* selectionIndices ■ IVSequence < unsigned long >* selectionIsValid Boolean shadowColor ■ ■ IColor showing Boolean showingMiniIcons Boolean singleSelection Boolean size ■ ■ ISize splitBarOffset unsigned long tabStop ■ Boolean textView Boolean title ■ ■ IString titleRectangle IRectangle titleSeparatorVisible ■ Boolean titleVisible ■ ■ Boolean titleWriteable ■ Boolean treeIconView Boolean treeNameView Boolean treeTextView Boolean treeView Boolean valid Boolean viewPortOnWindow IRectangle viewPortOnWorkspace IRectangle visible ■ ■ Boolean visibleRectangle IRectangle willDeleteColumnsOnClose Boolean willDeleteObjectsOnClose Boolean ═══ Actions - IVBContainerControl ═══ Action Parameters addColumn IContainerColumn*, IContainerColumn* addItem unsigned long addObject IContainerObject*, IContainerObject* addObjectAfter IContainerObject*, IContainerObject*, IContainerObject* addObjects ICnrAllocator&, IContainerObject* addObjectsAfter ICnrAllocator&, IContainerObject*, IContainerObject* applyBidiSettings BidiSettings&, Boolean, Boolean arrangeIconView None capturePointer Boolean closeEdit None collapse IContainerObject* collapseTree None columnAt unsigned long columnUnderPoint IPoint& containerFromHandle IWindowHandle& containsObject IContainerObject* convertToGUIStyle IBitFlag&, Boolean convertToWorkspace IRectangle&, Boolean copyObjectTo IContainerObject*, IContainerObject*, IContainerControl*, IContainerObject*, IPoint& deleteAllObjects None deleteItem unsigned long deleteSelectedObjects None descendentsOf IContainerObject* deselectAll None detailsObjectRectangle IContainerObject*, Boolean disable None disableCaching None disableDataUpdate IContainerObject* disableDrawBackground None disableDrawItem None disableDrop IContainerObject* disableGroup None disableNotification None disableTabStop None disableTitleUpdate None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean editColumnTitle IContainerColumn* editContainerTitle None editObject IContainerObject*, IContainerColumn* enable Boolean enableDataUpdate IContainerObject*, Boolean enableDrop IContainerObject*, Boolean enableUpdate Boolean expand IContainerObject* expandTree None filter None handleException IException&, IEvent& hide None hideDetailsViewTitles None hideObject IContainerObject* hideSourceEmphasis None hideSplitBar None hideTitle None hideTitleSeparator None hideTreeLine None iconRectangle IContainerObject*, Boolean immediateDescendentsOf IContainerObject* initialize None isCollapsed IContainerObject* isColumnRight IContainerColumn* isCursored IContainerObject* isDropOnAble IContainerObject* isExpanded IContainerObject* isInUse IContainerObject* isLayoutDistorted unsigned long isMoveValid IContainerObject*, IContainerObject*, IContainerControl*, IContainerObject* isSelected IContainerObject* isSource IContainerObject* isTarget IContainerObject* isWriteable IContainerObject* matchForMnemonic unsigned short moveIconTo IContainerObject*, IPoint& moveObjectTo IContainerObject*, IContainerObject*, IContainerControl*, IContainerObject*, IPoint& nlsCompare char*, char* notifyObservers INotificationEvent& objectAt unsigned long objectUnderPoint IPoint& operator == IContainerControl& parentObject IContainerObject* positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& refreshAllContainers None refreshFromList None releasePointer None releasePresSpace IPresSpaceHandle& removeAllObjects None removeColumn IContainerColumn* removeInUse IContainerObject* removeObject IContainerObject*, Boolean removeSelected IContainerObject* removeSelectedObjects None resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None scroll long, long, Boolean scrollDetailsHorizontally long, Boolean scrollHorizontally long, Boolean scrollToObject IContainerObject* scrollVertically long selectAll None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setCursor IContainerObject* setDeleteColumnsOnClose Boolean setDeleteObjectsOnClose Boolean setEditColumn IContainerColumn* setEditMLE IMultiLineEdit* setEditObject IContainerObject* setExtendedSelection None setFocus None setInUse IContainerObject*, Boolean setLayoutDistorted unsigned long, unsigned long setMixedTargetEmphasis None setMultipleSelection None setNormalTargetEmphasis None setOrderedTargetEmphasis None setRefreshOff None setSelected IContainerObject*, Boolean setSingleSelection None setTitleAlignment TitleAlignment setTreeExpandIconSize ISize& setTreeItemIcons IResourceId&, IResourceId& setTreeViewIndent long show Boolean showDetailsView None showFlowedNameView None showFlowedTextView None showIconView None showMiniIcons Boolean showNameView None showObject IContainerObject*, Boolean showSourceEmphasis Boolean showSplitBar Boolean showTextView None showTreeIconView None showTreeLine long showTreeNameView None showTreeTextView None sortByIconText Boolean textRectangle IContainerObject* ═══ Events - IVBContainerControl ═══ Event Notification ID addEvent addId commandEvent commandId detailsViewTitlesEvent detailsViewTitlesId enterEvent enterId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID removeEvent removeId selectEvent selectId selectionDefaultActionEvent selectionDefaultActionId selectionIndexChangedEvent selectionIndexChangedId systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IVBContainerControl ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Title Sets the title to appear on the title bar for the part. Default value: None Title attributes Sets the title for the container. Default value: None Container item attributes Specifies the objects that the container can hold. Default value: None Show title Shows the container's title. Default value: Not selected Show title separator Displays a horizontal separator between the title and the work area of a container part. Default value: Not selected Title alignment Sets the alignment attributes for the title. Default value: Not selected 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. Default value: Not selected Item type Specifies the part type of objects in the collection. Default value: None Text Sets the text for the part. Default value: The name of the part Icon Sets the icon handle of the part. Default value: None Collection type Specifies the part type of the collection. Default value: IVSequence* Line spacing Sets the space between lines, in pixels. Default value: 2 Refresh the container after changes Refreshes all parts in the container after updates are made. Default value: Selected EnableDrawBackground Enables the background of the container to be redrawn. Default value: Not selected EnableDrawItem Enables list box items to be drawn, which are typically used to display bitmaps. Default value: Not selected ═══ Control Settings - IVBContainerControl ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IVBContainerControl ═══ defaultStyle() Resets the part to the original default style. Default value: Selected autoPosition Automatically positions parts that are added to the container in the icon view. Default value: The Default radio button is selected. verifyPointers Validates that container parts exist. Default value: The Default radio button is selected. noSharedObjects Disallows sharing objects with other containers. Default value: The default is off, and the Default radio button is selected. extendedSelection Specifies that the container use extended selection. Default value: The default is off, and the Default radio button is selected. singleSelection Specifies that the container use single selection. Default value: The default is on, and the Default radio button is selected. 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. Default value: The default is off, and the Default radio button is selected. tabStop Identifies the control as one to which the user can tab. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IVBContainerControl ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Size/Position Settings - IVBContainerControl ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IVBContainerControl ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.50. IVBFactory ═══ Overview Part Description Building Guidelines Part Interface Actions Events Personal Notes ═══ Part Description - IVBFactory ═══ Title: IVBFactory Class name: IVBFactory Base part: None Part type: Nonvisual part Part file: vbbase.vbb An IVBFactory dynamically creates new parts of a type you specify. The user interacts with parts created by the object factory but does not have access to the factory itself. Use an IVBFactory part to generate dynamic parts. ═══ Building Guidelines - IVBFactory ═══ When building with an IVBFactory part, you can do the following:  Define an object factory for a part type. Do this by adding an object factory to your composite part and specifying the part type the factory creates. For example, define a frame window factory as follows: 1. Drop an IVBFactory part on the free-form surface. 2. Open the contextual menu of the factory, select the Change Type choice, and enter the data type you need.  Create an object when an event occurs. Do this by connecting the event to the IVBFactory new action. ═══ Actions - IVBFactory ═══ Action Parameters new None ═══ Events - IVBFactory ═══ Event Notification ID newEvent newObjectCreateId ═══ 3.51. IVBFileDialog ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - IVBFileDialog ═══ Title: IBM VB file dialog window Class name: IVBFileDialog Base part: IStandardNotifier Part type: Nonvisual part Part file: vbbase.vbb An IVBFileDialog part is a placeholder for a file dialog. While building your application, the placeholder represents a file dialog for connections from other parts. When your application is built and run, a file dialog replaces the placeholder. A file dialog provides an input field and other controls for file identification. With a file dialog, the user can select a file to work with or specify a file name for saving current work. Use an IVBFileDialog part to represent a file dialog during application building. ═══ Building Guidelines - IVBFileDialog ═══ When building with an IVBFileDialog part, you can do the following:  Define a title for the dialog. Do this by entering the title in the Title field on the IVBFileDialog General settings page.  Provide an initial file name for the dialog. Do this by entering the name in the File name field on the IVBFileDialog General settings page.  Show only files of a particular extended attribute type in the file list. Do this by specifying the type in the File type (EA type) field on the IVBFileDialog General settings page. Leave this field empty to show all available files in the list.  Define text for the OK push button. For example, you might want the button text to be Open or Save as. Do this by entering the text in the OK button text field on the IVBFileDialog General settings page.  Identify the frame window that the file dialog is related to. If you have only one frame window in your view, the dialog is automatically related to that frame window. If you want the file dialog for a second frame window in your view, do this by referencing the frame window Subpart name, which appears on its General settings page. Enter the frame window subpart name, prefixed with "i," in the Owner field on the IVBFileDialog General settings page.  Show the dialog when the user selects a menu choice. Do this by connecting the IMenuItem commandEvent feature to the IVBFileDialog showModally action.  Perform the requested file operation for a part that works with files. For example, to load an IMultiLineEdit part from a file, do this as follows: 1. Connect the IVBFileDialog pressedOK event to the IMultiLineEdit importFromFile action. 2. Connect the IVBFileDialog fileName attribute to the fileName parameter of the pressedOK-to-importFromFile connection.  Perform the requested file operation for a part that does not work with files. Do this with a member function as follows: 1. Connect the IVBFileDialog pressedOkEvent feature to the free-form surface. 2. Select the More choice on the connection menu. 3. Enter the signature of a member function to perform the operation. 4. Connect the IVBFileDialog fileName attribute to a file name parameter on the connection to the member function.  Alternatively, perform the file operation with custom logic as follows: 1. Connect the IVBFileDialog pressedOkEvent feature to the free-form surface. 2. Select the Custom logic choice on the connection menu. 3. Enter the C++ code to perform the operation. Access the file name in your custom logic by pressing the Source push button. Enter the get member function of the fileName attribute after the source pointer inserted into your code. This is the resulting code segment: source->fileName() ═══ Attributes - IVBFileDialog ═══ Attribute S E Data type asDebugInfo IString asString IString buttonPressedId long enabledForNotification ■ Boolean fileDialog IFileDialog* fileDialogSettings IFileDialog::Settings* fileName ■ ■ IString modeless Boolean pressedOK Boolean returnValue long saveAsEAType IString selectedFileCount unsigned long ═══ Actions - IVBFileDialog ═══ Action Parameters addDrive char* addFileType char* disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& setDialogTemplate IResourceId& setInitialDrive char* setInitialFileType char* setOKButtonText IResourceId& setOpenDialog None setPosition IPoint& setSaveAsDialog None setTitle char* show IWindow*, IFileDialog::Style, IHandler* showModally IWindow*, IFileDialog::Style, IHandler* ═══ Events - IVBFileDialog ═══ Event Notification ID createdEvent createdId dismissedEvent dismissedId pressedOkEvent pressedOkId ═══ General Settings - IVBFileDialog ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Owner Sets the window's owner. Default value: None Title Sets the title to appear on the title bar for the part. Default value: None File type (EA type) Sets the file type selected by the user. Default value: None File name Sets the fully qualified file name selected by the user. Default value: None OK button text Sets the text that appears on the OK button. Default value: None Search Lets the user search for the file name. Default value: The default is off, and the Default radio button is selected. ═══ 3.52. IVBFlyText ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Handlers Font Personal Notes ═══ Part Description - IVBFlyText ═══ Title: IBM VB fly-over text control Class name: IVBFlyText Base part: IFlyText Part type: Nonvisual part Part file: vbbase.vbb An IVBFlyText part displays fly-over text for other parts. Fly-over text is a brief description of a control that appears when the user places the mouse pointer on the control. The text generally appears in a small rectangle near the control. The user can read help information in the fly-over text without opening another window for help. Use an IVBFlyText part to briefly describe controls in your frame window. ═══ Building Guidelines - IVBFlyText ═══ When building with an IVBFlyText part, you can do the following:  Associate fly-over text with a frame window. Do this as follows: 1. Drop an IVBFlyText part on the free-form surface in your frame window view. 2. For your frame window and each control, enter brief fly-over text in the Fly over short text field on its Control settings page.  Display lengthier fly-over text in an information area. Do this as follows: 1. Connect the IInfoArea this attribute to the FlyOverHelpHandler longTextControl attribute. 2. For your frame window and each control, enter the fly-over text in the Fly over long text field on its Control settings page.  Identify the frame window that the fly-over text is related to. If you have only one frame window in your view, the fly-over text is automatically related to that frame window. If you want fly-over text for a second frame window in your view, do this by referencing the frame window Subpart name, which appears on its General settings page. Enter the frame window subpart name, prefixed with "i," in the Owner field on the General settings page of a second IVBFlyText part. ═══ Attributes - IVBFlyText ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize clipboardHasTextFormat Boolean defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor displaySize ISize enabled ■ ■ Boolean enabledForNotification ■ Boolean flyOverHelpHandler IFlyOverHelpHandler* focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor id ■ unsigned long inactiveColor ■ ■ IColor isDigits ■ itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle longTextControl ■ ITextControl* menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle relativeWindowRect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean text ■ ■ IString textLength ■ unsigned long valid Boolean valueAsDouble ■ ■ valueAsInt ■ ■ valueAsUnsigned ■ ■ visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IVBFlyText ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IVBFlyText ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IVBFlyText ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Owner Sets the window's owner. Default value: None ═══ Handlers Settings - IVBFlyText ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Font Settings - IVBFlyText ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.53. IVBFontDialog ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - IVBFontDialog ═══ Title: IBM VB font dialog window Class name: IVBFontDialog Base part: IStandardNotifier Part type: Nonvisual part Part file: vbbase.vbb An IVBFontDialog part is a placeholder for a font dialog. While building your application, the placeholder represents a font dialog for connections from other parts. When your application is built and run, a font dialog replaces the placeholder. A font dialog provides selection fields and other controls for font specification. With a font dialog, the user can select a font name, size, and styles to use with your application. Use an IVBFontDialog part to represent a font dialog during application building. ═══ Building Guidelines - IVBFontDialog ═══ When building with an IVBFontDialog part, you can do the following:  Define a title for the dialog. Do this by entering the title in the Title field on the IVBFontDialog General settings page.  Show only fonts in one font family, such as Helvetica or Courier, in the font list. Do this by specifying the font family in the Font family name field on the IVBFontDialog General settings page. Leave this field empty to show all available fonts in the list.  Provide preview text to show font appearance in the dialog. Do this by entering the text in the Preview text field on the IVBFontDialog General settings page.  Identify the frame window that the font dialog is related to. If you have only one frame window in your view, the dialog is automatically related to that frame window. If you want the font dialog for a second frame window in your view, do this by referencing the frame window Subpart name, which appears on its General settings page. Enter the frame window subpart name, prefixed with "i," in the Owner field on the IVBFontDialog General settings page.  Show the dialog when the user selects a menu choice. Do this by connecting the IMenuItem commandEvent feature to the IVBFontDialog showModally action.  Apply the requested font selection. Do this with a member function as follows: 1. Connect the IVBFontDialog pressedOkEvent feature to the free-form surface 2. Select the More choice on the connection menu. 3. Enter the signature of a member function to perform the operation. 4. Connect the IVBFontDialog font attribute to a font parameter on the connection to the member function.  Alternatively, perform the font operation with custom logic as follows: 1. Connect the IVBFontDialog pressedOkEvent feature to the free-form surface 2. Select the Custom logic choice on the connection menu. 3. Enter the C++ code to perform the operation. Access the font selection in your custom logic by pressing the Source push button. Enter the get member function of the font attribute after the source pointer inserted into your code. This is the resulting code segment: source->font() ═══ Attributes - IVBFontDialog ═══ Attribute S E Data type asDebugInfo IString asString IString buttonPressedId unsigned long emHeight unsigned long enabledForNotification ■ Boolean externalLeading unsigned long font ■ ■ IFont fontDialog IFontDialog* fontDialogSettings IFontDialog::Settings* fontFamily IString fontWeight unsigned long fontWidth unsigned long modeless Boolean nominalPointSize unsigned long pointSize ■ unsigned long pressedOK Boolean returnValue long xHeight unsigned long ═══ Actions - IVBFontDialog ═══ Action Parameters disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& setDialogTemplate IResourceId& setDisplayPS IPresSpaceHandle& setFamily char* setFontFromFontModally IFont*, IWindow*, IFontDialog::Style, IHandler* setFontFromWindowModally IWindow*, IWindow*, IFontDialog::Style, IHandler* setPosition IPoint& setPreviewText char* setPrinterPS IPresSpaceHandle& setSizeList char* setTitle char* show IWindow*, IFontDialog::Style, IHandler* showFromFont IFont*, IWindow*, IFontDialog::Style, IHandler* showModally IWindow*, IFontDialog::Style, IHandler* ═══ Events - IVBFontDialog ═══ Event Notification ID createdEvent createdId dismissedEvent dismissedId pressedOkEvent pressedOkId ═══ General Settings - IVBFontDialog ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Owner Sets the window's owner. Default value: None Title Sets the title to appear on the title bar for the part. Default value: None Font family name Sets the family name of the font. Default value: None Preview text Sets the text to display in the font sample box. Default value: None ═══ 3.54. IVBNotebookPage ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Settings Pages General Styles Personal Notes ═══ Part Description - IVBNotebookPage ═══ Title: IVBNotebookPage Class name: IVBNotebookPage Base part: IStandardNotifier Part type: Nonvisual part Part file: vbbase.vbb An IVBNotebookPage part is a software representation of 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:  View or change information by using other controls  Turn the page by clicking on page buttons Use an IVBNotebookPage part for settings choices or for related information. ═══ Building Guidelines - IVBNotebookPage ═══ When building with an IVBNotebookPage part, you can do the following:  Add a page to a notebook. Do this by clicking mouse button 2 on the notebook and selecting an add page choice. When there are no pages in the notebook, your only page choice is Add Initial Page. When the notebook has one or more pages, select Add Page After or Add Page Before. An IVBNotebookPage part is placed in the notebook.  Select a tab type for the page. By default, the page has a major tab. If you want a minor tab on the page, set the minorTab field to On and set the majorTab field to Off on the IVBNotebookPage Styles settings page. If you want no tab on the page, set both fields to Off. Do not set both fields to On.  Define text for a tab. Do this by entering the text you want in the Tab text field on the IVBNotebookPage General settings page.  Define text for the status area at the bottom of the page. Do this by entering the text you want in the Status text field on the IVBNotebookPage General settings page.  Place a part on a notebook page. A notebook page accepts only one part, so you should place one of the canvases or a view port on the page. If you use a view port, place a canvas in the view port. After you have a canvas on the notebook page, you can place controls on the canvas. Place the part you want on the notebook page by selecting it from the parts palette and dropping it on the page. Expand the canvas or view port by selecting it and dragging its corner handle. Leave part of the notebook page exposed so you can still access the notebook page. If the autoPageSize field on the Styles settings page is set to On, the part placed on the notebook page fills the page in generated code. The autoPageSize field is set to On by default. ═══ Attributes - IVBNotebookPage ═══ Attribute S E Data type asDebugInfo IString asString IString enabledForNotification ■ Boolean notebook const IWindow* pageHandle IPageHandle statusText ■ IString tabBitmap ■ IBitmapHandle tabText ■ IString window ■ IWindow* ═══ Actions - IVBNotebookPage ═══ Action Parameters disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& ═══ General Settings - IVBNotebookPage ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Tab text Sets the text for the notebook tab. Default value: Tab Status text Sets the text for the status area of the notebook page. Default value: None ═══ Styles Settings - IVBNotebookPage ═══ statusTextOn Sets the text of the status line associated with this notebook page. Default value: The Default radio button is selected. minorTab Specifies that the tab is associated with a minor tab. Default value: The Default radio button is selected. majorTab Specifies that the tab is associated with a major tab. Default value: The default is on. noAttribute Restricts the tab from being associated with an attribute. Default value: The Default radio button is selected. autoPageSize Automatically sets the size of the notebook page. Default value: The default is on. ═══ 3.55. IVBVariableClass ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Personal Notes ═══ Part Description - IVBVariableClass ═══ Title: IBM placeholder for class instance Class name: IVBVariableClass Base part: IVBVariableClassBase Part type: Nonvisual part Part file: vbbase.vbb An IVBVariableClass part is a placeholder for class data. Visual Builder uses IVBVariableClass when you specify a class type, such as IDate, for an IVBVariable. The user does not have access to these variables. Use an IVBVariable to pass data between composite parts. ═══ Building Guidelines - IVBVariableClass ═══ Building guidelines for an IVBVariable are provided in documentation of IVBVariablePart. ═══ Attributes - IVBVariableClass ═══ Attribute S E Data type asDebugInfo IString asString IString autoDeleteTarget ■ Boolean enabledForNotification ■ Boolean targetPtr Element* this ■ ■ Element ═══ Actions - IVBVariableClass ═══ Action Parameters disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& ═══ 3.56. IVBVariableClassPointer ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Personal Notes ═══ Part Description - IVBVariableClassPointer ═══ Title: IBM placeholder for class instance Class name: IVBVariableClassPointer Base part: IVBVariableClassBase Part type: Nonvisual part Part file: vbbase.vbb An IVBVariableClassPointer part is a placeholder for a pointer to class data. Visual Builder uses IVBVariableClassPointer when you specify a class pointer type, such as IDate*, for an IVBVariable. The user does not have access to these variables. Use an IVBVariable to pass data between composite parts. ═══ Building Guidelines - IVBVariableClassPointer ═══ Building guidelines for an IVBVariable are provided in documentation of IVBVariablePart. ═══ Attributes - IVBVariableClassPointer ═══ Attribute S E Data type asDebugInfo IString asString IString autoDeleteTarget ■ Boolean enabledForNotification ■ Boolean targetPtr Element this ■ ■ Element ═══ Actions - IVBVariableClassPointer ═══ Action Parameters deleteTarget None disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& ═══ 3.57. IVBVariablePart ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Personal Notes ═══ Part Description - IVBVariablePart ═══ Title: IBM placeholder for part instance Class name: IVBVariablePart Base part: IVBVariablePartBase Part type: Nonvisual part Part file: vbbase.vbb An IVBVariablePart part is a placeholder for part data. Visual Builder uses IVBVariablePart when you specify a part type, such as IEntryField, for an IVBVariable. The user does not have access to these variables. Use an IVBVariable to pass data between composite parts. ═══ Building Guidelines - IVBVariablePart ═══ When building with an IVBVariable, you can do the following:  Change the variable type to the part or class type you need. Do this as follows: 1. If any other part is selected, click on the variable with mouse button1 to select the variable. 2. Click on the variable with mouse button 2 to open the contextual menu of the variable. 3. Select the Change Type choice from the menu. 4. Enter the data type you need. You can specify one of the following types: - Part type, such as IEntryField. This is implemented as an IVBVariablePart. - Part type pointer, such as IEntryField*. This is implemented as an IVBVariablePartPointer. - Class type, such as IDate. This is implemented as an IVBVariableClass. - Class type pointer, such as IDate*. This is implemented as an IVBVariableClassPointer.  Change the variable name to something meaningful to your application. Do this as follows: 1. Open the contextual menu of the variable. 2. Select the Change Name choice from the menu. 3. Enter the name you want.  Add variable features to the interface of the composite part you are building. Give the variable a meaningful name before you promote features. This ensures that generated feature names are based on the meaningful name. Promote features as follows: 1. Open the contextual menu of the variable. 2. Select the Promote Part Feature choice from the menu. 3. Select or enter the features you want to promote to the part interface. Each promoted feature is given a name based on the variable name and the variable feature name. For example, if you promote the text attribute from an IEntryField variable named Selection, the promoted feature is named selectionText. ═══ Attributes - IVBVariablePart ═══ Attribute S E Data type asDebugInfo IString asString IString autoDeleteTarget ■ Boolean enabledForNotification ■ Boolean targetPtr Element* this ■ ■ Element ═══ Actions - IVBVariablePart ═══ Action Parameters disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& ═══ 3.58. IVBVariablePartPointer ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Personal Notes ═══ Part Description - IVBVariablePartPointer ═══ Title: IBM placeholder for part instance Class name: IVBVariablePartPointer Base part: IVBVariablePartBase Part type: Nonvisual part Part file: vbbase.vbb An IVBVariablePartPointer part is a placeholder for a pointer to part data. Visual Builder uses IVBVariablePartPointer when you specify a part pointer type, such as IEntryField*, for an IVBVariable. The user does not have access to these variables. Use an IVBVariable to pass data between composite parts. ═══ Building Guidelines - IVBVariablePartPointer ═══ Building guidelines for an IVBVariable are provided in documentation of IVBVariablePart. ═══ Attributes - IVBVariablePartPointer ═══ Attribute S E Data type asDebugInfo IString asString IString autoDeleteTarget ■ Boolean enabledForNotification ■ Boolean targetPtr Element this ■ ■ Element ═══ Actions - IVBVariablePartPointer ═══ Action Parameters disableNotification None notifyObservers INotificationId& operator = IStandardNotifier& ═══ 3.59. IViewPort ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Control Styles Handlers Color Size/Position Font Personal Notes ═══ Part Description - IViewPort ═══ Title: IBM view port to scroll nonresizable windows Class name: IViewPort Base part: ICanvas Part type: Visual part Part file: vbbase.vbb An IViewPort part is a scrollable framework for the client area of a frame window. The user interacts with controls placed within the view port by your application. Use an IViewPort part to provide a scrollable view within a framework such as one of the following:  The client area of a frame window  A cell of a set canvas  A multicell canvas cell  A split canvas pane  A notebook page ═══ Building Guidelines - IViewPort ═══ When building with an IViewPort part, you can do the following:  Place one of the following canvases in the view port: - ICanvas - IMultiCellCanvas - ISetCanvas - ISplitCanvas  Resize the canvas to fill the view port. Do this by selecting the canvas with mouse button 1 and dragging the corner handle to expand the canvas. This allows you to see the controls you place in the canvas. ═══ Attributes - IViewPort ═══ Attribute S E Data type activeColor ■ ■ IColor asDebugInfo IString asString IString autoDeleteObject ■ Boolean autoDestroyWindow ■ Boolean backgroundColor ■ ■ IColor bidiSupported Boolean borderColor ■ ■ IColor characterSize ISize defaultPushButton IWindowHandle disabledBackgroundColor ■ ■ IColor disabledForegroundColor ■ ■ IColor enabled ■ ■ Boolean enabledForNotification ■ Boolean focus ■ Boolean font ■ ■ IFont foregroundColor ■ ■ IColor frameWindow Boolean group ■ Boolean handle IWindowHandle hiliteBackgroundColor ■ ■ IColor hiliteForegroundColor ■ ■ IColor horizontalScrollBar IScrollBar* id ■ unsigned long inactiveColor ■ ■ IColor itemProvider ■ IDMItemProvider* layoutAdjustment IRectangle menu messageQueue IMessageQueueHandle minimumSize ■ ISize nativeRect IRectangle origDefaultButtonHandle IWindowHandle owner ■ IWindow* parent ■ IWindow* parentSize ISize pointerCaptured Boolean position ■ ■ IPoint presSpace IPresSpaceHandle rect ■ IRectangle shadowColor ■ ■ IColor showing Boolean size ■ ■ ISize tabStop ■ Boolean valid Boolean verticalScrollBar IScrollBar* viewWindow IWindowHandle viewWindowDrawRectangle IRectangle viewWindowSize ■ ■ ISize visible ■ ■ Boolean visibleRectangle IRectangle ═══ Actions - IViewPort ═══ Action Parameters applyBidiSettings BidiSettings&, Boolean, Boolean capturePointer Boolean convertToGUIStyle IBitFlag&, Boolean disable None disableGroup None disableNotification None disableTabStop None disableUpdate None dispatchRemainingHandlers IEvent&, Boolean enable Boolean enableUpdate Boolean handleException IException&, IEvent& hide None hideSourceEmphasis None isLayoutDistorted unsigned long matchForMnemonic unsigned short notifyObservers INotificationEvent& positionBehindSibling IWindowHandle& positionBehindSiblings None positionOnSiblings None postEvent unsigned long, IEventParameter1&, IEventParameter2& refresh IRectangle& releasePointer None releasePresSpace IPresSpaceHandle& resetActiveColor None resetBackgroundColor None resetBorderColor None resetDisabledBackgroundColor None resetDisabledForegroundColor None resetFont None resetForegroundColor None resetHiliteBackgroundColor None resetHiliteForegroundColor None resetInactiveColor None resetMinimumSize None resetShadowColor None scrollViewHorizontallyTo unsigned long scrollViewVerticallyTo unsigned long sendEvent unsigned long, IEventParameter1&, IEventParameter2& setFocus None setLayoutDistorted unsigned long, unsigned long show Boolean showSourceEmphasis Boolean ═══ Events - IViewPort ═══ Event Notification ID commandEvent commandId gotFocusEvent FOCUSTRUEID inputDisabledEvent ENABLEFALSEID inputEnabledEvent ENABLETRUEID lostFocusEvent FOCUSFALSEID systemCommandEvent systemCommandId visibilityDisabledEvent VISIBLEFALSEID visibilityEnabledEvent VISIBLETRUEID ═══ General Settings - IViewPort ═══ Name Sets the name of the part. Default value: The name of the part Width Sets the width of the window. Default value: 0 Height Sets the height of the window. Default value: 0 Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part ═══ Control Settings - IViewPort ═══ Fly over short text Specifies the short text for the fly-over text control. Default value: None Fly over long text Specifies the long text for the fly-over text control. Default value: None Window id Sets the window identifier. Default value: None Help panel id Sets the help panel identifier for the part. Default value: None Enabled Enables the handler by default. Default value: Selected ═══ Styles Settings - IViewPort ═══ defaultStyle() Resets the part to the original default style. Default value: Selected 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. Default value: The default is off, and the Default radio button is selected. 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. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. clipToParent Allows a window to paint outside of its window boundary up to the window boundary of its parent. Default value: The Default radio button is selected. 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. Default value: The Default radio button is selected. synchPaint Synchronously repaints the window. Without this style, painting only occurs if there are no other events waiting to be processed. Default value: The Default radio button is selected. visible Makes the window visible. In general, controls are constructed as visible, and frame windows are constructed as invisible. Default value: The default is on, and the Default radio button is selected. ═══ Handlers Settings - IViewPort ═══ Handler name Sets the name of the default handler. Default value: None Handler list Sets the name of the handler for the MLE control. Default value: None 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. Default value: Highlighted 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. Default value: Not highlighted Move Determines whether a part and its descendants can be moved to a new location. Default value: Not highlighted Remove Removes one item from the part and returns the count of the number of items that remain. Default value: Not highlighted ═══ Color Settings - IViewPort ═══ Color area Sets the color of the given area. Choices are as follows: Background Sets the color for background text Default value: Background is selected 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. Default value: Colors selected Color values Sets the color value of the window area, or sets the passed default if no color for the area has been set. Default value: None RGB values Sets the color values for the canvas. Default value: Red=255, Green=255, Blue=255 ═══ Size/Position Settings - IViewPort ═══ X field Sets the X coordinate of the part. Default value: The x coordinate of the part currently positioned on the free-form surface Y field Sets the Y coordinate of the point. Default value: The y coordinate of the part currently positioned on the free-form surface Width Sets the width of the text. Default value: None Height Sets the height of the text. Default value: None 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. Default value: Calculate at execution time is selected Width Sets the minimum-allowable width, which is set by the user's class. Default value: None (calculated at execution time) Height Sets the minimum-allowable height, which is set by the user's class. Default value: None (calculated at execution time) ═══ Font Settings - IViewPort ═══ Name Sets the name of the font. Default value: System proportional Point size Sets the point size of the font. Default value: 10 Style Sets the style for the part. Default value: None Emphasis Gives the part emphasis. If a part is specified, the emphasis is drawn around the part. Default value: None Edit Opens an edit field on a part or setting. Default value: Highlighted Default font Sets the current default font style. Default value: Not highlighted ═══ 3.60. IVSequence ═══ Overview Part Description Building Guidelines Part Interface Attributes Actions Events Settings Pages General Personal Notes ═══ Part Description - IVSequence ═══ Title: IBM VSequence template collection class Class name: IVSequence Base part: IVGSequence Part type: Nonvisual part Part file: vbbase.vbb An IVSequence part is an ordered collection of elements. The user interacts with objects in the collection through other parts, such as list boxes and combination boxes. The user does not interact directly with an IVSequence part. Use an IVSequence part to manage objects in an ordered collection. ═══ Building Guidelines - IVSequence ═══ When building with an IVSequence part, you can do the following:  Define the type of objects in the sequence. Do this by entering a pointer to the part type (part type and *) in the Item type field on the IVSequence General settings page.  Identify initial objects in the collection. Do this by entering the choices in the Contents field on the IVSequence General settings page.  Add a given object to the collection when a push button is pressed. Do this by connecting the IPushButton buttonClickEvent feature to the IVSequence add action. Then, connect the this attribute of the object to the buttonClickEvent-to-add connection, providing the element parameter for the add action.  Add an object with a known attribute value to the collection when a push button is pressed. For example, add a key attribute value representing an object to an ICollectionViewComboBox part when the user enters the attribute in the combination box entry field and presses an Add push button. Do this by connecting the IPushButton buttonClickEvent feature to an add action of a nonvisual object manager part. Then, connect the object text attribute to the buttonClickEvent-to-add connection, providing the attribute parameter for the add action. The nonvisual object manager could either find an existing object with the key attribute value or create a new object with the key. To add the object to the sequence, the object manager part could either call the IVSequence add function or generate an event that you can connect to the IVSequence add action, passing the object as the element parameter.  Remove an object with a known index from the collection when a push button is pressed. For example, remove a selected object item from an ICollectionViewComboBox part when the user presses a Remove push button. Do this by connecting the IPushButton buttonClickEvent feature to the IVSequence removeAtPosition action. Then, connect the ICollectionViewComboBox selection attribute to the buttonClickEvent-to-removeAtPosition connection, providing the position parameter for the removeAtPosition action. ═══ Attributes - IVSequence ═══ Attribute S E Data type anyElement Element const& base Base& bounded IBoolean consistent IBoolean empty IBoolean enabledForNotification ■ Boolean firstElement Element const& full IBoolean lastElement Element const& maxNumberOfElements INumber newCursor ICursor* numberOfElements INumber ═══ Actions - IVSequence ═══ Action Parameters add Element const&, ICursor& addAllFrom IACollection < Element > const& addAsFirst Element const& addAsLast Element const&, ICursor& addAtPosition IPosition, Element const& allElementsDo IBoolean ( * function ) ( Element&, void * ) , void* compare IASequence < Element > const&, long ( * comparisonFunction ) copy IACollection < Element > const& disableNotification None elementAtPosition IPosition operator = IVSequenceOnBase <, Base > const& removeAll IBoolean ( * property ) ( Element const&, void * ) , void* removeAtPosition IPosition removeFirst None removeLast None sort long ( * comparisonFunction ) ═══ Events - IVSequence ═══ Event Notification ID addedEvent addedId modifiedEvent modifiedId removedEvent removedId replacedEvent replacedId ═══ General Settings - IVSequence ═══ Subpart name Sets the name of the subpart (a part placed on a composite part). Default value: The name of the part Item type Specifies the part type of objects in the collection. Default value: None Contents Sets initial items for the part. Default value: None ═══ 4. Class Interface Parts ═══ The following chapters provide information on all class interface parts except those on the parts palette. Class interface parts are not fully enabled parts. ═══ 4.1. I0String ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - I0String ═══ Title: IBM string class, indexed starting at 0 Class name: I0String Base part: IString Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - I0String ═══ Attribute S Data type alphabetic Boolean alphanumeric Boolean asDebugInfo IString asDouble double asInt long asString IString asUnsigned unsigned long binaryDigits Boolean control Boolean digits Boolean graphics Boolean hexDigits Boolean includesDBCS Boolean includesMBCS Boolean includesSBCS Boolean isASCII Boolean isDBCS Boolean isLowerCase Boolean isMBCS Boolean isSBCS Boolean isUpperCase Boolean length unsigned numWords unsigned printable Boolean punctuation Boolean size unsigned validDBCS Boolean validMBCS Boolean whiteSpace Boolean ═══ Actions - I0String ═══ Action Parameters b2c IString& b2d IString& b2x IString& c2b None c2d None c2x IString& center IString&, unsigned, char change IString&, IString&, IString&, unsigned, unsigned charType unsigned copy IString&, unsigned d2b IString& d2c None d2x None includes IStringTest& indexOf char*, unsigned indexOfAnyBut IString&, unsigned indexOfAnyOf IStringTest&, unsigned indexOfPhrase IString&, unsigned indexOfWord unsigned insert IString&, IString&, unsigned, char isAbbreviationFor char*, unsigned isLike char*, unsigned, char, char lastIndexOf char, unsigned lastIndexOfAnyBut IStringTest&, unsigned lastIndexOfAnyOf IString&, unsigned leftJustify unsigned, char lengthOfWord unsigned lineFrom istream&, char lowerCase IString& occurrencesOf char*, unsigned, unsigned operator & IString& operator &= char* operator + IString& operator += char* operator = IString& operator char * IString& operator signed char * IString& operator unsigned char * IString& operator [] unsigned operator ^ IString& operator ^= char* operator | IString& operator |= char* operator ~ None overlayWith IString&, char*, unsigned, char remove IString&, unsigned, unsigned removeWords unsigned, unsigned reverse IString& rightJustify unsigned, char space unsigned, char strip IString&, char stripBlanks IString& stripLeading IString&, char* stripLeadingBlanks IString& stripTrailing IString&, IStringTest& stripTrailingBlanks IString& subString unsigned translate IString&, IString&, char upperCase IString& word unsigned wordIndexOfPhrase IString&, unsigned words unsigned, unsigned x2b None x2c IString& x2d IString& ═══ 4.2. IAccelerator ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IAccelerator ═══ Title: IBM class to access shortcut-key table Class name: IAccelerator Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IAccelerator ═══ Attribute S Data type asDebugInfo IString asString IString handle IAccelTblHandle isSet Boolean owner IWindow* ═══ Actions - IAccelerator ═══ Action Parameters remove None reset None set IAccelTblHandle& unset None ═══ 4.3. ICLibErrorInfo ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - ICLibErrorInfo ═══ Title: IBM access to CLib error information Class name: ICLibErrorInfo Base part: IErrorInfo Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - ICLibErrorInfo ═══ Attribute S Data type asDebugInfo IString asString IString available Boolean errorId unsigned long text const char* ═══ Actions - ICLibErrorInfo ═══ Action Parameters operator const char * None throwCLibError char*, IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity throwError IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity, IException::Severity ═══ 4.4. IClipboard ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IClipboard ═══ Title: IBM clipboard class Class name: IClipboard Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IClipboard ═══ Attribute S Data type asDebugInfo IString asString IString bitmap ■ IBitmapHandle formatCount unsigned long hasBitmap Boolean hasText Boolean isOpen Boolean owner IWindowHandle primaryFormat IString text ■ IString ═══ Actions - IClipboard ═══ Action Parameters close None data char* empty None format Cursor& formatAsHandle char* hasData char* open None registerFormat char* setData char*, void*, unsigned long setHandle const char*, unsigned long ═══ 4.5. IColor ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IColor ═══ Title: IBM color class Class name: IColor Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IColor ═══ Attribute S Data type asDebugInfo IString asRGBLong long asString IString blueMix ■ unsigned char greenMix ■ unsigned char index long redMix ■ unsigned char value Color ═══ Actions - IColor ═══ Action Parameters operator != IColor& operator = IColor& operator == IColor& ═══ 4.6. IContainerObject ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IContainerObject ═══ Title: IBM base class for all container items Class name: IContainerObject Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IContainerObject ═══ Attribute S Data type asDebugInfo IString asString IString dropOnAble ■ Boolean helpId unsigned long icon ■ IPointerHandle iconText ■ IString inUse ■ Boolean objectCopy IContainerObject* open ■ Boolean refreshOn ■ Boolean visible ■ Boolean writeable ■ Boolean ═══ Actions - IContainerObject ═══ Action Parameters disableDataUpdate IContainerControl* disableDrop IContainerControl* handleCursoredChange IContainerControl*, Boolean handleInuseChange IContainerControl*, Boolean handleOpen IContainerControl* handleSelectedChange IContainerControl*, Boolean handleTreeCollapse IContainerControl* handleTreeExpand IContainerControl* hide IContainerControl* operator == IContainerObject& operator delete , const char*, size_t operator new , const char*, size_t refresh IContainerControl* removeInUse IContainerControl* setClosed None setRefreshOff None ═══ 4.7. IDate ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IDate ═══ Title: IBM date class Class name: IDate Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IDate ═══ Attribute S Data type asCDATE _CDATE asDebugInfo IString asString IString dayOfMonth int dayOfWeek DayOfWeek dayOfYear int julianDate unsigned long monthOfYear Month today IDate year int ═══ Actions - IDate ═══ Action Parameters dayName DayOfWeek daysInMonth Month, int daysInYear int isLeapYear int isValid int, Month, int monthName Month operator != IDate& operator + int operator += int operator - IDate& operator -= int operator < IDate& operator <= IDate& operator == IDate& operator > IDate& operator >= IDate& ═══ 4.8. IDynamicLinkLibrary ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IDynamicLinkLibrary ═══ Title: IBM support for linking to DLL Class name: IDynamicLinkLibrary Base part: IResourceLibrary Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IDynamicLinkLibrary ═══ Attribute S Data type asDebugInfo IString asString IString fileName IString handle IModuleHandle ═══ Actions - IDynamicLinkLibrary ═══ Action Parameters close None isEntryPoint32Bit unsigned long loadAccelTable unsigned long loadBitmap unsigned long, Boolean loadDialog unsigned long, IWindow*, IWindow*, IWinProc*, void* loadHelpTable IWindow*, unsigned long loadIcon unsigned long, Boolean loadMenu unsigned long, IWindow* loadMessage unsigned long loadPointer unsigned long, Boolean loadString unsigned long open None operator = IResourceLibrary& procAddress char* tryToLoadBitmap unsigned long, ISize&, Boolean tryToLoadIcon unsigned long, Boolean tryToLoadMessage unsigned long tryToLoadString unsigned long ═══ 4.9. IFlyOverHelpHandler ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IFlyOverHelpHandler ═══ Title: IBM handler class for fly-over help Class name: IFlyOverHelpHandler Base part: IHandler Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IFlyOverHelpHandler ═══ Attribute S Data type asDebugInfo IString asString IString defaultText ■ IString delayTime ■ unsigned long enabled ■ Boolean flyTextControl ■ IFlyText* flyTextStringTableOffset ■ long longStringTableOffset ■ long longTextControl ■ ITextControl* resourceLibrary ■ IResourceLibrary& ═══ Actions - IFlyOverHelpHandler ═══ Action Parameters disable None flyHelpText IWindowHandle& longHelpText IWindowHandle& removeHelpText IWindowHandle& setHelpText IWindowHandle&, IString&, IString& start IWindow* stop IWindow* ═══ 4.10. IFont ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IFont ═══ Title: IBM class to manage fonts Class name: IFont Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IFont ═══ Attribute S Data type asDebugInfo IString asString IString avgCharWidth unsigned long avgLowercase unsigned long avgUppercase unsigned long bitmap Boolean bitmapOnly Boolean bold ■ Boolean externalLeading unsigned long fattrs const struct _FATTRS* fixed Boolean fontmetrics const struct _FONTMETRICS* internalLeading unsigned long italic ■ Boolean maxAscender unsigned long maxCharHeight unsigned long maxDescender unsigned long maxLowercaseAscender unsigned long maxLowercaseDescender unsigned long maxSize ISize maxUppercaseSize ISize name ■ IString nonPropOnly Boolean outline ■ Boolean pointSize ■ unsigned long strikeout ■ Boolean subscriptOffset ISize subscriptSize ISize superscriptOffset ISize superscriptSize ISize underscore ■ Boolean vectorOnly Boolean ═══ Actions - IFont ═══ Action Parameters beginUsingFont IPresSpaceHandle& charWidth char endUsingFont IPresSpaceHandle& minTextWidth char* operator = IFont& setAllEmphasis Boolean setCharHeight unsigned long, IPresSpaceHandle& setCharSize ISize&, IPresSpaceHandle& setCharWidth unsigned long, IPresSpaceHandle& setDirection Direction setFontAngle IPoint&, IPresSpaceHandle& setFontShear IPoint&, IPresSpaceHandle& setWindowFont IWindow* textLines char*, unsigned long textWidth char* useBitmapOnly Boolean, IPresSpaceHandle& useNonPropOnly Boolean, IPresSpaceHandle& useVectorOnly Boolean, IPresSpaceHandle& ═══ 4.11. IGUIErrorInfo ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IGUIErrorInfo ═══ Title: IBM access to GUI error information Class name: IGUIErrorInfo Base part: IErrorInfo Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IGUIErrorInfo ═══ Attribute S Data type asDebugInfo IString asString IString available Boolean errorId unsigned long text const char* ═══ Actions - IGUIErrorInfo ═══ Action Parameters operator const char * Boolean, IPresSpaceHandle& throwError IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity, IException::Severity throwGUIError char*, IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity ═══ 4.12. IHandle ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IHandle ═══ Title: IBM abstract class for all handles Class name: IHandle Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IHandle ═══ Attribute S Data type asDebugInfo IString asString IString asUnsigned unsigned long ═══ Actions - IHandle ═══ Action Parameters operator Value char*, IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity ═══ 4.13. IMM24FramesPerSecondTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMM24FramesPerSecondTime ═══ Title: IBM support of 24-frames-per-second video Class name: IMM24FramesPerSecondTime Base part: IMMHourMinSecFrameTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMM24FramesPerSecondTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString frames unsigned long framesPerSecond unsigned long hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMM24FramesPerSecondTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.14. IMM25FramesPerSecondTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMM25FramesPerSecondTime ═══ Title: IBM support of 25-frames-per-second video Class name: IMM25FramesPerSecondTime Base part: IMMHourMinSecFrameTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMM25FramesPerSecondTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString frames unsigned long framesPerSecond unsigned long hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMM25FramesPerSecondTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.15. IMM30FramesPerSecondTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMM30FramesPerSecondTime ═══ Title: IBM support of 30-frames-per-second video Class name: IMM30FramesPerSecondTime Base part: IMMHourMinSecFrameTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMM30FramesPerSecondTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString frames unsigned long framesPerSecond unsigned long hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMM30FramesPerSecondTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.16. IMMAudioBuffer ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMAudioBuffer ═══ Title: IBM audio buffer Class name: IMMAudioBuffer Base part: IBase Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMAudioBuffer ═══ Attribute S Data type asDebugInfo IString asString IString bitsPerSample ■ unsigned long blockAlignment ■ unsigned long bytesPerSecond ■ unsigned long channels ■ unsigned long contentType ■ ContentType data ■ IString format ■ Format headerData IString length unsigned long mediaType ■ unsigned long samplesPerSecond ■ unsigned long ═══ Actions - IMMAudioBuffer ═══ Action Parameters operator = IMMAudioBuffer& ═══ 4.17. IMMAudioCDContents ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMAudioCDContents ═══ Title: IBM table of contents for audio compact disc Class name: IMMAudioCDContents Base part: IVBase Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMAudioCDContents ═══ Attribute S Data type asDebugInfo IString asString IString discId IString numberOfEntries unsigned long numberOfTracks unsigned long valid Boolean ═══ Actions - IMMAudioCDContents ═══ Action Parameters addEntryAsFirst unsigned long operator = IMMAudioCDContents& ═══ 4.18. IMMAudioHeader ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMAudioHeader ═══ Title: IBM audio header Class name: IMMAudioHeader Base part: IVBase Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMAudioHeader ═══ Attribute S Data type asDebugInfo IString asString IString averageBytesPerSecond ■ unsigned long bitsPerSample ■ unsigned long blockAlign ■ unsigned long channels ■ unsigned long contentType ■ ContentType formatTag ■ FormatTag headerData const void* samplesPerSecond ■ unsigned long ═══ Actions - IMMAudioHeader ═══ Action Parameters operator = IMMAudioHeader& ═══ 4.19. IMMErrorInfo ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMErrorInfo ═══ Title: IBM multimedia error information Class name: IMMErrorInfo Base part: IErrorInfo Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMErrorInfo ═══ Attribute S Data type asDebugInfo IString asString IString available Boolean errorId unsigned long text const char* ═══ Actions - IMMErrorInfo ═══ Action Parameters operator const char * IMMAudioHeader& throwError IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity, IException::Severity throwMMError unsigned long, char*, IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity ═══ 4.20. IMMHourMinSecFrameTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMHourMinSecFrameTime ═══ Title: IBM support of hour/minute/second/frame time format Class name: IMMHourMinSecFrameTime Base part: IMMTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMHourMinSecFrameTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString frames unsigned long framesPerSecond unsigned long hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMMHourMinSecFrameTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.21. IMMHourMinSecTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMHourMinSecTime ═══ Title: IBM support of hour/minute/second time format Class name: IMMHourMinSecTime Base part: IMMTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMHourMinSecTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMMHourMinSecTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.22. IMMMillisecondTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMMillisecondTime ═══ Title: IBM millisecond time class Class name: IMMMillisecondTime Base part: IMMTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMMillisecondTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMMMillisecondTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.23. IMMMinSecFrameTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMMinSecFrameTime ═══ Title: IBM support of minute/second/frame time format Class name: IMMMinSecFrameTime Base part: IMMTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMMinSecFrameTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString frames unsigned long hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMMMinSecFrameTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.24. IMMSpeed ═══ Overview Part Description Part Interface Attributes Personal Notes ═══ Part Description - IMMSpeed ═══ Title: IBM speed class Class name: IMMSpeed Base part: IVBase Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMSpeed ═══ Attribute S Data type asDebugInfo IString asString IString format Format speed unsigned long ═══ 4.25. IMMTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMTime ═══ Title: IBM base class for all multimedia time support Class name: IMMTime Base part: IVBase Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long valid Boolean ═══ Actions - IMMTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.26. IMMTrackMinSecFrameTime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IMMTrackMinSecFrameTime ═══ Title: IBM support of track/minute/second/frame time format Class name: IMMTrackMinSecFrameTime Base part: IMMTime Part type: Class interface part Part file: vbmm.vbb ═══ Attributes - IMMTrackMinSecFrameTime ═══ Attribute S Data type asDebugInfo IString asMMTime unsigned long asString IString frames unsigned long hours unsigned long hundredths unsigned long minutes unsigned long ordinal unsigned long seconds unsigned long thousandths unsigned long track unsigned long valid Boolean ═══ Actions - IMMTrackMinSecFrameTime ═══ Action Parameters operator != IMMTime& operator + IMMTime& operator += IMMTime& operator - IMMTime& operator -= IMMTime& operator < IMMTime& operator <= IMMTime& operator = IMMTime& operator == IMMTime& operator > IMMTime& operator >= IMMTime& operator unsigned long IMMTime& setTimeToOrdinal unsigned long ═══ 4.27. IPair ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IPair ═══ Title: IBM ordered pair of coordinates Class name: IPair Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IPair ═══ Attribute S Data type asDebugInfo IString asString IString coord1 ■ Coord coord2 ■ Coord ═══ Actions - IPair ═══ Action Parameters distanceFrom IPair& dotProduct IPair& maximum IPair& minimum IPair& operator != IPair& operator %= long operator *= double operator += IPair& operator - None operator -= IPair& operator /= double operator < IPair& operator <= IPair& operator == IPair& operator > IPair& operator >= IPair& scaleBy double, double scaledBy double, double transpose None ═══ 4.28. IPercentAvailable ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IPercentAvailable ═══ Title: IPercentAvailable Class name: IPercentAvailable Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IPercentAvailable ═══ Attribute S Data type asDebugInfo IString asString IString valid Boolean value ■ unsigned long ═══ Actions - IPercentAvailable ═══ Action Parameters operator != unsigned long operator * unsigned long operator *= unsigned long operator + unsigned long operator += unsigned long operator - unsigned long operator -= unsigned long operator / unsigned long operator /= unsigned long operator < unsigned long operator <= unsigned long operator = IPercentAvailable& operator == unsigned long operator > unsigned long operator >= unsigned long operator unsigned long unsigned long ═══ 4.29. IPoint ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IPoint ═══ Title: IBM 2-dimensional mathematical point Class name: IPoint Base part: IPair Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IPoint ═══ Attribute S Data type asDebugInfo IString asPOINTL struct _POINTL asString IString coord1 ■ Coord coord2 ■ Coord x ■ Coord y ■ Coord ═══ Actions - IPoint ═══ Action Parameters distanceFrom IPair& dotProduct IPair& maximum IPair& minimum IPair& operator != IPair& operator %= long operator *= double operator += IPair& operator - None operator -= IPair& operator /= double operator < IPair& operator <= IPair& operator == IPair& operator > IPair& operator >= IPair& scaleBy double, double scaledBy double, double transpose None ═══ 4.30. IPointArray ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IPointArray ═══ Title: IBM point array Class name: IPointArray Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IPointArray ═══ Attribute S Data type asDebugInfo IString asString IString reversed IPointArray size unsigned long ═══ Actions - IPointArray ═══ Action Parameters add IPoint& insert unsigned long, IPoint& operator != IPointArray& operator = IPointArray& operator == IPointArray& operator [] unsigned long remove unsigned long resize unsigned long reverse None ═══ 4.31. IProfile ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IProfile ═══ Title: IBM application-profile file Class name: IProfile Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IProfile ═══ Attribute S Data type asDebugInfo IString asString IString defaultApplicationName ■ IString handle IProfileHandle name IString numberOfApplications unsigned long numberOfKeys unsigned long systemProfile IProfile userProfile IProfile ═══ Actions - IProfile ═══ Action Parameters addOrReplaceElementWithKey char*, IString&, char* containsApplication char* containsKeyName char*, char* deleteElementWithApplication char* deleteElementWithKey char*, char* elementWithKey char*, char* integerWithKey char*, char* operator = IProfile& ═══ 4.32. IRange ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IRange ═══ Title: IBM range of coordinate values Class name: IRange Base part: IPair Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IRange ═══ Attribute S Data type asDebugInfo IString asString IString coord1 ■ Coord coord2 ■ Coord lowerBound ■ Coord upperBound ■ Coord ═══ Actions - IRange ═══ Action Parameters distanceFrom IPair& dotProduct IPair& includes Coord maximum IPair& minimum IPair& operator != IPair& operator %= long operator *= double operator += IPair& operator - None operator -= IPair& operator /= double operator < IPair& operator <= IPair& operator == IPair& operator > IPair& operator >= IPair& scaleBy double, double scaledBy double, double transpose None ═══ 4.33. IRectangle ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IRectangle ═══ Title: IBM rectangle, defined by 2 points Class name: IRectangle Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IRectangle ═══ Attribute S Data type area Coord asDebugInfo IString asRECTL struct _RECTL asString IString bottom Coord bottomCenter IPoint bottomLeft ■ IPoint bottomRight IPoint center IPoint centerXCenterY IPoint centerXMaxY IPoint centerXMinY IPoint height Coord left Coord leftCenter IPoint maxX Coord maxXCenterY IPoint maxXMaxY IPoint maxXMinY IPoint maxY Coord minX Coord minXCenterY IPoint minXMaxY IPoint minXMinY IPoint minY Coord right Coord rightCenter IPoint size ■ ISize top Coord topCenter IPoint topLeft IPoint topRight IPoint width Coord ═══ Actions - IRectangle ═══ Action Parameters centerAt IPoint& centeredAt IPoint& contains IPoint& expandBy IPair& expandedBy Coord intersects IRectangle& moveBy IPair& movedBy IPair& movedTo IPoint& operator != IRectangle& operator & IRectangle& operator &= IRectangle& operator == IRectangle& operator | IRectangle& operator |= IRectangle& scaleBy IPair& scaledBy double shrinkBy IPair& shrunkBy IPair& sizeBy Coord sizedBy double sizedTo IPair& ═══ 4.34. IResourceId ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IResourceId ═══ Title: IBM resource identifier Class name: IResourceId Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IResourceId ═══ Attribute S Data type asDebugInfo IString asString IString id unsigned long resourceLibrary const IResourceLibrary& ═══ Actions - IResourceId ═══ Action Parameters operator unsigned long IPair& operator= const IResourceId& ═══ 4.35. IResourceLibrary ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IResourceLibrary ═══ Title: IBM resource file Class name: IResourceLibrary Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IResourceLibrary ═══ Attribute S Data type asDebugInfo IString asString IString fileName IString handle IModuleHandle open Boolean ═══ Actions - IResourceLibrary ═══ Action Parameters loadAccelTable unsigned long loadBitmap unsigned long, Boolean loadDialog unsigned long, IWindow*, IWindow*, IWinProc*, void* loadHelpTable IWindow*, unsigned long loadIcon unsigned long, Boolean loadMenu unsigned long, IWindow* loadMessage unsigned long loadPointer unsigned long, Boolean loadString unsigned long operator = IResourceLibrary& tryToLoadBitmap unsigned long, ISize&, Boolean tryToLoadIcon unsigned long, Boolean tryToLoadMessage unsigned long tryToLoadString unsigned long ═══ 4.36. ISize ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - ISize ═══ Title: IBM support for size in height and width Class name: ISize Base part: IPair Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - ISize ═══ Attribute S Data type asDebugInfo IString asSIZEL SIZEL asString IString coord1 ■ Coord coord2 ■ Coord height ■ Coord width ■ Coord ═══ Actions - ISize ═══ Action Parameters distanceFrom IPair& dotProduct IPair& maximum IPair& minimum IPair& operator != IPair& operator %= long operator *= double operator += IPair& operator - None operator -= IPair& operator /= double operator < IPair& operator <= IPair& operator == IPair& operator > IPair& operator >= IPair& scaleBy double, double scaledBy double, double transpose None ═══ 4.37. IString ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - IString ═══ Title: IBM string class, indexed starting at 1 Class name: IString Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - IString ═══ Attribute S Data type alphabetic Boolean alphanumeric Boolean asDebugInfo IString asDouble double asInt long asString IString asUnsigned unsigned long binaryDigits Boolean control Boolean digits Boolean graphics Boolean hexDigits Boolean includesDBCS Boolean includesMBCS Boolean includesSBCS Boolean isASCII Boolean isDBCS Boolean isLowerCase Boolean isMBCS Boolean isSBCS Boolean isUpperCase Boolean length unsigned numWords unsigned printable Boolean punctuation Boolean size unsigned validDBCS Boolean validMBCS Boolean whiteSpace Boolean ═══ Actions - IString ═══ Action Parameters b2c IString& b2d IString& b2x IString& c2b None c2d None c2x IString& center IString&, unsigned, char change IString&, char*, char*, unsigned, unsigned charType unsigned copy IString&, unsigned d2b IString& d2c None d2x None includes IStringTest& indexOf char*, unsigned indexOfAnyBut IString&, unsigned indexOfAnyOf IStringTest&, unsigned indexOfPhrase IString&, unsigned indexOfWord unsigned insert IString&, unsigned, char isAbbreviationFor char*, unsigned isLike char*, unsigned, char, char lastIndexOf char, unsigned lastIndexOfAnyBut IStringTest&, unsigned lastIndexOfAnyOf IString&, unsigned leftJustify unsigned, char lengthOfWord unsigned lineFrom istream&, char lowerCase IString& occurrencesOf char*, unsigned, unsigned operator & IString& operator &= char* operator + IString& operator += char* operator = IString& operator char * IString& operator signed char * IString& operator unsigned char * IString& operator [] unsigned operator ^ IString& operator ^= char* operator | IString& operator |= char* operator ~ None overlayWith IString&, IString&, unsigned, char remove IString&, unsigned removeWords unsigned, unsigned reverse IString& rightJustify unsigned, char space unsigned, char strip IString&, char stripBlanks IString& stripLeading IString&, char* stripLeadingBlanks IString& stripTrailing IString&, IStringTest& stripTrailingBlanks IString& subString unsigned translate IString&, IString&, char upperCase IString& word unsigned wordIndexOfPhrase IString&, unsigned words unsigned, unsigned x2b None x2c IString& x2d IString& ═══ 4.38. ISystemErrorInfo ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - ISystemErrorInfo ═══ Title: IBM access to system error information Class name: ISystemErrorInfo Base part: IErrorInfo Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - ISystemErrorInfo ═══ Attribute S Data type asDebugInfo IString asString IString available Boolean errorId unsigned long text const char* ═══ Actions - ISystemErrorInfo ═══ Action Parameters operator const char * IString& throwError IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity, IException::Severity throwSystemError unsigned long, char*, IExceptionLocation&, IErrorInfo::ExceptionType, IException::Severity ═══ 4.39. ITime ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - ITime ═══ Title: IBM time class Class name: ITime Base part: IBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - ITime ═══ Attribute S Data type asCTIME _CTIME asDebugInfo IString asSeconds long asString IString hours unsigned minutes unsigned now ITime seconds unsigned ═══ Actions - ITime ═══ Action Parameters operator != ITime& operator + ITime& operator += ITime& operator - ITime& operator -= ITime& operator < ITime& operator <= ITime& operator == ITime& operator > ITime& operator >= ITime& ═══ 4.40. ITrace ═══ Overview Part Description Part Interface Attributes Actions Personal Notes ═══ Part Description - ITrace ═══ Title: IBM support for module tracing Class name: ITrace Base part: IVBase Part type: Class interface part Part file: vbbase.vbb ═══ Attributes - ITrace ═══ Attribute S Data type asDebugInfo IString asString IString traceDestination ITrace::Destination traceEnabled Boolean writeLineNumberEnabled Boolean writePrefixEnabled Boolean ═══ Actions - ITrace ═══ Action Parameters disableTrace None disableWriteLineNumber None disableWritePrefix None enableTrace None enableWriteLineNumber None enableWritePrefix None write char* writeToQueue None writeToStandardError None writeToStandardOutput None ═══ 5. 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 access action argument attribute attribute-to-action connection attribute-to-attribute connection attribute-to-member function connection B base class behavior C caller category class Class Editor class hierarchy class library class member function client area object client object collection Common User Access (CUA) composite part Composition Editor concrete class connection const construction from parts constructor CUA cursored emphasis custom logic connection D data abstraction data member data model data object declaration DEF file derivation 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 full attribute free-form surface G graphical user interface (GUI) GUI H handles header file I inheritance instance L legacy code loaded M main part member member function member function call member function name message model module definition file N nested class nonvisual part no-event attribute no-set attribute notebook part O object object class object factory object-oriented programming observer operation overloading P palette parameter connection parent class part part event part event ID part interface Part Interface Editor parts palette preferred features primary selection private process program protected prototype primitive part process property pure virtual function R receiver resource file S selection handles server service settings view sticky structure subpart superclass T tear-off attribute template thread tool bar U UI unloaded user interface (UI) V variable view virtual function visual part visual programming tool W white space 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. ═══ 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. ═══ 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. The visual builder uses attribute specifications to generate code to get and set part properties. Compare to event and action. ═══ attribute-to-action connection ═══ A connection that starts an action whenever an attribute's value changes. It is similar to an event-to-action connection because the attribute's event ID is used to notify the action when the value of the attribute changes. See also connection. Compare to event-to-action connection. ═══ 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-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. ═══ 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 part  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. The 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, 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. ═══ 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 to be performed when an 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 the 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 subpart. ═══ 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 data members and member functions 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 instances 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. ═══ observer ═══ 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. ═══ palette ═══ See parts palette. ═══ parameter connection ═══ A connection that satisfies a parameter of an action or member function by supplying either an attribute's value or the return value of an action, member function, or custom logic. The parameter is always the source of the connection. See also connection. ═══ 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 public 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 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 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. ═══ ═══ The S column heading represents Set. If an attribute can be set, a ■ appears in this column. ═══ ═══ The E column heading represents Event. If an attribute can send a value change event on a connection, a ■ appears in this column.