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

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 ()

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
 

Enumeration values:
ID_MDI_1  Select MDI child 1.
ID_MDI_OVER_1  Sensitize MDI menu when 1 or more children.


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.

Copyright © 1997-2005 Jeroen van der Zijp