Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXMDIClient Class Reference

#include <FXMDIClient.h>

Inheritance diagram for FX::FXMDIClient:
FX::FXComposite FX::FXWindow FX::FXDrawable FX::FXId FX::FXObject

Public Types

enum  {
  ID_MDI_ANY =65400,
  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
}
 
- Public Types inherited from FX::FXWindow
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

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 ()
 
- Public Member Functions inherited from FX::FXComposite
 FXComposite (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 
virtual void create ()
 
virtual void detach ()
 
virtual void destroy ()
 
FXint maxChildWidth () const
 
FXint maxChildHeight () const
 
virtual bool isComposite () const
 
virtual ~FXComposite ()
 
- Public Member Functions inherited from FX::FXWindow
 FXWindow (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 
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 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 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
 
virtual const FXchartr (const FXchar *message, const FXchar *hint=NULL) const
 
virtual ~FXWindow ()
 
- Public Member Functions inherited from FX::FXDrawable
FXint getWidth () const
 
FXint getHeight () const
 
FXVisualgetVisual () const
 
void setVisual (FXVisual *vis)
 
virtual ~FXDrawable ()
 
- Public Member Functions inherited from FX::FXId
FXAppgetApp () const
 
FXID id () const
 
void setUserData (void *ptr)
 
void * getUserData () const
 
virtual ~FXId ()
 
- Public Member Functions inherited from FX::FXObject
const FXchargetClassName () const
 
bool isMemberOf (const FXMetaClass *metaclass) const
 
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
 
virtual ~FXObject ()
 

Friends

class FXMDIChild
 

Additional Inherited Members

- Static Public Member Functions inherited from FX::FXWindow
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 inherited from FX::FXWindow
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 FXchar octetTypeName []
 
static const FXchar deleteTypeName []
 
static const FXchar textTypeName []
 
static const FXchar colorTypeName []
 
static const FXchar urilistTypeName []
 
static const FXchar utf8TypeName []
 
static const FXchar utf16TypeName []
 

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.

Member Enumeration Documentation

anonymous enum
Enumerator
ID_MDI_ANY 
ID_MDI_1 

Select MDI child 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 

Sensitize MDI menu when 1 or more children.

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 

Constructor & Destructor Documentation

FX::FXMDIClient::FXMDIClient ( FXComposite p,
FXuint  opts = 0,
FXint  x = 0,
FXint  y = 0,
FXint  w = 0,
FXint  h = 0 
)

Construct MDI Client window.

virtual FX::FXMDIClient::~FXMDIClient ( )
virtual

Destructor.

Member Function Documentation

virtual long FX::FXMDIClient::onDefault ( FXObject ,
FXSelector  ,
void *   
)
virtual

Called for unhandled messages.

Reimplemented from FX::FXObject.

virtual FXint FX::FXMDIClient::getDefaultWidth ( )
virtual

Return default width.

Reimplemented from FX::FXComposite.

virtual FXint FX::FXMDIClient::getDefaultHeight ( )
virtual

Return default height.

Reimplemented from FX::FXComposite.

virtual void FX::FXMDIClient::layout ( )
virtual

Perform layout.

Reimplemented from FX::FXComposite.

long FX::FXMDIClient::forallWindows ( FXObject sender,
FXSelector  sel,
void *  ptr 
)

Pass message to all MDI windows, stopping when one of the MDI windows fails to handle the message.

long FX::FXMDIClient::forallDocuments ( FXObject sender,
FXSelector  sel,
void *  ptr 
)

Pass message once to all MDI windows with the same document, stopping when one of the MDI windows fails to handle the message.

long FX::FXMDIClient::forallDocWindows ( FXObject document,
FXObject sender,
FXSelector  sel,
void *  ptr 
)

Pass message to all MDI Child windows whose target is document, stopping when one of the MDI windows fails to handle the message.

virtual FXbool FX::FXMDIClient::setActiveChild ( FXMDIChild child = NULL,
FXbool  notify = TRUE 
)
virtual

Set active MDI Child.

FXMDIChild* FX::FXMDIClient::getActiveChild ( ) const
inline

Get current active child; may be NULL!

virtual void FX::FXMDIClient::cascade ( FXbool  notify = FALSE)
virtual

Cascade windows.

virtual void FX::FXMDIClient::horizontal ( FXbool  notify = FALSE)
virtual

Layout horizontally.

virtual void FX::FXMDIClient::vertical ( FXbool  notify = FALSE)
virtual

Layout vertically.

void FX::FXMDIClient::setCascadeX ( FXint  off)
inline

Change cascade offset X.

void FX::FXMDIClient::setCascadeY ( FXint  off)
inline

Change cascade offset Y.

FXint FX::FXMDIClient::getCascadeX ( ) const
inline

Get cascade offset X.

FXint FX::FXMDIClient::getCascadeY ( ) const
inline

Get cascade offset Y.

virtual void FX::FXMDIClient::save ( FXStream store) const
virtual

Save object to a stream.

Reimplemented from FX::FXWindow.

virtual void FX::FXMDIClient::load ( FXStream store)
virtual

Load object from a stream.

Reimplemented from FX::FXWindow.

Friends And Related Function Documentation

friend class FXMDIChild
friend

Copyright © 1997-2005 Jeroen van der Zijp