KMdiChildFrm Class Reference

`#include <kmdichildfrm.h>`

Inherits QFrame.

## Public Types

enum | MdiWindowState { Normal, Maximized, Minimized }

## Public Slots

void | slot_resizeViaSystemMenu ()

## Public Member Functions

| KMdiChildFrm (KMdiChildArea *parent)
| ~KMdiChildFrm ()
void | setClient (KMdiChildView *w, bool bAutomaticResize=false)
void | unsetClient (QPoint positionOffset=QPoint(0, 0))
void | setIcon (const QPixmap &pxm)
QPixmap * | icon () const
void | enableClose (bool bEnable)
void | setCaption (const QString &text)
const QString & | caption ()
void | setState (MdiWindowState state, bool bAnimate=true)
MdiWindowState | state () const
QRect | mdiAreaContentsRect () const
QRect | restoreGeometry () const
void | setRestoreGeometry (const QRect &newRestGeo)
void | updateRects ()
QPopupMenu * | systemMenu () const
int | captionHeight () const
void | redecorateButtons ()
bool | isInDrag () const
bool | isInResize () const
void | raiseAndActivate ()
virtual void | setMinimumSize (int minw, int minh)

## Public Attributes

KMdiChildView * | m_pClient

## Protected Slots

void | maximizePressed ()
void | restorePressed ()
void | minimizePressed ()
void | closePressed ()
void | undockPressed ()
void | showSystemMenu ()

## Protected Member Functions

virtual void | resizeEvent (QResizeEvent *)
virtual void | mouseMoveEvent (QMouseEvent *e)
virtual void | mousePressEvent (QMouseEvent *e)
virtual void | mouseReleaseEvent (QMouseEvent *)
virtual void | moveEvent (QMoveEvent *me)
virtual void | leaveEvent (QEvent *)
virtual bool | eventFilter (QObject *, QEvent *)
void | resizeWindow (int resizeCorner, int x, int y)
void | setResizeCursor (int resizeCorner)
void | unsetResizeCursor ()
virtual void | switchToMinimizeLayout ()
void | doResize ()
void | doResize (bool captionOnly)
void | linkChildren (QDict< FocusPolicy > *pFocPolDict)
QDict< QWidget::FocusPolicy > * | unlinkChildren ()
int | getResizeCorner (int ax, int ay)

## Protected Attributes

KMdiChildArea * | m_pManager
KMdiChildFrmCaption * | m_pCaption
KMdiWin32IconButton * | m_pWinIcon
QToolButton * | m_pUnixIcon
QToolButton * | m_pMinimize
QToolButton * | m_pMaximize
QToolButton * | m_pClose
QToolButton * | m_pUndock
MdiWindowState | m_state
QRect | m_restoredRect
int | m_iResizeCorner
int | m_iLastCursorCorner
bool | m_bResizing
bool | m_bDragging
QPixmap * | m_pIconButtonPixmap
QPixmap * | m_pMinButtonPixmap
QPixmap * | m_pMaxButtonPixmap
QPixmap * | m_pRestoreButtonPixmap
QPixmap * | m_pCloseButtonPixmap
QPixmap * | m_pUndockButtonPixmap
int | m_windowMenuID
QPopupMenu * | m_pSystemMenu
QSize | m_oldClientMinSize
QSize | m_oldClientMaxSize
QLayout::ResizeMode | m_oldLayoutResizeMode
QTime | m_timeMeasure

## Friends

class | KMdiChildArea
class | KMdiChildFrmCaption

## Detailed Description

Internal class.

It's an MDI child frame widget. It contains a view widget and a frame caption. Usually you derive from its view.

Definition at line 130 of file kmdichildfrm.h.

## Constructor & Destructor Documentation

KMdiChildFrm::KMdiChildFrm | ( | KMdiChildArea * | parent | ) |

Creates a new KMdiChildFrm class.

Definition at line 101 of file kmdichildfrm.cpp.

KMdiChildFrm::~KMdiChildFrm | ( |  | ) |

Destroys this KMdiChildFrm If a child is still here managed (no recreation was made) it is destroyed too.

Definition at line 171 of file kmdichildfrm.cpp.

## Member Function Documentation

const QString& KMdiChildFrm::caption | ( |  | ) |

inline

Gets the caption of this mdi child.

Definition at line 230 of file kmdichildfrm.h.

int KMdiChildFrm::captionHeight | ( |  | ) | const

inline

Returns the caption bar height.

Definition at line 271 of file kmdichildfrm.h.

void KMdiChildFrm::closePressed | ( |  | ) |

protected slot

Handles a click on the Close button.

Definition at line 491 of file kmdichildfrm.cpp.

void KMdiChildFrm::doResize | ( |  | ) |

protected

Does the actual resize.

Called from various places but from resizeEvent in general.

Definition at line 987 of file kmdichildfrm.cpp.

void KMdiChildFrm::doResize | ( | bool | captionOnly | ) |

