X11workbench Toolkit  1.0
__WBChildFrame__ Struct Reference

Structure that defines a Child Frame within a Frame Window. More...

#include <frame_window.h>

Data Fields

unsigned int ulTag
 tag indicating I'm a 'Child Frame' window
 
Window wID
 window identifier for the 'Child Frame' window. may contain 'None' while being destroyed
 
WBFrameWindowpOwner
 a pointer to the WBFrameWindow owner
 
WB_FONT pFont
 default font for the window
 
WB_GEOM geom
 total client-area geometry (excludes scroll bars) in 'pixels'
 
WB_GEOM geomEntire
 client-area geometry (excludes scroll bars)
 
WB_POINT origin
 viewport 'origin' in 'client units' (such as chars and lines) - determines scroll behavior
 
WB_EXTENT extent
 viewport 'extent' in 'client units' (such as chars and lines) - determines scroll behavior
 
int iRowHeight
 cached 'row height' (height of line including interline spacing)
 
int iColWidth
 cached 'column width' (width of 1 character)
 
WB_SCROLLINFO scroll
 'scroll info' (horizontal and vertical min/max/pos and other details)
 
int iSplit
 reserved - position for 'split' (-1 for 'no split')
 
WB_SCROLLINFO scrollSplit
 reserved - 'scroll info' for 'split' area (implementation-defined)
 
int fFlags
 various bitflags defining features. See WBChildFrame_FLAGS enum.
 
char * szDisplayName
 display name shown in tab and title bar. You should not alter this member directly.
 
Atom aImageAtom
 'image' atom for display in tabs. default is 'None'. You should not alter this member directly.
 
char * szStatusText
 Status text ('WBAlloc'd) to display when this child frame window has the input focus. Updated by 'superclass'. can be NULL.
 
char * pszMenuResource
 resource string for this child frame's menu (NULL = 'use default')
 
WBFWMenuHandlerpMenuHandler
 menu handler for this child frame's menu (NULL = 'use default')
 
int iContextMenuID
 menu ID (from pszMenuResource or owning frame's menu) for context popup, -1 if none
 
WBWinEvent pUserCallback
 message callback function pointer (can be NULL)
 
void(* destructor )(struct __WBChildFrame__ *)
 pointer to a 'superclass' destructor. If not NULL, will be called by FWDestroyChildFrame()
 
struct __WBChildFrameUI__pUI
 pointer to 'WBChildFrameUI' function pointer table (assigned by 'superclass')
 
struct __WBChildFrame__pNext
 'Next Object' pointer in an internally stored linked list (do not alter or use this)
 

Detailed Description

Structure that defines a Child Frame within a Frame Window.

This structure represents a generic 'child frame' within a Frame Window. You should not use the default implementation, but rather derive something from it, aka a 'superclass'. The callback function array 'vtable' (WBChildFrameUI *) will be assigned to the 'pUI' member so that the correct functions will be called for the many possible UI events.

In this way, you can derive many types of 'child frames', from text to graphic display and/or edit windows. For a sample implementation, see WBEditWindow

Additionally, you should not modify the member variables of this structure without using one of the API functions. In some cases, you might have to make additional function calls that result from modifying their values. The API functions will do that correctly.

The WBChildFrame structure is as follows:

typedef struct __WBChildFrame__
{
unsigned int ulTag;
// tag indicating I'm a 'Child Frame' window
Window wID;
// window identifier for the 'Child Frame' window. may contain 'None' while being destroyed
// a pointer to the WBFrameWindow owner
// default font for the window
// client-area geometry (excludes scroll bars)
// entire client-area geometry (for painting scroll bars)
// 'origin' in 'client units' (such as chars and lines) - determines scroll behavior
// 'extent' in 'client units' (such as chars and lines) - determines scroll behavior
// cached 'row height' (height of line including interline spacing)
int iColWidth;
// cached 'column width' (width of 1 character)
// 'scroll info' (horizontal and vertical min/max/pos and other details)
int iSplit;
// reserved - position for 'split' (-1 for 'no split')
// reserved - 'scroll info' for 'split' area (implementation-defined)
int fFlags;
// various bitflags defining features.
// display name shown in tab and title bar. You should not alter this member directly.
Atom aImageAtom;
// 'image' atom for display in tabs. default is 'None'. You should not alter this member directly.
char *szStatusText;
// Status text ('WBAlloc'd) to display when this child frame window has the input focus.
// Updated by 'superclass'. Can be NULL.
// WBAlloc'd resource string for this child frame's menu (NULL = 'use default')
// WBAlloc'd menu handler for this child frame's menu (NULL = 'use default')
// menu ID (from pszMenuResource or owning frame's menu) for context popup, -1 if none
// message callback function pointer (can be NULL)
void (*destructor)(struct __WBChildFrame__ *);
// pointer to a destructor. if not NULL, will be called by FWDestroyChildFrame()
// pointer to 'WBChildFrameUI' function pointer table (assigned by 'superclass')
// 'Next Object' pointer in an internally stored linked list (do not alter or use this)
See also
Frame Windows

Definition at line 426 of file frame_window.h.


The documentation for this struct was generated from the following file: