FX::FXMDIClient Class Reference

#include <FXMDIClient.h>

Inheritance diagram for FX::FXMDIClient:

FX::FXComposite FX::FXWindow FX::FXDrawable FX::FXId FX::FXObject List of all members.

Detailed Description

The MDI client window manages a number of MDI child windows in a multiple-document interface (MDI) application. MDI child windows usually receive messages from the GUI controls by delegation via the MDI client. This is accomplished by making the MDI client window the target for most GUI controls. The MDI client filters out messages intented for itself, and delegates the remaining messages to its currently active MDI child, if any. If you use the auto-gray or auto-hide feature available in some GUI controls, these controls can be automatically grayed out or hidden when there is no active MDI child. When delegating messages via MDI client to MDI child windows of different types, care should be taken that message ID's do not overlap, so that all message ID's only map to the intented handlers no matter which MDI child window type is active. The MDI client sends a SEL_CHANGED message to its target when the active MDI child is switched, with the void* pointer refering to the new MDI child. A MDI Window selection dialog can be brought up through the ID_MDI_OVER_X messages; a menu button connected to the MDI client with the ID_MDI_OVER_X message will be automatically grayed out if there are less than X MDI child windows.

Definition at line 56 of file FXMDIClient.h.

Public Types

 ID_MDI_ANY
 ID_MDI_1
 ID_MDI_2
 ID_MDI_3
 ID_MDI_4
 ID_MDI_5
 ID_MDI_6
 ID_MDI_7
 ID_MDI_8
 ID_MDI_9
 ID_MDI_10
 ID_MDI_OVER_1
 ID_MDI_OVER_2
 ID_MDI_OVER_3
 ID_MDI_OVER_4
 ID_MDI_OVER_5
 ID_MDI_OVER_6
 ID_MDI_OVER_7
 ID_MDI_OVER_8
 ID_MDI_OVER_9
 ID_MDI_OVER_10
 ID_LAST
enum  {
  ID_MDI_ANY, ID_MDI_1, ID_MDI_2, ID_MDI_3,
  ID_MDI_4, ID_MDI_5, ID_MDI_6, ID_MDI_7,
  ID_MDI_8, ID_MDI_9, ID_MDI_10, ID_MDI_OVER_1,
  ID_MDI_OVER_2, ID_MDI_OVER_3, ID_MDI_OVER_4, ID_MDI_OVER_5,
  ID_MDI_OVER_6, ID_MDI_OVER_7, ID_MDI_OVER_8, ID_MDI_OVER_9,
  ID_MDI_OVER_10, ID_LAST
}
 ID_NONE
 ID_HIDE
 ID_SHOW
 ID_TOGGLESHOWN
 ID_LOWER
 ID_RAISE
 ID_DELETE
 ID_DISABLE
 ID_ENABLE
 ID_TOGGLEENABLED
 ID_UNCHECK
 ID_CHECK
 ID_UNKNOWN
 ID_UPDATE
 ID_AUTOSCROLL
 ID_TIPTIMER
 ID_HSCROLLED
 ID_VSCROLLED
 ID_SETVALUE
 ID_SETINTVALUE
 ID_SETREALVALUE
 ID_SETSTRINGVALUE
 ID_SETICONVALUE
 ID_SETINTRANGE
 ID_SETREALRANGE
 ID_GETINTVALUE
 ID_GETREALVALUE
 ID_GETSTRINGVALUE
 ID_GETICONVALUE
 ID_GETINTRANGE
 ID_GETREALRANGE
 ID_SETHELPSTRING
 ID_GETHELPSTRING
 ID_SETTIPSTRING
 ID_GETTIPSTRING
 ID_QUERY_MENU
 ID_HOTKEY
 ID_ACCEL
 ID_UNPOST
 ID_POST
 ID_MDI_TILEHORIZONTAL
 ID_MDI_TILEVERTICAL
 ID_MDI_CASCADE
 ID_MDI_MAXIMIZE
 ID_MDI_MINIMIZE
 ID_MDI_RESTORE
 ID_MDI_CLOSE
 ID_MDI_WINDOW
 ID_MDI_MENUWINDOW
 ID_MDI_MENUMINIMIZE
 ID_MDI_MENURESTORE
 ID_MDI_MENUCLOSE
 ID_MDI_NEXT
 ID_MDI_PREV
