X11workbench Toolkit  1.0
frame_window.h File Reference

Frame Window API functions and definitions. More...

#include <inttypes.h>
#include "window_dressing.h"
#include "menu_bar.h"

Go to the source code of this file.

Data Structures

struct  tagWB_FW_MENU_HANDLER
 structure for managing menu callbacks More...
 
struct  tagWB_FRAME_WINDOW
 main controlling structure for frame windows More...
 
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 FRAME_WINDOW_TAG   (*((const unsigned int *)"FWFW"))
 TAG for the WBFrameWindow structure.
 
#define FW_MENU_HANDLER_BEGIN(X)   static const WBFWMenuHandler X[] = {
 Use this macro to begin definition of a WBFWMenuHandler array. More...
 
#define FW_MENU_HANDLER_ENTRY(X, Y, Z)   { (unsigned long)X, Y, Z },
 Use this macro to define an entry for a WBFWMenuHandler array. More...
 
#define FW_MENU_HANDLER_END   {0, 0, 0} };
 Use this macro to complete the definition of a WBFWMenuHandler array.
 
#define FWGetFocusWindow(pFW)   (FWGetNumContWindows(pFW) > 0 ? FWGetContainedWindowByIndex(pFW, -1) : NULL)
 A macro to aid code readability, returning the Window ID of the contained window that has the focus. More...
 
#define MOVE_CHILD_FRAME_TAB_INDEX_BEGINNING   0
 pass as 'iIndex' for FWMoveChildFrameTabIndex() to move the tab index to the beginning
 
#define MOVE_CHILD_FRAME_TAB_INDEX_RIGHT   -2
 pass as 'iIndex' for FWMoveChildFrameTabIndex() to move the tab index right
 
#define MOVE_CHILD_FRAME_TAB_INDEX_LEFT   -1
 pass as 'iIndex' for FWMoveChildFrameTabIndex() to move the tab index left
 

Typedefs

typedef struct tagWB_FW_MENU_HANDLER WBFWMenuHandler
 structure for managing menu callbacks More...
 
typedef struct tagWB_FRAME_WINDOW WBFrameWindow
 
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  WBFrameWindow_FLAGS {
  WBFrameWindow_APP_WINDOW = 1,
  WBFrameWindow_VISIBLE = 2,
  WBFrameWindow_NO_TABS = 4,
  WBFrameWindow_STATUS_BAR = 8,
  WBFrameWindow_MAX = 0x80000000L
}
 Frame Window type and status flags. More...
 
enum  WBStatusTabInfo_FLAGS {
  WBStatusTabInfo_MASK = 0x0fffffff,
  WBStatusTabInfo_BREAK = 0x10000000,
  WBStatusTabInfo_JUSTIFY_MASK = 0x6fffffff,
  WBStatusTabInfo_JUSTIFY_LEFT = 0x00000000,
  WBStatusTabInfo_JUSTIFY_CENTER = 0x20000000,
  WBStatusTabInfo_JUSTIFY_RIGHT = 0x40000000,
  WBStatusTabInfo_JUSTIFY_res6 = 0x60000000,
  WBStatusTabInfo_RTL_COLUMN = 0x80000000
}
 enumeration for bit flags that are 'or'd with the tab stop index More...
 
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

WBFrameWindowFWCreateFrameWindow (const char *szTitle, int idIcon, const char *szMenuResource, int iX, int iY, int iWidth, int iHeight, WBWinEvent pUserCallback, int iFlags)
 Create a frame window. More...
 
void FWRecalcLayout (Window wID)
 Force a frame window to recalculate its layout, which may involve resizing multiple contained windows. More...
 
void FWSetUserCallback (WBFrameWindow *pFW, WBWinEvent pCallBack)
 assign a new WBWinEvent callback function for a frame window More...
 
static __inline__ WBFrameWindowFWGetFrameWindowStruct (Window wID)
 Obtain the associated WBFrameWindow structure pointer for a frame window's Window ID. More...
 
void FWDestroyFrameWindow (Window wID)
 Function to destroy a frame window based on the Window id. More...
 
void FWDestroyFrameWindow2 (WBFrameWindow *pFrameWindow)
 Function to destroy a frame window based on the WBFrameWindow structure. More...
 
void FWSetMenuHandlers (WBFrameWindow *pFrameWindow, const WBFWMenuHandler *pHandlerArray)
 Function to assign the default menu handler to a frame window. More...
 
int FWGetNumContWindows (const WBFrameWindow *pFrameWindow)
 Returns the total number of 'contained' windows. More...
 
WBChildFrameFWGetContainedWindowByIndex (const WBFrameWindow *pFrameWindow, int iIndex)
 Returns the Window ID for the specified 'contained' window. The index follows the tab order. More...
 
int FWAddContainedWindow (WBFrameWindow *pFrameWindow, WBChildFrame *pNew)
 Adds a 'contained' window and returns the tab order index. More...
 
void FWRemoveContainedWindow (WBFrameWindow *pFrameWindow, WBChildFrame *pCont)
 Removes a 'contained' window from a frame window. Does not destroy the 'contained' window. More...
 
void FWReplaceContainedWindow (WBFrameWindow *pFrameWindow, WBChildFrame *pCont, WBChildFrame *pContNew)
 Replace a 'contained' window from a frame window. More...
 
void FWSetFocusWindow (WBFrameWindow *pFrameWindow, WBChildFrame *pCont)
 Sets the focus to a specific contained window using the Window ID. More...
 
void FWSetFocusWindowIndex (WBFrameWindow *pFrameWindow, int iIndex)
 Sets the focus to a specific contained window using its tab order index. More...
 
int FWGetChildFrameIndex (WBFrameWindow *pFrameWindow, WBChildFrame *pCont)
 Sets the focus to a specific contained window using its tab order index. More...
 
void FWMoveChildFrameTabIndex (WBFrameWindow *pFrameWindow, WBChildFrame *pCont, int iIndex)
 Sets the specific contained window to a particular index in the tab order. More...
 
void FWSetStatusText (WBFrameWindow *pFrameWindow, const char *szText)
 Sets the 'status' text for a Frame Window with a status bar, forcing a re-paint. More...
 
void FWSetStatusTabInfo (WBFrameWindow *pFrameWindow, int nTabs, const int *pTabs)
 Sets the 'status' tab info for a Frame Window with a status bar. More...
 
XColor FWGetDefaultFG (void)
 Get the default foreground color. More...
 
XColor FWGetDefaultBG (void)
 Get the default background color. More...
 
XColor FWGetDefaultBD (void)
 Get the default border color. More...
 
WB_FONTC FWGetFont (WBFrameWindow *pFW)
 Get the frame window WB_FONTC. More...
 
WB_FONTC FWGetBoldFont (WBFrameWindow *pFW)
 Get the frame window bold WB_FONTC. More...
 

Variables

const Atom aTAB_MESSAGE
 command sent by Client Message related to 'tab' operations
 

Detailed Description

Frame Window API functions and definitions.

Frame Windows are top-level windows that have a border, title bar, and (optionally) a menu or other means of user interaction (like toolbars). This file contains the API functions generally needed to create, modify, and destroy Frame Windows.

Definition in file frame_window.h.