
Figure 4-7. Base frame with a command frame
4.3.1 Manually Displaying Frames
The attribute XV_SHOW sets whether a window (or frame, in this case) will be displayed. If it
is set to FALSE, the frame will not be seen. Base frames are always displayed because
xv_main_loop sets the XV_SHOW attribute to TRUE. Pop-up frames are not displayed
unless the XV_SHOW attribute is set by the application. An application might create many
pop-up dialog boxes initially and then determine the appropriate time to actually display
them. A callback routine invoked by some action (e.g., panel button selection) from the base
frame might be used to display the pop-up frame. When a command frame is displayed, the
new cursor is moved to the default panel item within the command frame.
When a frame is displayed, the server allocates space for it. If you create an application that
uses many objects and requires a large amount of server memory to display those objects,
then, on servers with limited memory, you may need to specially manage or limit the number
of frames that are displayed.
4.3.2 The Pushpin
On a command frame, the pushpin at the upper-left corner is unpinned by default. The push-
pin is controlled by using both the FRAME_CMD_DEFAULT_PIN_STATE and the FRAME_
CMD_PIN_STATE
attributes. FRAME_CMD_DEFAULT_PIN_STATE controls the initial state of
the command frame’s pin when the frame goes from unmapped (withdrawn) ...