enum  {
  ID_NONE, ID_HIDE, ID_SHOW, ID_TOGGLESHOWN,
  ID_LOWER, ID_RAISE, ID_DELETE, ID_DISABLE,
  ID_ENABLE, ID_TOGGLEENABLED, ID_UNCHECK, ID_CHECK,
  ID_UNKNOWN, ID_UPDATE, ID_AUTOSCROLL, ID_TIPTIMER,
  ID_HSCROLLED, ID_VSCROLLED, ID_SETVALUE, ID_SETINTVALUE,
  ID_SETREALVALUE, ID_SETSTRINGVALUE, ID_SETICONVALUE, ID_SETINTRANGE,
  ID_SETREALRANGE, ID_GETINTVALUE, ID_GETREALVALUE, ID_GETSTRINGVALUE,
  ID_GETICONVALUE, ID_GETINTRANGE, ID_GETREALRANGE, ID_SETHELPSTRING,
  ID_GETHELPSTRING, ID_SETTIPSTRING, ID_GETTIPSTRING, ID_QUERY_MENU,
  ID_HOTKEY, ID_ACCEL, ID_UNPOST, ID_POST,
  ID_MDI_TILEHORIZONTAL, ID_MDI_TILEVERTICAL, ID_MDI_CASCADE, ID_MDI_MAXIMIZE,
  ID_MDI_MINIMIZE, ID_MDI_RESTORE, ID_MDI_CLOSE, ID_MDI_WINDOW,
  ID_MDI_MENUWINDOW, ID_MDI_MENUMINIMIZE, ID_MDI_MENURESTORE, ID_MDI_MENUCLOSE,
  ID_MDI_NEXT, ID_MDI_PREV, ID_LAST
}

Public Member Functions

