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

FX::FXMDIClient Class Reference

The MDI client window manages a number of MDI child windows in a multiple-document interface (MDI) application. More...

#include <FXMDIClient.h>

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

List of all members.

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 Member Functions

long onPaint (FXObject *, FXSelector, void *)
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 *)
 Called for unhandled messages.
 FXMDIClient (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct MDI Client window.
virtual void create ()
 Create window.
virtual FXint getDefaultWidth ()
 Return default width.
virtual FXint getDefaultHeight ()
 Return default height.
virtual void layout ()
 Perform layout.
long 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 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 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 setActiveChild (FXMDIChild *child=NULL, FXbool notify=true)
 Set active MDI Child.
FXMDIChildgetActiveChild () const
 Get current active child; may be NULL!
FXObjectgetActiveDocument () const
 Get active document; this is the target of the active MDI Child, if any.
void setBackImage (FXImage *img)
 Change background image.
FXImagegetBackImage () const
 Return background image.
virtual void cascade (FXbool notify=false)
 Cascade windows.
virtual void horizontal (FXbool notify=false)
 Layout horizontally.
virtual void vertical (FXbool notify=false)
 Layout vertically.
void setCascadeX (FXint off)
 Change cascade offset X.
void setCascadeY (FXint off)
 Change cascade offset Y.
FXint getCascadeX () const
 Get cascade offset X.
FXint getCascadeY () const
 Get cascade offset Y.
virtual void save (FXStream &store) const
 Save object to a stream.
virtual void load (FXStream &store)
 Load object from a stream.
virtual ~FXMDIClient ()
 Destructor.

Protected Attributes

FXMDIChildactive
FXImagebackImage
FXint cascadex
FXint cascadey

Friends

class FXMDIChild

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. The ID_MDI_ANY may be connected to a menu separator to cause automatic hiding of the menu separator when no MDI child windows are present.


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

Copyright © 1997-2011 Jeroen van der Zijp