CW_ITPANEL

Syntax | Return Value | Arguments | Keywords | Widget Events Returned by the CW_ITPANEL Widget | Version History | See Also

The CW_ITPANEL function creates an iTool base compound widget that will contain any user interface panels registered with the specified IDLitUI object's associated iTool. See Creating a User Interface Panel for information on user interface panels.

Warning
This routine can only be used in the context of a user-created iTool. See Overview of iTools Compound Widgets for details.

The CW_ITPANEL widget automatically performs the following actions:

  1. Creates a base widget to contain the registered user interface panels.
  2. Constructs any user interface panels registered with the iTool using tab widgets. (See IREGISTER for information on registering a user interface panel.)
  3. Adds itself as an observer of the iTool object. If any changes affecting registered user interface panels occur, then the panel base widget will be notified and will automatically update itself. The CW_ITPANEL widget listens for the following messages:

    Table B-2: Messages Understood by CW_ITPANEL

    Message
    Value
    Description / Result

    ADDUIPANELS

    Name of callback procedure

    Add a new panel using the specified callback procedure.

    SHOWUIPANELS

    0 or 1

    Show (1) or hide (0) the UI panel.

  4. See iTool Messaging System for a discussion of observers and notifications.

  5. Handles events generated by the show/hide panel button.

Resizing CW_ITPANEL Widgets

The CW_ITPANEL widget does not automatically resize itself to the size of its parent widget. To resize the CW_ITPANEL widget, your event handling code must call the CW_ITPANEL_RESIZE procedure to specify the new size. The CW_ITPANEL_RESIZE procedure has the following interface:

CW_ITPANEL_RESIZE, Widget_ID, Ysize 

where Widget_ID is the CW_ITPANEL widget ID, and Ysize is the new height of the panel.

Syntax

Result = CW_ITPANEL(Parent, UI [, ORIENTATION=[0 | 1]] [, UNAME=string] [, UVALUE=value] )

Return Value

This function returns the widget ID of the newly-created panel widget.

Arguments

Parent

The widget ID of the parent base widget.

UI

An object reference of the IDLitUI object associated with the iTool. See User Interface Object for information on creating user interface objects.

Keywords

ORIENTATION

Set this keyword to an integer specifying which side of the parent base the panel is on. Possible values are:

Note
The ORIENTATION keyword does not affect where the panel widget is placed; it only controls how the panel show/hide button is displayed. Place the panel on the left or right side of the widget interface using normal widget layout techniques.

UNAME

Set this keyword to a string that can be used to identify the widget in your code. You can associate a name with each widget in a specific hierarchy, and then use that name to query the widget hierarchy and get the correct widget ID.

To query the widget hierarchy, use the WIDGET_INFO function with the FIND_BY_UNAME keyword. The UNAME should be unique to the widget hierarchy because the FIND_BY_UNAME keyword returns the ID of the first widget with the specified name.

UVALUE

The "user value" to be assigned to the widget. Each widget can contain a user-specified value of any data type and organization. This value is not used by the widget in any way, but exists entirely for the convenience of the IDL programmer. This keyword allows you to set this value when the widget is first created. If UVALUE is not present, the widget's initial user value is undefined.

The user value for a widget can be accessed and modified at any time by using the GET_UVALUE and SET_UVALUE keywords to the WIDGET_CONTROL procedure.

Keywords to WIDGET_CONTROL and WIDGET_INFO

The widget ID returned by most compound widgets is actually the ID of the compound widget's base widget. This means that many keywords to the WIDGET_CONTROL and WIDGET_INFO routines that affect or return information on base widgets can be used with compound widgets.

See Creating a Compound Widget (User Interface Programming) for a more complete discussion of controlling compound widgets using WIDGET_CONTROL and WIDGET_INFO.

Widget Events Returned by the CW_ITPANEL Widget

CW_IT* compound widgets do not return widget events. All interaction with the iTool user interface is accomplished via the iTool messaging system and the callback mechanism implemented in the user interface creation routine.

Version History

Introduced: 6.1

See Also

Creating a Custom iTool Widget Interface, CW_ITMENU, CW_ITSTATUSBAR, CW_ITTOOLBAR, CW_ITWINDOW