long onCmdActivateNext (FXObject *, FXSelector, void *)
long onCmdActivatePrev (FXObject *, FXSelector, void *)
long onCmdTileHorizontal (FXObject *, FXSelector, void *)
long onCmdTileVertical (FXObject *, FXSelector, void *)
long onCmdCascade (FXObject *, FXSelector, void *)
long onUpdActivateNext (FXObject *, FXSelector, void *)
long onUpdActivatePrev (FXObject *, FXSelector, void *)
long onUpdTileVertical (FXObject *, FXSelector, void *)
long onUpdTileHorizontal (FXObject *, FXSelector, void *)
long onUpdCascade (FXObject *, FXSelector, void *)
long onUpdClose (FXObject *, FXSelector, void *)
long onUpdMenuClose (FXObject *, FXSelector, void *)
long onUpdRestore (FXObject *, FXSelector, void *)
long onUpdMenuRestore (FXObject *, FXSelector, void *)
long onUpdMinimize (FXObject *, FXSelector, void *)
long onUpdMenuMinimize (FXObject *, FXSelector, void *)
long onUpdMaximize (FXObject *, FXSelector, void *)
long onUpdMenuWindow (FXObject *, FXSelector, void *)
long onCmdWindowSelect (FXObject *, FXSelector, void *)
long onUpdWindowSelect (FXObject *, FXSelector, void *)
long onCmdOthersWindows (FXObject *, FXSelector, void *)
long onUpdOthersWindows (FXObject *, FXSelector, void *)
long onUpdAnyWindows (FXObject *, FXSelector, void *)
virtual long onDefault (FXObject *, FXSelector, void *)
 FXMDIClient (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
virtual FXint getDefaultWidth ()
virtual FXint getDefaultHeight ()
virtual void layout ()
long forallWindows (FXObject *sender, FXSelector sel, void *ptr)
long forallDocuments (FXObject *sender, FXSelector sel, void *ptr)
long forallDocWindows (FXObject *document, FXObject *sender, FXSelector sel, void *ptr)
virtual FXbool setActiveChild (FXMDIChild *child=NULL, FXbool notify=TRUE)
FXMDIChildgetActiveChild () const
virtual void cascade (FXbool notify=FALSE)
virtual void horizontal (FXbool notify=FALSE)
virtual void vertical (FXbool notify=FALSE)
void setCascadeX (FXint off)
void setCascadeY (FXint off)
FXint getCascadeX () const
FXint getCascadeY () const
virtual void save (FXStream &store) const
virtual void load (FXStream &store)
virtual ~FXMDIClient ()
long onKeyPress (FXObject *, FXSelector, void *)
long onKeyRelease (FXObject *, FXSelector, void *)
long onFocusNext (FXObject *, FXSelector, void *)
long onFocusPrev (FXObject *, FXSelector, void *)
long onCmdUpdate (FXObject *, FXSelector, void *)
virtual void create ()
virtual void detach ()
virtual void destroy ()
FXint maxChildWidth () const
FXint maxChildHeight () const
virtual bool isComposite () const
long onPaint (FXObject *, FXSelector, void *)
long onMap (FXObject *, FXSelector, void *)
long onUnmap (FXObject *, FXSelector, void *)
long onConfigure (FXObject *, FXSelector, void *)
long onUpdate (FXObject *, FXSelector, void *)
long onMotion (FXObject *, FXSelector, void *)
long onMouseWheel (FXObject *, FXSelector, void *)
long onEnter (FXObject *, FXSelector, void *)
long onLeave (FXObject *, FXSelector, void *)
long onLeftBtnPress (FXObject *, FXSelector, void *)
long onLeftBtnRelease (FXObject *, FXSelector, void *)
long onMiddleBtnPress (FXObject *, FXSelector, void *)
long onMiddleBtnRelease (FXObject *, FXSelector, void *)
long onRightBtnPress (FXObject *, FXSelector, void *)
long onRightBtnRelease (FXObject *, FXSelector, void *)
long onBeginDrag (FXObject *, FXSelector, void *)
long onEndDrag (FXObject *, FXSelector, void *)
long onDragged (FXObject *, FXSelector, void *)
long onUngrabbed (FXObject *, FXSelector, void *)
long onDestroy (FXObject *, FXSelector, void *)
long onFocusSelf (FXObject *, FXSelector, void *)
long onFocusIn (FXObject *, FXSelector, void *)
long onFocusOut (FXObject *, FXSelector, void *)
long onSelectionLost (FXObject *, FXSelector, void *)
long onSelectionGained (FXObject *, FXSelector, void *)
long onSelectionRequest (FXObject *, FXSelector, void *)
long onClipboardLost (FXObject *, FXSelector, void *)
long onClipboardGained (FXObject *, FXSelector, void *)
long onClipboardRequest (FXObject *, FXSelector, void *)
long onDNDEnter (FXObject *, FXSelector, void *)
long onDNDLeave (FXObject *, FXSelector, void *)
long onDNDMotion (FXObject *, FXSelector, void *)
long onDNDDrop (FXObject *, FXSelector, void *)
long onDNDRequest (FXObject *, FXSelector, void *)
long onQueryHelp (FXObject *, FXSelector, void *)
long onQueryTip (FXObject *, FXSelector, void *)
long onCmdShow (FXObject *, FXSelector, void *)
long onCmdHide (FXObject *, FXSelector, void *)
long onUpdToggleShown (FXObject *, FXSelector, void *)
long onCmdToggleShown (FXObject *, FXSelector, void *)
long onCmdRaise (FXObject *, FXSelector, void *)
long onCmdLower (FXObject *, FXSelector, void *)
long onCmdEnable (FXObject *, FXSelector, void *)
long onCmdDisable (FXObject *, FXSelector, void *)
long onUpdToggleEnabled (FXObject *, FXSelector, void *)
long onCmdToggleEnabled (FXObject *, FXSelector, void *)
long onUpdYes (FXObject *, FXSelector, void *)
long onCmdDelete (FXObject *, FXSelector, void *)
FXWindowgetParent () const
FXWindowgetOwner () const
FXWindowgetShell () const
FXWindowgetRoot () const
FXWindowgetNext () const
FXWindowgetPrev () const
FXWindowgetFirst () const
FXWindowgetLast () const
FXWindowgetFocus () const
void setKey (FXuint k)
FXuint getKey () const
void setTarget (FXObject *t)
FXObjectgetTarget () const
void setSelector (FXSelector sel)
FXSelector getSelector () const
FXint getX () const
FXint getY () const
virtual FXint getWidthForHeight (FXint givenheight)
virtual FXint getHeightForWidth (FXint givenwidth)
void setX (FXint x)
void setY (FXint y)
void setWidth (FXint w)
void setHeight (FXint h)
void setLayoutHints (FXuint lout)
FXuint getLayoutHints () const
FXAccelTablegetAccelTable () const
void setAccelTable (FXAccelTable *acceltable)
void addHotKey (FXHotKey code)
void remHotKey (FXHotKey code)
void setHelpTag (const FXString &text)
const FXStringgetHelpTag () const
bool isShell () const
bool isPopup () const
bool isOwnerOf (const FXWindow *window) const
bool isChildOf (const FXWindow *window) const
bool containsChild (const FXWindow *child) const
FXWindowgetChildAt (FXint x, FXint y) const
FXint numChildren () const
FXint indexOfChild (const FXWindow *window) const
FXWindowchildAtIndex (FXint index) const
FXComposeContextgetComposeContext () const
void createComposeContext ()
void destroyComposeContext ()
void setDefaultCursor (FXCursor *cur)
FXCursorgetDefaultCursor () const
void setSavedCursor (FXCursor *cur)
FXCursorgetSavedCursor () const
void setDragCursor (FXCursor *cur)
FXCursorgetDragCursor () const
FXint getCursorPosition (FXint &x, FXint &y, FXuint &buttons) const
FXint setCursorPosition (FXint x, FXint y)
bool isEnabled () const
bool isActive () const
virtual bool canFocus () const
bool hasFocus () const
bool inFocusChain () const
virtual void setFocus ()
virtual void killFocus ()
virtual void changeFocus (FXWindow *child)
virtual void setDefault (FXbool enable=TRUE)
bool isDefault () const
void setInitial (bool enable=true)
bool isInitial () const
virtual void enable ()
virtual void disable ()
virtual void attach (FXID w)
virtual void setShape (const FXRegion &region)
virtual void setShape (FXBitmap *bitmap)
virtual void setShape (FXIcon *icon)
virtual void clearShape ()
virtual void raise ()
virtual void lower ()
virtual void move (FXint x, FXint y)
virtual void resize (FXint w, FXint h)
virtual void position (FXint x, FXint y, FXint w, FXint h)
virtual void recalc ()
void forceRefresh ()
virtual void reparent (FXWindow *father, FXWindow *other=NULL)
void scroll (FXint x, FXint y, FXint w, FXint h, FXint dx, FXint dy) const
void update (FXint x, FXint y, FXint w, FXint h) const
void update () const
void repaint (FXint x, FXint y, FXint w, FXint h) const
void repaint () const
void grab ()
void ungrab ()
bool grabbed () const
void grabKeyboard ()
void ungrabKeyboard ()
bool grabbedKeyboard () const
virtual void show ()
virtual void hide ()
bool shown () const
bool underCursor () const
bool hasSelection () const
bool acquireSelection (const FXDragType *types, FXuint numtypes)
bool releaseSelection ()
bool hasClipboard () const
bool acquireClipboard (const FXDragType *types, FXuint numtypes)
bool releaseClipboard ()
virtual void dropEnable ()
virtual void dropDisable ()
bool isDropEnabled () const
bool isDragging () const
bool beginDrag (const FXDragType *types, FXuint numtypes)
bool handleDrag (FXint x, FXint y, FXDragAction action=DRAG_COPY)
FXDragAction endDrag (bool drop=true)
bool isDropTarget () const
void setDragRectangle (FXint x, FXint y, FXint w, FXint h, bool wantupdates=true) const
void clearDragRectangle () const
void acceptDrop (FXDragAction action=DRAG_ACCEPT) const
FXDragAction didAccept () const
void dropFinished (FXDragAction action=DRAG_REJECT) const
bool inquireDNDTypes (FXDNDOrigin origin, FXDragType *&types, FXuint &numtypes) const
bool offeredDNDType (FXDNDOrigin origin, FXDragType type) const
FXDragAction inquireDNDAction () const
bool setDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *data, FXuint size) const
bool setDNDData (FXDNDOrigin origin, FXDragType type, const FXString &string) const
bool getDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *&data, FXuint &size) const
bool getDNDData (FXDNDOrigin origin, FXDragType type, FXString &string) const
virtual bool contains (FXint parentx, FXint parenty) const
void translateCoordinatesFrom (FXint &tox, FXint &toy, const FXWindow *fromwindow, FXint fromx, FXint fromy) const
void translateCoordinatesTo (FXint &tox, FXint &toy, const FXWindow *towindow, FXint fromx, FXint fromy) const
virtual void setBackColor (FXColor clr)
FXColor getBackColor () const
virtual bool doesSaveUnder () const
FXint getWidth () const
FXint getHeight () const
FXVisualgetVisual () const
void setVisual (FXVisual *vis)
FXAppgetApp () const
FXEventLoopgetEventLoop () const
FXID id () const
void setUserData (void *ptr)
void * getUserData () const
const FXchargetClassName () const
bool isMemberOf (const FXMetaClass *metaclass) const
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
QTransString tr (const char *text, const char *hint=0)
virtual void * getPythonObject () const
virtual void decouplePythonObject () const

