# kmdi Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KMdiChildArea Class Reference

Internal class. More...

`#include <kmdichildarea.h>`

Inheritance diagram for KMdiChildArea:

[legend]
Collaboration diagram for KMdiChildArea:

[legend]
List of all members.

## Public Slots

void | cascadeWindows ()
void | cascadeMaximized ()
void | expandVertical ()
void | expandHorizontal ()
void | focusTopChild ()
void | tilePragma ()
void | tileAnodine ()
void | tileVertically ()
void | layoutMinimizedChildren ()

## Signals

void | noMaximizedChildFrmLeft (KMdiChildFrm *)
void | nowMaximized (bool)
void | sysButtonConnectionsMustChange (KMdiChildFrm *, KMdiChildFrm *)
void | popupWindowMenu (QPoint)
void | lastChildFrmClosed ()

## Public Member Functions

| KMdiChildArea (QWidget *parent)
| ~KMdiChildArea ()
void | manageChild (KMdiChildFrm *lpC, bool bShow=true, bool bCascade=true)
void | destroyChild (KMdiChildFrm *child, bool focusTopChild=true)
void | destroyChildButNotItsView (KMdiChildFrm *lpC, bool bFocusTopChild=true)
void | setTopChild (KMdiChildFrm *child, bool setFocus=false)
KMdiChildFrm * | topChild () const
int | getVisibleChildCount () const
QPoint | getCascadePoint (int indexOfWindow=-1)
void | setMdiCaptionFont (const QFont &fnt)
void | setMdiCaptionActiveForeColor (const QColor &clr)
void | setMdiCaptionActiveBackColor (const QColor &clr)
void | setMdiCaptionInactiveForeColor (const QColor &clr)
void | setMdiCaptionInactiveBackColor (const QColor &clr)

## Static Public Member Functions

static void | getCaptionColors (const QPalette &pal, QColor &activeBG, QColor &activeFG, QColor &inactiveBG, QColor &inactiveFG) KDE_DEPRECATED

## Public Attributes

QPtrList< KMdiChildFrm > * | m_pZ
QSize | m_defaultChildFrmSize

## Protected Member Functions

void | tileAllInternal (int maxWnds)
virtual void | resizeEvent (QResizeEvent *)
void | mousePressEvent (QMouseEvent *e)
void | childMinimized (KMdiChildFrm *lpC, bool bWasMaximized)

## Protected Attributes

QFont | m_captionFont
QColor | m_captionActiveBackColor
QColor | m_captionActiveForeColor
QColor | m_captionInactiveBackColor
QColor | m_captionInactiveForeColor
int | m_captionFontLineSpacing

## Friends

class | KMdiChildFrmCaption
class | KMdiChildFrm

## Detailed Description

Internal class.

The main frame widget KMdiMainFrm consists of 2 child widgets. One is this class. It's the widget where the child frames (emulated toplevel MDI views) live in. This class is the manager for the child frame widgets because it controls the Z-order widget stack of KMdiChildFrm's. It provides all placing and positioning algorithms for docked (attached) MDI views.

KMdiChildArea doesn't know anything about the actual MDI views. It only knows and manages the frame widgets of attached MDI views. All actions and stuff concerning only to childframes are handled here.

Definition at line 52 of file kmdichildarea.h.

## Constructor & Destructor Documentation

KMdiChildArea::KMdiChildArea | ( | QWidget * | parent | ) |

| Consruction. Note: This class needn't to know about KMdiMainFrm . Definition at line 48 of file kmdichildarea.cpp. References QFontMetrics::lineSpacing(), m_captionActiveBackColor, m_captionActiveForeColor, m_captionFont, m_captionInactiveBackColor, m_captionInactiveForeColor, m_defaultChildFrmSize, m_pZ, QPtrList::setAutoDelete(), and QFrame::setFrameStyle().

KMdiChildArea::~KMdiChildArea | ( |  | ) |

| Destructor : THERE should be no child windows anymore... Howewer it simply deletes all the child widgets :) Definition at line 66 of file kmdichildarea.cpp. References m_pZ.

## Member Function Documentation

void KMdiChildArea::manageChild | ( | KMdiChildFrm * | lpC,
|  | bool | bShow = `true`,
|  | bool | bCascade = `true`
| ) |

