The items in this list represent the items found in Figure 7-4. Each item’s type can be
retrieved by calling:
Panel_item_type type;
type = (Panel_item_type)xv_get(panel_item, PANEL_ITEM_CLASS);
Panel_item_type is an enumerated type found in <xview/panel.h> and contains the fol-
lowing types:
• PANEL_ABBREV_MENU_BUTTON_ITEM
• PANEL_BUTTON_ITEM
• PANEL_CHOICE_ITEM
• PANEL_DROP_TARGET_ITEM
• PANEL_GAUGE_ITEM
• PANEL_LIST_ITEM
• PANEL_MESSAGE_ITEM
• PANEL_MULTILINE_TEXT_ITEM
• PANEL_NUMERIC_TEXT_ITEM
• PANEL_SLIDER_ITEM
• PANEL_TEXT_ITEM
• PANEL_TOGGLE_ITEM
• PANEL_EXTENSION_ITEM
Most panel items have no windows associated with them (internally, the package uses Xlib
calls to draw the items directly onto the panel window). There are no windows associated
with panel items, so panel items should be careful not to overlap one another because one
item will not clip the one under it. For event processing, when an event occurs in a panel, the
package scans through items in the panel in the order that they were created. The event is
dispatched to the first item whose item rectangle includes the x,y coordinate of the event. If
there is another item that shares the same space, then it will not see the event. For this rea-
son, it is important that panel items are tiled and do not intersect partially or completely.
There are cases where the panel item displayed in a particular location is dependent on the
state of the application. In such cases, only one panel item would be visible and the other(s)
would be hidden.