Static Public Member Functions

static FXuint userHandednessLayout ()
static FXuint defaultPadding ()
static FXuint defaultSpacing ()
static FXuint scaleLayoutValue (FXuint value)
static FXWindowcommonAncestor (FXWindow *a, FXWindow *b)
static bool before (const FXWindow *a, const FXWindow *b)
static bool after (const FXWindow *a, const FXWindow *b)

Static Public Attributes

static FXDragType octetType
static FXDragType deleteType
static FXDragType textType
static FXDragType utf8Type
static FXDragType utf16Type
static FXDragType colorType
static FXDragType urilistType
static const FXDragType stringType
static const FXDragType imageType
static const FXcharoctetTypeName
static const FXchardeleteTypeName
static const FXchartextTypeName
static const FXcharcolorTypeName
static const FXcharurilistTypeName
static const FXcharutf8TypeName
static const FXcharutf16TypeName

Protected Types

 FLAG_SHOWN
 FLAG_ENABLED
 FLAG_UPDATE
 FLAG_DROPTARGET
 FLAG_FOCUSED
 FLAG_DIRTY
 FLAG_RECALC
 FLAG_TIP
 FLAG_HELP
 FLAG_DEFAULT
 FLAG_INITIAL
 FLAG_SHELL
 FLAG_ACTIVE
 FLAG_PRESSED
 FLAG_KEY
 FLAG_CARET
 FLAG_CHANGED
 FLAG_LASSO
 FLAG_TRYDRAG
 FLAG_DODRAG
 FLAG_SCROLLINSIDE
 FLAG_SCROLLING
 FLAG_OWNED
 FLAG_POPUP