Appends a new KMdiChildFrm to this manager.

The child is shown,raised and gets focus if this window has it.

Definition at line 72 of file kmdichildarea.cpp.

References QPtrList::append(), QPtrList::count(), QPtrList::findNextRef(), QPtrList::findRef(), focusTopChild(), getCascadePoint(), QPtrList::insert(), m_pZ, KMdiChildFrm::setState(), KMdiChildFrm::state(), sysButtonConnectionsMustChange(), QPtrList::take(), and topChild().

Referenced by KMdiMainFrm::attachWindow().

void KMdiChildArea::destroyChild | ( | KMdiChildFrm * | child,
|  | bool | focusTopChild = `true`
| ) |

Destroys a managed KMdiChildFrm Also deletes the client attached to this child.

Definition at line 109 of file kmdichildarea.cpp.

References KMdiChildFrm::caption(), QObject::disconnect(), focusTopChild(), m_pZ, noMaximizedChildFrmLeft(), QPtrList::removeRef(), QPtrList::setAutoDelete(), KMdiChildFrm::setState(), sysButtonConnectionsMustChange(), and topChild().

Referenced by KMdiMainFrm::closeWindow().

void KMdiChildArea::destroyChildButNotItsView | ( | KMdiChildFrm * | lpC,
|  | bool | bFocusTopChild = `true`
| ) |

Destroys a managed KMdiChildFrm Clients attached to the KMdiChildFrm are not deleted.

Parameters:

  | child |

Definition at line 141 of file kmdichildarea.cpp.

References QObject::disconnect(), focusTopChild(), m_pZ, noMaximizedChildFrmLeft(), QPtrList::removeRef(), QPtrList::setAutoDelete(), KMdiChildFrm::setState(), sysButtonConnectionsMustChange(), and topChild().

Referenced by KMdiMainFrm::detachWindow(), and KMdiMainFrm::removeWindowFromMdi().

void KMdiChildArea::setTopChild | ( | KMdiChildFrm * | child,
|  | bool | setFocus = `false`
| ) |

Brings the child `child` to the top of the stack The child is focused if `setFocus` is true.

If setFocus is false, the child is just raised.

Parameters:

  | child |

Definition at line 171 of file kmdichildarea.cpp.

References QPtrList::append(), KMdiChildFrm::m_pClient, m_pZ, QPtrList::removeRef(), QPtrList::setAutoDelete(), QWidget::setFocus(), QFocusEvent::setReason(), KMdiChildFrm::setState(), KMdiChildFrm::state(), sysButtonConnectionsMustChange(), and topChild().

Referenced by KMdiMainFrm::activateView(), KMdiChildFrm::mousePressEvent(), and KMdiChildFrm::raiseAndActivate().

KMdiChildFrm* KMdiChildArea::topChild | ( |  | ) | const`[inline]`

Returns the topmost child (the active one) or 0 if there are no children.

Note that the topmost child may be also hidded , if ALL the windows are minimized.

Definition at line 143 of file kmdichildarea.h.

Referenced by KMdiMainFrm::activateView(), KMdiMainFrm::attachWindow(), childMinimized(), KMdiMainFrm::closeWindow(), destroyChild(), destroyChildButNotItsView(), KMdiMainFrm::eventFilter(), focusTopChild(), manageChild(), KMdiMainFrm::removeWindowFromMdi(), resizeEvent(), KMdiChildFrm::setClient(), KMdiMainFrm::setEnableMaximizedChildFrmMode(), KMdiChildFrm::setState(), setTopChild(), tileAllInternal(), tileAnodine(), tileVertically(), and KMdiMainFrm::windowMenuItemActivated().

int KMdiChildArea::getVisibleChildCount | ( |  | ) | const

| Returns the number of visible children. Definition at line 482 of file kmdichildarea.cpp. References m_pZ. Referenced by KMdiMainFrm::closeWindow(), KMdiMainFrm::removeWindowFromMdi(), tileAllInternal(), tileAnodine(), and tileVertically().

QPoint KMdiChildArea::getCascadePoint | ( | int | indexOfWindow = `-1` | ) |