protected

Does the actual resize, like doResize() but skips resize of the client if captionOnly is true.

Todo:
  : merge with doResize()

Definition at line 992 of file kmdichildfrm.cpp.

void KMdiChildFrm::enableClose | ( | bool | bEnable | ) |

Enables or disables the close button.

Definition at line 694 of file kmdichildfrm.cpp.

bool KMdiChildFrm::eventFilter | ( | QObject * | obj,
|  | QEvent * | e
| ) |  |

protected virtual

Reimplemented from the base class.

In addition, the following are caught -the client's mousebutton press events which raises and activates the childframe -the client's resize event which resizes this widget as well

Definition at line 1077 of file kmdichildfrm.cpp.

int KMdiChildFrm::getResizeCorner | ( | int | ax,
|  | int | ay
| ) |  |

protected

Calculates the corner id for the resize cursor.

The return value can be tested for: KMDI_RESIZE_LEFT, KMDI_RESIZE_RIGHT, KMDI_RESIZE_TOP, KMDI_RESIZE_BOTTOM or an OR'd variant of them for the corners.

Definition at line 418 of file kmdichildfrm.cpp.

QPixmap * KMdiChildFrm::icon | ( |  | ) | const

Returns the child frame icon.

Definition at line 720 of file kmdichildfrm.cpp.

bool KMdiChildFrm::isInDrag | ( |  | ) | const

inline

returns the mouse state "In Drag"

Definition at line 281 of file kmdichildfrm.h.

bool KMdiChildFrm::isInResize | ( |  | ) | const

inline

returns the mouse state "In Resize"

Definition at line 286 of file kmdichildfrm.h.

void KMdiChildFrm::leaveEvent | ( | QEvent * |  | ) |

protected virtual

Reimplemented from the base class.

If not in resize mode, it sets the mouse cursor to normal appearance.

Definition at line 314 of file kmdichildfrm.cpp.

void KMdiChildFrm::linkChildren | ( | QDict< FocusPolicy > * | pFocPolDict | ) |

protected

Restore the focus policies for all widgets in the view using the list given as parameter.

Install the event filter for all direct child widgets of this. (See KMdiChildFrm::eventFilter)

Definition at line 887 of file kmdichildfrm.cpp.

void KMdiChildFrm::maximizePressed | ( |  | ) |

protected slot

Handles a click on the Maximize button.

Definition at line 442 of file kmdichildfrm.cpp.

QRect KMdiChildFrm::mdiAreaContentsRect | ( |  | ) | const

Returns the inner client area of the parent of this (which is KMdiChildArea).

Definition at line 1395 of file kmdichildfrm.cpp.

void KMdiChildFrm::minimizePressed | ( |  | ) |

protected slot

Handles a click on the Minimize button.

Definition at line 471 of file kmdichildfrm.cpp.

void KMdiChildFrm::mouseMoveEvent | ( | QMouseEvent * | e | ) |

protected virtual

Reimplemented from the base class.

Detects if the mouse is on the edge of window and what resize cursor must be set. Calls KMdiChildFrm::resizeWindow if it is in m_bResizing.

Definition at line 273 of file kmdichildfrm.cpp.

void KMdiChildFrm::mousePressEvent | ( | QMouseEvent * | e | ) |

protected virtual

Reimplemented from the base class.

Colours the caption, raises the childfrm widget and turns to resize mode if it is on the edge (resize-sensitive area)

Definition at line 183 of file kmdichildfrm.cpp.

void KMdiChildFrm::mouseReleaseEvent | ( | QMouseEvent * | e | ) |

protected virtual

Reimplemented from the base class.

Sets a normal cursor and leaves the resize mode.

Definition at line 210 of file kmdichildfrm.cpp.

void KMdiChildFrm::moveEvent | ( | QMoveEvent * | me | ) |

protected virtual

Reimplemented from the base class.

give its child view the chance to notify a childframe move... that's why it sends a KMdiChildMovedEvent to the embedded KMdiChildView .

Definition at line 304 of file kmdichildfrm.cpp.

void KMdiChildFrm::raiseAndActivate | ( |  | ) |

Internally called from the signal focusInEventOccurs.

It raises the MDI childframe to the top of all other MDI child frames and sets the focus on it.

Definition at line 1209 of file kmdichildfrm.cpp.

void KMdiChildFrm::redecorateButtons | ( |  | ) |

sets new raise behavior and pixmaps of the buttons depending on the current decoration style

Definition at line 1322 of file kmdichildfrm.cpp.

void KMdiChildFrm::resizeEvent | ( | QResizeEvent * |  | ) |

protected virtual

Reimplemented from the base class.

Resizes the captionbar, relayouts the position of the system buttons, and calls resize for its embedded KMdiChildView with the proper size

Definition at line 982 of file kmdichildfrm.cpp.

void KMdiChildFrm::resizeWindow | ( | int | resizeCorner,
|  | int | x,
|  | int | y
| ) |  |

