Class: Fox::FXMDIClient

Inherits:
FXComposite show all
Defined in:
rdoc-sources/FXMDIClient.rb

Overview

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.

Events

The following messages are sent by FXMDIClient to its target:

SEL_CHANGED

sent when the active child changes; the message data is a reference to the new active child window (or nil if there is none)

Instance Attribute Summary collapse

Attributes inherited from FXWindow

#accelTable, #backColor, #defaultCursor, #dragCursor, #first, #focus, #key, #last, #layoutHints, #next, #numChildren, #owner, #parent, #prev, #root, #selector, #shell, #target, #x, #y

Attributes inherited from FXDrawable

#height, #visual, #width

Attributes inherited from FXId

#app, #userData, #xid

Instance Method Summary collapse

Methods inherited from FXComposite

#maxChildHeight, #maxChildWidth

Methods inherited from FXWindow

#acceptDrop, #acquireClipboard, #acquireSelection, #active?, #addHotKey, #after?, after?, #before?, before?, #beginDrag, #canFocus?, #changeFocus, #childAtIndex, #childOf?, #children, #clearDragRectangle, #clearShape, colorType, colorTypeName, commonAncestor, #composeContext, #composite?, #contains?, #containsChild?, #create, #createComposeContext, #cursorPosition, #default?, #defaultHeight, #defaultWidth, deleteType, deleteTypeName, #destroy, #destroyComposeContext, #detach, #didAccept, #disable, #doesSaveUnder?, #dragging?, #dropDisable, #dropEnable, #dropEnabled?, #dropFinished, #dropTarget?, #each_child, #each_child_recursive, #enable, #enabled?, #endDrag, #forceRefresh, #getChildAt, #getDNDData, #getHeightForWidth, #getWidthForHeight, #grab, #grabKeyboard, #grabbed?, #grabbedKeyboard?, #handleDrag, #hasClipboard?, #hasFocus?, #hasSelection?, #height, #height=, #hide, imageType, #inFocusChain?, #indexOfChild, #initial?, #inquireDNDAction, #inquireDNDTypes, #killFocus, #layout, #linkAfter, #linkBefore, #lower, #move, octetType, octetTypeName, #offeredDNDType?, #position, #raiseWindow, #recalc, #releaseClipboard, #releaseSelection, #remHotKey, #removeChild, #repaint, #reparent, #resize, #scroll, #setCursorPosition, #setDNDData, #setDefault, #setDragRectangle, #setFocus, #setInitial, #setShape, #shell?, #show, #shown?, stringType, textType, textTypeName, #tr, #translateCoordinatesFrom, #translateCoordinatesTo, #underCursor?, #ungrab, #ungrabKeyboard, #update, urilistType, urilistTypeName, utf16Type, utf16TypeName, utf8Type, utf8TypeName, #visible=, #width, #width=

Methods included from Responder2

#connect

Methods inherited from FXDrawable

#resize

Methods inherited from FXId

#create, #created?, #destroy, #detach, #runOnUiThread

Methods inherited from FXObject

#bind, #handle, #load, #save, subclasses

Constructor Details

#initialize(p, opts = 0, x = 0, y = 0, width = 0, height = 0) ⇒ FXMDIClient

Construct MDI Client window



38
39
# File 'rdoc-sources/FXMDIClient.rb', line 38

def initialize(p, opts=0, x=0, y=0, width=0, height=0) # :yields: theMDIClient
end

Instance Attribute Details

#activeChildObject

Active MDI child window, or nil if none Fox::FXMDIChild.



29
30
31
# File 'rdoc-sources/FXMDIClient.rb', line 29

def activeChild
  @activeChild
end

#cascadeXObject

Cascade offset X [Integer]



32
33
34
# File 'rdoc-sources/FXMDIClient.rb', line 32

def cascadeX
  @cascadeX
end

#cascadeYObject

Cascade offset Y [Integer]



35
36
37
# File 'rdoc-sources/FXMDIClient.rb', line 35

def cascadeY
  @cascadeY
end

Instance Method Details

#forallDocuments(sender, sel, ptr) ⇒ Object

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



51
# File 'rdoc-sources/FXMDIClient.rb', line 51

def forallDocuments(sender, sel, ptr); end

#forallDocWindows(document, sender, sel, ptr) ⇒ Object

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



57
# File 'rdoc-sources/FXMDIClient.rb', line 57

def forallDocWindows(document, sender, sel, ptr); end

#forallWindows(sender, sel, ptr) ⇒ Object

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



45
# File 'rdoc-sources/FXMDIClient.rb', line 45

def forallWindows(sender, sel, ptr); end

#setActiveChild(child = nil, notify = true) ⇒ Object

Set active MDI child window for this MDI client to child.



62
# File 'rdoc-sources/FXMDIClient.rb', line 62

def setActiveChild(child=nil, notify=true); end