Calculates the cascade point for the given index.

If index is -1 the cascade point is calculated for the window following the last window

Parameters:

  | indexOfWindow | the index of the window in relation the z-ordered window list

Definition at line 258 of file kmdichildarea.cpp.

References QPtrList::count(), QApplication::desktop(), QPtrList::first(), QSize::height(), KMdiChildFrmCaption::heightHint(), m_defaultChildFrmSize, KMdiChildFrm::m_pCaption, m_pZ, QPoint::setX(), QPoint::setY(), and QSize::width().

Referenced by KMdiMainFrm::addWindow(), cascadeMaximized(), cascadeWindows(), KMdiMainFrm::detachWindow(), and manageChild().

void KMdiChildArea::setMdiCaptionFont | ( | const QFont & | fnt | ) |

| Sets the MDI childframe window caption font A relayout does not occur when using this function. Definition at line 747 of file kmdichildarea.cpp. References QFontMetrics::lineSpacing(), m_captionFont, and m_pZ.

void KMdiChildArea::setMdiCaptionActiveForeColor | ( | const QColor & | clr | ) |

| Sets the foreground color of the active MDI childframe window caption A relayout does not occur when using this function. Definition at line 759 of file kmdichildarea.cpp. References m_captionActiveForeColor.

void KMdiChildArea::setMdiCaptionActiveBackColor | ( | const QColor & | clr | ) |

| Sets the background color of the active MDI childframe window captions A relayout does not occur when using this function. Definition at line 764 of file kmdichildarea.cpp. References m_captionActiveBackColor.

void KMdiChildArea::setMdiCaptionInactiveForeColor | ( | const QColor & | clr | ) |

| Sets the foreground color of inactive MDI childframe window captions A relayout does not occur when using this function. Definition at line 769 of file kmdichildarea.cpp. References m_captionInactiveForeColor.

void KMdiChildArea::setMdiCaptionInactiveBackColor | ( | const QColor & | clr | ) |

| Sets the background color of inactive MDI childframe window captions A relayout does not occur when using this function. Definition at line 774 of file kmdichildarea.cpp. References m_captionInactiveBackColor.

void KMdiChildArea::getCaptionColors | ( | const QPalette & | pal,
|  | QColor & | activeBG,
|  | QColor & | activeFG,
|  | QColor & | inactiveBG,
|  | QColor & | inactiveFG
| ) | `[static]`

Gets all caption colors, consistent with current WM settings (or other Desktop settings e.g.

system settings for win32) This method is useful not only for KMDI child windows. Colors are returned via activeBG, activeFG, inactiveBG, inactiveFG references.

Deprecated:
  Use KGlobalSettings::activeTitleColor(), KGlobalSettings::activeTextColor(), KGlobalSettings::inactiveTitleColor() and KGlobalSettings::inactiveTextColor() instead.

Definition at line 780 of file kmdichildarea.cpp.

void KMdiChildArea::cascadeWindows | ( |  | ) | `[slot]`

| Cascades all windows resizing them to the minimum size. Definition at line 382 of file kmdichildarea.cpp. References QPtrList::first(), focusTopChild(), getCascadePoint(), QPtrList::isEmpty(), m_pZ, QPtrList::removeFirst(), KMdiChildFrm::restorePressed(), QPtrList::setAutoDelete(), and KMdiChildFrm::state().

void KMdiChildArea::cascadeMaximized | ( |  | ) | `[slot]`

| Cascades all windows resizing them to the maximum available size. Definition at line 404 of file kmdichildarea.cpp. References QPtrList::first(), focusTopChild(), getCascadePoint(), QPtrList::isEmpty(), m_pZ, QPtrList::removeFirst(), KMdiChildFrm::restorePressed(), QPtrList::setAutoDelete(), KMdiChildFrm::state(), QPoint::x(), and QPoint::y().

void KMdiChildArea::expandVertical | ( |  | ) | `[slot]`

| Maximize all windows but only in vertical direction. Definition at line 438 of file kmdichildarea.cpp. References QPtrList::first(), focusTopChild(), QPtrList::isEmpty(), m_pZ, QPtrList::removeFirst(), KMdiChildFrm::restorePressed(), QPtrList::setAutoDelete(), and KMdiChildFrm::state().