protected

Calculates the new geometry from the new mouse position given as parameters and calls KMdiChildFrm::setGeometry.

Definition at line 319 of file kmdichildfrm.cpp.

QRect KMdiChildFrm::restoreGeometry | ( |  | ) | const

Returns the geometry that will be restored by calling restore().

Definition at line 673 of file kmdichildfrm.cpp.

void KMdiChildFrm::restorePressed | ( |  | ) |

protected slot

Handles a click on the Restore (Normalize) button.

Definition at line 458 of file kmdichildfrm.cpp.

void KMdiChildFrm::setCaption | ( | const QString & | text | ) |

Sets the caption of this window.

Definition at line 687 of file kmdichildfrm.cpp.

void KMdiChildFrm::setClient | ( | KMdiChildView * | w,
|  | bool | bAutomaticResize = `false`
| ) |  |

Reparents the widget w to this KMdiChildFrm (if this is not already done) Installs an event filter to catch focus events.

Resizes this mdi child in a way that the child fits perfectly in.

Definition at line 726 of file kmdichildfrm.cpp.

void KMdiChildFrm::setIcon | ( | const QPixmap & | pxm | ) |

Sets the window icon pointer.

Definition at line 702 of file kmdichildfrm.cpp.

void KMdiChildFrm::setMinimumSize | ( | int | minw,
|  | int | minh
| ) |  |

virtual

Sets the minimum size of the widget to w by h pixels.

It extends it's base clase method in a way that the minimum size of the child area will be set additionally if the view is maximized.

Definition at line 1217 of file kmdichildfrm.cpp.

void KMdiChildFrm::setResizeCursor | ( | int | resizeCorner | ) |

protected

Override the cursor appearance depending on the widget corner given as parameter.

Definition at line 227 of file kmdichildfrm.cpp.

void KMdiChildFrm::setRestoreGeometry | ( | const QRect & | newRestGeo | ) |

Sets the geometry that will be restored by calling restore().

Definition at line 680 of file kmdichildfrm.cpp.

void KMdiChildFrm::setState | ( | MdiWindowState | state,
|  | bool | bAnimate = `true`
| ) |  |

Minimizes, Maximizes, or restores the window.

Todo:
  : setting the maximum size doesn't work properly - fix this later m_pManager->setMaximumSize(pTopChild->maximumWidth(), pTopChild->maximumHeight());

Definition at line 511 of file kmdichildfrm.cpp.

void KMdiChildFrm::showSystemMenu | ( |  | ) |

protected slot

Shows a system menu for child frame windows.

Definition at line 1278 of file kmdichildfrm.cpp.

MdiWindowState KMdiChildFrm::state | ( |  | ) | const

inline

Returns the current state of the window.

Definition at line 240 of file kmdichildfrm.h.

void KMdiChildFrm::switchToMinimizeLayout | ( |  | ) |

protected virtual

That means to show a mini window showing the childframe's caption bar, only.

It cannot be resized.

Definition at line 1295 of file kmdichildfrm.cpp.

QPopupMenu * KMdiChildFrm::systemMenu | ( |  | ) | const

Returns the system menu.

Definition at line 1228 of file kmdichildfrm.cpp.

void KMdiChildFrm::undockPressed | ( |  | ) |

protected slot

Handles a click on the Undock (Detach) button.

Definition at line 499 of file kmdichildfrm.cpp.

QDict< QWidget::FocusPolicy > * KMdiChildFrm::unlinkChildren | ( |  | ) |

protected

Backups all focus policies of all child widgets in the MDI childview since they get lost during a reparent.

Remove all event filters for all direct child widgets of this. (See KMdiChildFrm::eventFilter)

Definition at line 933 of file kmdichildfrm.cpp.

void KMdiChildFrm::unsetClient | ( | QPoint | positionOffset = `QPoint( 0, 0 )` | ) |

Reparents the client widget to 0 (desktop), moves with an offset from the original position Removes the event filter.

Definition at line 812 of file kmdichildfrm.cpp.

void KMdiChildFrm::unsetResizeCursor | ( |  | ) |

protected

Changes from the resize cursor to the normal (previous) cursor.

Definition at line 260 of file kmdichildfrm.cpp.

void KMdiChildFrm::updateRects | ( |  | ) |

inline

Forces updating the rects of the caption and so...

It may be useful when setting the mdiCaptionFont of the MdiManager

Definition at line 261 of file kmdichildfrm.h.

## Member Data Documentation

QPopupMenu* KMdiChildFrm::m_pSystemMenu

protected

Imitates a system menu for child frame windows.

Definition at line 173 of file kmdichildfrm.h.

int KMdiChildFrm::m_windowMenuID

protected

Every child frame window has an temporary ID in the Window menu of the child area.

Definition at line 168 of file kmdichildfrm.h.

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

- kmdichildfrm.h
- kmdichildfrm.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys