X11workbench Toolkit
1.0
|
Data Structures | |
struct | tagWBChildFrame |
Structure that defines a Child Frame within a Frame Window. More... | |
struct | tagWBChildFrameUI |
Structure that defines a Child Frame's UI, mainly for a 'superclass'. More... | |
Macros | |
#define | CHILD_FRAME_TAG (*((const unsigned int * const)"FWCF")) |
TAG for the WBChildFrame structure. | |
#define | CHILD_FRAME_UI_TAG ((WB_UINT32)'F' | ((WB_UINT32)'W' << 8) | ((WB_UINT32)'C' << 16) | ((WB_UINT32)'U' << 24)) /* FWCU */ |
TAG for the WBChildFrameUI structure. | |
#define | EDIT_WINDOW_TAG (*((const unsigned int * const)"FWEW")) |
TAG for the WBEditWindow structure. | |
Typedefs | |
typedef struct tagWBChildFrame | WBChildFrame |
Structure that defines a Child Frame within a Frame Window. More... | |
typedef struct tagWBChildFrameUI | WBChildFrameUI |
Structure that defines a Child Frame's UI, mainly for a 'superclass'. More... | |
Enumerations | |
enum | WBChildFrame_FLAGS { WBChildFrame_NO_TAB = 1, WBChildFrame_PIXELS = 2, WBChildFrame_VSPLIT = 4, WBChildFrame_HSPLIT = 8, WBChildFrame_SPLIT_MASK = 12, WBChildFrame_SPLIT_NOSIZE = 16 } |
enumeration for 'fFlags' member of WBChildFrame More... | |
Functions | |
int | FWInitChildFrame (WBChildFrame *pChildFrame, WBFrameWindow *pOwner, WB_FONTC pFont, const char *szFocusMenu, const WBFWMenuHandler *pHandlerArray, WBWinEvent pUserCallback, int fFlags) |
Initialize a child frame (assumed to be a base 'class' for the window) More... | |
void | FWDestroyChildFrame (WBChildFrame *pChildFrame) |
Destroy an Child Frame. More... | |
void | FWSetChildFrameMenu (WBChildFrame *pChildFrame, const char *szFocusMenu) |
Function to assign the menu resource to a Child Frame. More... | |
void | FWSetChildFrameContextMenuID (WBChildFrame *pChildFrame, int nID) |
Function to assign the context menu ID (from the menu resource) to a Child Frame. More... | |
void | FWSetChildFrameMenuHandlers (WBChildFrame *pChildFrame, const WBFWMenuHandler *pHandlerArray) |
Function to assign menu handlers to a Child Frame. More... | |
void | FWSetChildFrameDisplayName (WBChildFrame *pChildFrame, const char *szDisplayName) |
Assign the display name. More... | |
void | FWSetChildFrameImageAtom (WBChildFrame *pChildFrame, Atom aImage) |
Assign the image atom for the child frame. the image appears in the tab associated with the child frame. More... | |
void | FWSetChildFrameExtent (WBChildFrame *pChildFrame, int iXExtent, int iYExtent) |
Set the X,Y extent for the child frame (notifies everything) More... | |
void | FWSetChildFrameScrollInfo (WBChildFrame *pChildFrame, int iRow, int iMaxRow, int iCol, int iMaxCol, int iRowHeight, int iColWidth) |
Set the X,Y extent for the child frame (notifies everything) More... | |
void | FWChildFrameRecalcLayout (WBChildFrame *pChildFrame) |
Child frame notification callback (called by frame window) More... | |
void | FWChildFrameStatusChanged (WBChildFrame *pChildFrame) |
Notify Child Frame to update status text in Frame Window. More... | |
int | FWChildFrameQueryClose (WBChildFrame *pChildFrame) |
Returns if it's safe to close the child frame; prompts user as needed. More... | |
int | FWChildFrameEvent (Window wID, XEvent *pEvent) |
Default event handler for Child Frame window. More... | |
static __inline__ WBChildFrame * | FWGetChildFrameStruct (Window wID) |
Obtain the associated WBChildFrame structure pointer for a Window ID. More... | |
#define | FW_FILE_NEW_MENU "IDM_FILE_NEW" |
#define | FW_FILE_CLOSE_MENU "IDM_FILE_CLOSE" |
#define | FW_FILE_OPEN_MENU "IDM_FILE_OPEN" |
#define | FW_FILE_SAVE_MENU "IDM_FILE_SAVE" |
#define | FW_FILE_SAVE_AS_MENU "IDM_FILE_SAVE_AS" |
#define | FW_FILE_SAVE_ALL_MENU "IDM_FILE_SAVE_ALL" |
#define | FW_EDIT_CUT_MENU "IDM_EDIT_CUT" |
#define | FW_EDIT_COPY_MENU "IDM_EDIT_COPY" |
#define | FW_EDIT_PASTE_MENU "IDM_EDIT_PASTE" |
#define | FW_EDIT_DELETE_MENU "IDM_EDIT_DELETE" |
#define | FW_EDIT_SELECT_ALL_MENU "IDM_EDIT_SELECT_ALL" |
#define | FW_EDIT_SELECT_NONE_MENU "IDM_EDIT_SELECT_NONE" |
#define | FW_EDIT_UNDO_MENU "IDM_EDIT_UNDO" |
#define | FW_EDIT_REDO_MENU "IDM_EDIT_REDO" |
#define | FW_EDIT_PROPERTIES_MENU "IDM_EDIT_PROPERTIES" |
#define | FW_FILE_NEW_ACCEL "Ctrl+N" |
#define | FW_FILE_CLOSE_ACCEL "Ctrl+F4" |
#define | FW_FILE_OPEN_ACCEL "Ctrl+O" |
#define | FW_FILE_SAVE_ACCEL "Ctrl+S" |
#define | FW_FILE_SAVE_AS_ACCEL "Ctrl+Shift+S" |
#define | FW_FILE_SAVE_ALL_ACCEL "Ctrl+Shift+L" |
#define | FW_EDIT_CUT_ACCEL "Ctrl+X" |
#define | FW_EDIT_COPY_ACCEL "Ctrl+C" |
#define | FW_EDIT_PASTE_ACCEL "Ctrl+V" |
#define | FW_EDIT_SELECT_ALL_ACCEL "Ctrl+A" |
#define | FW_EDIT_SELECT_NONE_ACCEL "Ctrl+Shift+A" |
#define | FW_EDIT_UNDO_ACCEL "Ctrl+Z" |
#define | FW_EDIT_REDO_ACCEL "Ctrl+Shift+Z" |
#define | FW_EDIT_PROPERTIES_ACCEL "Alt+Enter" |
The 'Child Frame' API for the X11workbench Toolkit identifies those functions that implement 'Child Frame' windows. A Child Frame window is a child window that is registered with the containing frame window and typically displays a tab on the frame window for easy access. It also has its own menu and menu handlers. Typically another window type will 'derive' from this.
#define FW_EDIT_COPY_ACCEL "Ctrl+C" |
standard menu accelerator key for 'Edit Copy' functionality
Definition at line 130 of file child_frame.h.
#define FW_EDIT_COPY_MENU "IDM_EDIT_COPY" |
standard menu item identifier for 'Edit Copy' functionality
Definition at line 113 of file child_frame.h.
#define FW_EDIT_CUT_ACCEL "Ctrl+X" |
standard menu accelerator key for 'Edit Cut' functionality
Definition at line 129 of file child_frame.h.
#define FW_EDIT_CUT_MENU "IDM_EDIT_CUT" |
standard menu item identifier for 'Edit Cut' functionality
Definition at line 112 of file child_frame.h.
#define FW_EDIT_DELETE_MENU "IDM_EDIT_DELETE" |
standard menu item identifier for 'Edit Delete' functionality
Definition at line 115 of file child_frame.h.
#define FW_EDIT_PASTE_ACCEL "Ctrl+V" |
standard menu accelerator key for 'Edit Paste' functionality
Definition at line 131 of file child_frame.h.
#define FW_EDIT_PASTE_MENU "IDM_EDIT_PASTE" |
standard menu item identifier for 'Edit Paste' functionality
Definition at line 114 of file child_frame.h.
#define FW_EDIT_PROPERTIES_ACCEL "Alt+Enter" |
standard menu accelerator key for 'Edit Properties' functionality
Definition at line 136 of file child_frame.h.
#define FW_EDIT_PROPERTIES_MENU "IDM_EDIT_PROPERTIES" |
standard menu item identifier for 'Edit Properties' functionality
Definition at line 120 of file child_frame.h.
#define FW_EDIT_REDO_ACCEL "Ctrl+Shift+Z" |
standard menu accelerator key for 'Edit Redo' functionality
Definition at line 135 of file child_frame.h.
#define FW_EDIT_REDO_MENU "IDM_EDIT_REDO" |
standard menu item identifier for 'Edit Redo' functionality
Definition at line 119 of file child_frame.h.
#define FW_EDIT_SELECT_ALL_ACCEL "Ctrl+A" |
standard menu accelerator key for 'Edit Select All' functionality
Definition at line 132 of file child_frame.h.
#define FW_EDIT_SELECT_ALL_MENU "IDM_EDIT_SELECT_ALL" |
standard menu item identifier for 'Edit Select All' functionality
Definition at line 116 of file child_frame.h.
#define FW_EDIT_SELECT_NONE_ACCEL "Ctrl+Shift+A" |
standard menu accelerator key for 'Edit Select None' functionality
Definition at line 133 of file child_frame.h.
#define FW_EDIT_SELECT_NONE_MENU "IDM_EDIT_SELECT_NONE" |
standard menu item identifier for 'Edit Select None' functionality
Definition at line 117 of file child_frame.h.
#define FW_EDIT_UNDO_ACCEL "Ctrl+Z" |
standard menu accelerator key for 'Edit Undo' functionality
Definition at line 134 of file child_frame.h.
#define FW_EDIT_UNDO_MENU "IDM_EDIT_UNDO" |
standard menu item identifier for 'Edit Undo' functionality
Definition at line 118 of file child_frame.h.
#define FW_FILE_CLOSE_ACCEL "Ctrl+F4" |
standard menu accelerator key for 'File Close' functionality
Definition at line 123 of file child_frame.h.
#define FW_FILE_CLOSE_MENU "IDM_FILE_CLOSE" |
standard menu item identifier for 'File Close' functionality
Definition at line 106 of file child_frame.h.
#define FW_FILE_NEW_ACCEL "Ctrl+N" |
standard menu accelerator key for 'File New' functionality
Definition at line 122 of file child_frame.h.
#define FW_FILE_NEW_MENU "IDM_FILE_NEW" |
standard menu item identifier for 'File New' functionality
Definition at line 105 of file child_frame.h.
#define FW_FILE_OPEN_ACCEL "Ctrl+O" |
standard menu accelerator key for 'File Open' functionality
Definition at line 124 of file child_frame.h.
#define FW_FILE_OPEN_MENU "IDM_FILE_OPEN" |
standard menu item identifier for 'File Open' functionality
Definition at line 107 of file child_frame.h.
#define FW_FILE_SAVE_ACCEL "Ctrl+S" |
standard menu accelerator key for 'File Save' functionality
Definition at line 125 of file child_frame.h.
#define FW_FILE_SAVE_ALL_ACCEL "Ctrl+Shift+L" |
standard menu accelerator key for 'File Save All' functionality
Definition at line 127 of file child_frame.h.
#define FW_FILE_SAVE_ALL_MENU "IDM_FILE_SAVE_ALL" |
standard menu item identifier for 'File Save All' functionality
Definition at line 110 of file child_frame.h.
#define FW_FILE_SAVE_AS_ACCEL "Ctrl+Shift+S" |
standard menu accelerator key for 'File Save As' functionality
Definition at line 126 of file child_frame.h.
#define FW_FILE_SAVE_AS_MENU "IDM_FILE_SAVE_AS" |
standard menu item identifier for 'File Save As' functionality
Definition at line 109 of file child_frame.h.
#define FW_FILE_SAVE_MENU "IDM_FILE_SAVE" |
standard menu item identifier for 'File Save' functionality
Definition at line 108 of file child_frame.h.
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:
Structure that defines a Child Frame's UI, mainly for a 'superclass'.
The base user interface for a child frame does very little except interact with tabs and the Frame Window. To make it really do something, you need some kind of interface. This function table defines the UI interface for a Child Frame that will allow it to perform basic editing and navigation functions. If you need additional capabilities, you can hook the messages with the assigned callback function. Otherwise, most of the work will already be done for your custom child frame.
A window interface derived from 'WBChildFrame' needs a way for the 'abstract class' to invoke the UI functionality. To make this work, the 'superclass' (i.e. derived) window interface can populate a WBChildFrameUI structure with function pointers, as needed, to implement the necessary elements.
For those elements that are NOT implemented, you can use NULL for the function pointer. That way if the derived window interface does not need 'hover' support, you can leave the 'hover_notify' and 'hover_cancel' function pointers as NULL, but populate everything else.
For the 'iACS' parameters, use the 'iACS' information from the aWB_CHAR. This is the 'Alt/Ctrl/Shift' flag that indicates which of those buttons were being held down at the time of the character translation. For more information on THAT, see WB_CHAR.
The basic difference between 'do_char' and 'scancode' is that the 'character' events will be passed along to the 'do_char' callback, but 'scan code' events (NOT processed by one of the other callbacks) will be passed along via the 'scancode' callback. This will allow your custom UI handler to interpret additional 'special' keys as needed. The ones normally processed are: insert, delete, home, end, pgup, pgdown, and the 'F1' key.
NOTE: if a menu defines hotkey combinations, no 'WB_CHAR' event will be generated for any of those. Instead, the menu handler needs to interpret them correctly if the UI callback will need to be invoked. One example in the X11workbench.c handler (for the main edit window UI) is the handling of the 'Edit' sub-menu, which includes hotkey combinations such as 'CTRL+V' for 'paste'. When the 'paste' menu is invoked, the handler will need to grab the WBChildFrameUI structure for the currently active Child Window, and invoke its 'paste_from_cb' callback function directly. Similarly, if 'F1' is invoked, it will need to call the 'help' function directly, passing the correct 'iACS' parameter value.
enum WBChildFrame_FLAGS |
enumeration for 'fFlags' member of WBChildFrame
Definition at line 744 of file frame_window.h.
int FWChildFrameEvent | ( | Window | wID, |
XEvent * | pEvent | ||
) |
Default event handler for Child Frame window.
wID | A valid Window ID for a Child Frame window |
pEvent | A pointer to the XEvent structure |
Use this function to safely obtain the correct WBChildFrame structure for a given Window ID.
Header File: child_frame.h
Definition at line 947 of file child_frame.c.
int FWChildFrameQueryClose | ( | WBChildFrame * | pChildFrame | ) |
Returns if it's safe to close the child frame; prompts user as needed.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
Use this function to safely determine whether it's ok to close a WBChildFrame window. The user may be prompted.
Internally, this will send a QUERY_CLOSE Client Message Event to the handler function. the default is to return a zero value, which is 'ok to close'. Your own function needs to handle this to prompt to save unsaved data and allow the user to cancel (thus returning a '1'). The message is invoked via an 'internal' Send Event which will directly call the handler functions.
Header File: child_frame.h
Definition at line 913 of file child_frame.c.
void FWChildFrameRecalcLayout | ( | WBChildFrame * | pChildFrame | ) |
Child frame notification callback (called by frame window)
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
The frame window will call this function whenever the layout changes, including at the point the child frame is added to the frame window. Internally, it will call the user-defined event handler function with an event type of 'ClientMessage' and message type RESIZE_NOTIFY
The 'superclass' user-defined event handler MUST update scroll bar info when it receives this message, in order for scrolling to work correctly, and should NOT call FWChildFrameRecalcLayout() when processing the aRESIZE_NOTIFY message.
Header File: child_frame.h
Definition at line 845 of file child_frame.c.
void FWChildFrameStatusChanged | ( | WBChildFrame * | pChildFrame | ) |
Notify Child Frame to update status text in Frame Window.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
This function notifies the Child Frame that the status has changed, and it needs to update the status text in the associated Frame Window. The status text is NOT generated by the child frame object itself; rather, the derived 'superclass' window updates it internally. This function is simply a notification to update the frame window display. It may be called internally, or at any time whenever the status might have changed. This includes 'tab switch'.
Header File: child_frame.h
Definition at line 897 of file child_frame.c.
void FWDestroyChildFrame | ( | WBChildFrame * | pChildFrame | ) |
Destroy an Child Frame.
pChildFrame | A pointer to the WBChildFrame structure for the Child Frame |
Call this function to destroy the actual window and de-reference
Header File: child_frame.h
Definition at line 329 of file child_frame.c.
|
static |
Obtain the associated WBChildFrame structure pointer for a Window ID.
wID | A valid Window ID |
Use this function to safely obtain the correct WBChildFrame structure for a given Window ID.
Header File: child_frame.h
Definition at line 376 of file child_frame.h.
int FWInitChildFrame | ( | WBChildFrame * | pChildFrame, |
WBFrameWindow * | pOwner, | ||
WB_FONTC | pFont, | ||
const char * | szFocusMenu, | ||
const WBFWMenuHandler * | pHandlerArray, | ||
WBWinEvent | pUserCallback, | ||
int | fFlags | ||
) |
Initialize a child frame (assumed to be a base 'class' for the window)
pChildFrame | a pointer to the WBChildFrame associated with the window. Can not be NULL. |
pOwner | A pointer to the owning WBFrameWindow. Can not be NULL. |
pFont | The desired WB_FONTC font, or 'NULL' to use the default |
szFocusMenu | A const pointer to a text-based menu resource describing the menu that should appear when the Child Frame's tab has the focus. Can be NULL if none. |
pHandlerArray | A const pointer to an array of WBFWMenuHandler structures for the 'focus' menu handler. Can be NULL if none. |
pUserCallback | A pointer to the callback function that handles messages (Return 0 for default handling, != 0 if handled). Can be NULL. |
fFlags | A bitwise 'or' of the desired flags associated with this Child Frame. See 'WBChildFrame_FLAGS' |
This function creates the actual window for a 'derived' Child Frame window, and correctly initializes that portion of the internal data structure corresponding to a Child Frame. The 'WBChildFrame' should normally be the first member of the data structure representing the 'derived' Child Frame window, so you can do a direct type cast of the pointer, similar to the way abstraction and polymorphism works in C++.
A child frame is not created directly. Instead, create the 'derived' version's structure, and initialize the structure for the derived behavior, with the WBChildFrame structure as the first element. Then initialize the WBChildFrame structure with this function, which will create the child frame window ID and register it with the specified WBFrameWindow.
Failure to call this function will prevent the 'Child Frame' functionality from working correctly, and will not register the relationship between the Window ID and the WBChildFrame structure.
NOTE: To create a stand-alone 'derived' Child Frame, first create a minimal frame window, with disabled 'tabs'. Then, create the Child Frame 'derived' window using WBInitChildFrame(). Only one will be allowed.
NOTE 2: If WBInitChildFrame() returns a non-zero value, do NOT call WBDestroyChildFrame() on that WBChildFrame .
Header File: child_frame.h
Definition at line 118 of file child_frame.c.
void FWSetChildFrameContextMenuID | ( | WBChildFrame * | pChildFrame, |
int | nID | ||
) |
Function to assign the context menu ID (from the menu resource) to a Child Frame.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
nID | The popup menu ID from the active menu's resource; can be the owner frame's menu OR a menu assigned by FWSetChildFrameMenu(). The default is -1, which does not display a context menu |
Assigns the (new) context menu ID for the Child Frame. A value of '-1' (the default) does not display any context menu with SHIFT+F10 or right-mouse-click. Otherwise, the active menu resource is searched for a popup menu with the appropriate ID value, and the popup menu is displayed as if it were activated using an appropriate menu hotkey.
Header File: child_frame.h
Definition at line 503 of file child_frame.c.
void FWSetChildFrameDisplayName | ( | WBChildFrame * | pChildFrame, |
const char * | szDisplayName | ||
) |
Assign the display name.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
szDisplayName | A pointer to a character array containing the new display name text, to appear in the tab and/or title bar |
Assigns the display name for the Child Frame, to appear in the tab and (optionally) in the frame window's title bar whenever the Child Frame has the focus.
Header File: child_frame.h
Definition at line 571 of file child_frame.c.
void FWSetChildFrameExtent | ( | WBChildFrame * | pChildFrame, |
int | iXExtent, | ||
int | iYExtent | ||
) |
Set the X,Y extent for the child frame (notifies everything)
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
iXExtent | the 'X' extent of the display surface |
iYExtent | the 'Y' extent of the display surface |
Use this function to assign the X and Y extents for the display surface on a Child Frame window. Calling this function will set up the scrolling behavior as well as notifying 'everything' of the changes, such as re-painting the window or re-sizing something.
A 'superclass' callback function handling aRESIZE_NOTIFY should not call this function. Instead, it should call FWSetChildFrameScrollInfo() instead, which will not cause recursion.
Header File: child_frame.h
Definition at line 645 of file child_frame.c.
void FWSetChildFrameImageAtom | ( | WBChildFrame * | pChildFrame, |
Atom | aImage | ||
) |
Assign the image atom for the child frame. the image appears in the tab associated with the child frame.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
aImage | An atom that identifies the registered image. The default is no image. For more information, see PXM_RegisterPixmapResource(). |
Assigns the Atom for the image to be displayed in the tab. The default is no image. The image will appear on the far left edge of the tab, before the tab text. Typically it will be an icon-like image that represents the contents of the document being viewed/edited in that particular tab.
the image should be approximately 16 pixels high, and approximately 12 pixels wide, in order to to properly fit.
Header File: child_frame.h
Definition at line 593 of file child_frame.c.
void FWSetChildFrameMenu | ( | WBChildFrame * | pChildFrame, |
const char * | szFocusMenu | ||
) |
Function to assign the menu resource to a Child Frame.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
szFocusMenu | A const pointer to a text-based menu resource describing the menu that should appear when the Child Frame's tab has the focus |
Assigns the (new) menu for the Child Frame. The text will be copied, and the copy will be used internally, and free'd as necessary. Only valid when the owner is a Frame Window.
Header File: child_frame.h
Definition at line 478 of file child_frame.c.
void FWSetChildFrameMenuHandlers | ( | WBChildFrame * | pChildFrame, |
const WBFWMenuHandler * | pHandlerArray | ||
) |
Function to assign menu handlers to a Child Frame.
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
pHandlerArray | A pointer to an array of WBFWMenuHandler structures - |
Assigns the (new) menu handlers for the Child Frame. The array will be copied, and the copy will be used internally, and free'd as necessary.
Header File: child_frame.h
Definition at line 515 of file child_frame.c.
void FWSetChildFrameScrollInfo | ( | WBChildFrame * | pChildFrame, |
int | iRow, | ||
int | iMaxRow, | ||
int | iCol, | ||
int | iMaxCol, | ||
int | iRowHeight, | ||
int | iColWidth | ||
) |
Set the X,Y extent for the child frame (notifies everything)
pChildFrame | The pointer to the WBChildFrame structure for the desired Child Frame window |
iRow | The current row (0-based) for the cursor |
iMaxRow | The total number of rows in the current object being displayed or edited |
iCol | The current column (0-based) for the cursor |
iMaxCol | The maximum number of columns in the current object being displayed or edited |
iRowHeight | The height of a single row (in pixels). For text, this would be the font height plus row spacing. |
iColWidth | The width of a single column (in pixels). For text, this would be the average character width. |
Use this function to assign the current scroll information and update the 'extent' information (similar to 'FWSetChildFrameExtent()'). It is safe to call this from within the 'superclass' callback function that is handling an aRESIZE_NOTIFY Client Message event.
Header File: child_frame.h
Definition at line 804 of file child_frame.c.