void KMdiChildArea::expandHorizontal | ( |  | ) | `[slot]`

| Maximize all windows but only in horizontal direction. Definition at line 460 of file kmdichildarea.cpp. References QPtrList::first(), focusTopChild(), QPtrList::isEmpty(), m_pZ, QPtrList::removeFirst(), KMdiChildFrm::restorePressed(), QPtrList::setAutoDelete(), and KMdiChildFrm::state().

void KMdiChildArea::focusTopChild | ( |  | ) | `[slot]`

Gives focus to the topmost child if it doesn't get focus automatically or you want to wait to give it focus.

Definition at line 355 of file kmdichildarea.cpp.

References KMdiChildView::activate(), KMdiChildFrm::caption(), QWidget::hasFocus(), lastChildFrmClosed(), KMdiChildFrm::m_pCaption, KMdiChildFrm::m_pClient, m_pZ, KMdiChildFrmCaption::setActive(), and topChild().

Referenced by cascadeMaximized(), cascadeWindows(), childMinimized(), destroyChild(), destroyChildButNotItsView(), KMdiMainFrm::eventFilter(), expandHorizontal(), expandVertical(), and manageChild().

void KMdiChildArea::tilePragma | ( |  | ) | `[slot]`

| Tile Pragma. Definition at line 494 of file kmdichildarea.cpp. References tileAllInternal().

void KMdiChildArea::tileAnodine | ( |  | ) | `[slot]`

| Tile Anodine. Definition at line 602 of file kmdichildarea.cpp. References KMdiChildView::activate(), getVisibleChildCount(), KMdiChildFrm::m_pClient, m_pZ, KMdiChildFrm::restorePressed(), KMdiChildFrm::state(), and topChild().

void KMdiChildArea::tileVertically | ( |  | ) | `[slot]`

| Tile all the windows in the child area vertically. Definition at line 676 of file kmdichildarea.cpp. References KMdiChildView::activate(), getVisibleChildCount(), KMdiChildFrm::m_pClient, m_pZ, KMdiChildFrm::restorePressed(), KMdiChildFrm::state(), and topChild().

void KMdiChildArea::layoutMinimizedChildren | ( |  | ) | `[slot]`

| Position and layout the minimized child frames. Definition at line 723 of file kmdichildarea.cpp. References m_pZ, and KMdiChildFrm::state(). Referenced by resizeEvent(), and KMdiChildFrm::switchToMinimizeLayout().

void KMdiChildArea::tileAllInternal | ( | int | maxWnds | ) | `[protected]`

| Internally used for the tile algorithm. Definition at line 500 of file kmdichildarea.cpp. References KMdiChildView::activate(), getVisibleChildCount(), QSize::height(), m_defaultChildFrmSize, KMdiChildFrm::m_pClient, m_pZ, KMdiChildFrm::restorePressed(), KMdiChildFrm::state(), topChild(), and QSize::width(). Referenced by tilePragma().

void KMdiChildArea::resizeEvent | ( | QResizeEvent * |  | ) | `[protected, virtual]`

| Automatically resizes a maximized MDI view and layouts the positions of minimized MDI views. Reimplemented from QFrame. Definition at line 227 of file kmdichildarea.cpp. References QWidget::height(), KMdiChildFrmCaption::heightHint(), layoutMinimizedChildren(), KMdiChildFrm::m_pCaption, KMdiChildFrm::m_pClient, QWidget::resizeEvent(), KMdiChildFrm::state(), topChild(), and QWidget::width().

void KMdiChildArea::mousePressEvent | ( | QMouseEvent * | e | ) | `[protected]`

| Shows the 'Window' popup menu on right mouse button click. Definition at line 249 of file kmdichildarea.cpp. References popupWindowMenu().

void KMdiChildArea::childMinimized | ( | KMdiChildFrm * | lpC,
|  | bool | bWasMaximized
| ) | `[protected]`

| Internally used. Actions that are necessary when an MDI view gets minimized Definition at line 319 of file kmdichildarea.cpp. References QPtrList::count(), QPtrList::findRef(), focusTopChild(), QPtrList::insert(), m_pZ, QPtrList::removeRef(), QPtrList::setAutoDelete(), KMdiChildFrm::setState(), and topChild(). Referenced by KMdiChildFrm::setState().