enum  {
  FLAG_SHOWN, FLAG_ENABLED, FLAG_UPDATE, FLAG_DROPTARGET,
  FLAG_FOCUSED, FLAG_DIRTY, FLAG_RECALC, FLAG_TIP,
  FLAG_HELP, FLAG_DEFAULT, FLAG_INITIAL, FLAG_SHELL,
  FLAG_ACTIVE, FLAG_PRESSED, FLAG_KEY, FLAG_CARET,
  FLAG_CHANGED, FLAG_LASSO, FLAG_TRYDRAG, FLAG_DODRAG,
  FLAG_SCROLLINSIDE, FLAG_SCROLLING, FLAG_OWNED, FLAG_POPUP
}

Protected Member Functions

 FXMDIClient ()
virtual bool doesOverrideRedirect () const
void addColormapWindows ()
void remColormapWindows ()

Static Protected Member Functions

static FXWindowfindDefault (FXWindow *window)
static FXWindowfindInitial (FXWindow *window)

Protected Attributes

FXMDIChildactive
FXint cascadex
FXint cascadey
FXComposeContextcomposeContext
FXCursordefaultCursor
FXCursorsavedCursor
FXCursordragCursor
FXAccelTableaccelTable
FXObjecttarget
FXSelector message
FXint xpos
FXint ypos
FXColor backColor
FXString tag
FXuint flags
FXuint options
FXVisualvisual
FXint width
FXint height
FXID xid

Friends

class FXMDIChild


The documentation for this class was generated from the following file:
(C) 2002-2009 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Nov 20 18:35:00 2009 for TnFOX by doxygen v1.4.7