void KMdiChildArea::noMaximizedChildFrmLeft | ( | KMdiChildFrm * |  | ) | `[signal]`

| Signals that there aren't maximized child frames any more. Referenced by destroyChild(), and destroyChildButNotItsView().

void KMdiChildArea::nowMaximized | ( | bool |  | ) | `[signal]`

| Signals that the child frames are maximized now. Referenced by KMdiChildFrm::maximizePressed(), KMdiChildFrm::minimizePressed(), and KMdiChildFrm::restorePressed().

void KMdiChildArea::sysButtonConnectionsMustChange | ( | KMdiChildFrm * | ,
|  | KMdiChildFrm * |
| ) | `[signal]`

| Signals a KMdiMainFrm that the signal/slot connections of the system buttons in the menubar (only in Maximize mode) must be updated to another MDI view because the focused MDI view has changed. Referenced by destroyChild(), destroyChildButNotItsView(), manageChild(), and setTopChild().

void KMdiChildArea::popupWindowMenu | ( | QPoint |  | ) | `[signal]`

| Signals a KMdiMainFrm that the 'Window' popup menu must be shown. Referenced by mousePressEvent().

void KMdiChildArea::lastChildFrmClosed | ( |  | ) | `[signal]`

| Signals that the last attached (docked) MDI view has been closed. Note: Detached MDI views can remain. Referenced by focusTopChild().

## Member Data Documentation

QPtrList<KMdiChildFrm>* KMdiChildArea::m_pZ

Z Order stack of KMdiChildFrm childframe windows (top=last).

Definition at line 64 of file kmdichildarea.h.

Referenced by cascadeMaximized(), cascadeWindows(), childMinimized(), destroyChild(), destroyChildButNotItsView(), expandHorizontal(), expandVertical(), focusTopChild(), getCascadePoint(), getVisibleChildCount(), KMdiChildArea(), layoutMinimizedChildren(), manageChild(), setMdiCaptionFont(), setTopChild(), tileAllInternal(), tileAnodine(), tileVertically(), and ~KMdiChildArea().

QSize KMdiChildArea::m_defaultChildFrmSize

| the default size of an newly created childframe Definition at line 69 of file kmdichildarea.h. Referenced by getCascadePoint(), KMdiChildArea(), KMdiChildFrm::setClient(), and tileAllInternal().

QFont KMdiChildArea::m_captionFont `[protected]`

| The MDI childframe window caption font. Definition at line 74 of file kmdichildarea.h. Referenced by KMdiChildArea(), KMdiChildFrmCaption::paintEvent(), and setMdiCaptionFont().

QColor KMdiChildArea::m_captionActiveBackColor `[protected]`

| The foreground color of the active MDI childframe window caption. Definition at line 79 of file kmdichildarea.h. Referenced by KMdiChildArea(), KMdiChildFrmCaption::paintEvent(), KMdiChildFrmCaption::setActive(), and setMdiCaptionActiveBackColor().

QColor KMdiChildArea::m_captionActiveForeColor `[protected]`

| The background color of the active MDI childframe window captions. Definition at line 84 of file kmdichildarea.h. Referenced by KMdiChildArea(), KMdiChildFrmCaption::paintEvent(), and setMdiCaptionActiveForeColor().

QColor KMdiChildArea::m_captionInactiveBackColor `[protected]`

| The foreground color of inactive MDI childframe window captions. Definition at line 89 of file kmdichildarea.h. Referenced by KMdiChildArea(), KMdiChildFrmCaption::paintEvent(), KMdiChildFrmCaption::setActive(), and setMdiCaptionInactiveBackColor().

QColor KMdiChildArea::m_captionInactiveForeColor `[protected]`

| The background color of inactive MDI childframe window captions. Definition at line 94 of file kmdichildarea.h. Referenced by KMdiChildArea(), KMdiChildFrmCaption::paintEvent(), and setMdiCaptionInactiveForeColor().

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

- kmdichildarea.h
- kmdichildarea.cpp

This file is part of the documentation for kmdi Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:32:07 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003