164 #ifndef QT_NO_MDIAREA 166 #include <QApplication> 167 #include <QStylePainter> 168 #include <QVBoxLayout> 169 #include <QMouseEvent> 170 #include <QWhatsThis> 172 #include <QMainWindow> 173 #include <QScrollBar> 175 #include <QScopedValueRollback> 176 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 183 using namespace QMdi;
220 int delta,
int maxDelta,
int minDelta)
222 if (cflags & moveFlag) {
224 return (cflags & resizeFlag) ?
qMin(delta, maxDelta) : delta;
225 return (cflags & resizeFlag) ?
qMax(delta, minDelta) : delta;
231 uint resizeReverseFlag,
int delta)
233 if (cflags & resizeFlag) {
234 if (cflags & resizeReverseFlag)
246 if (qobject_cast<QMdiSubWindow *>(parent))
266 if (widget && widget->qt_metacast(
"ControlElement")
276 if (originalTitle.isNull()) {
277 originalTitle = q->window()->windowTitle();
278 if (originalTitle.isNull())
281 return originalTitle;
287 QString childTitle = q->windowTitle();
290 QString original = originalWindowTitle();
293 q->window()->setWindowTitle(
QMdiSubWindow::tr(
"%1 - [%2]").arg(original, childTitle));
296 q->window()->setWindowTitle(childTitle);
305 #if defined(Q_WS_WIN) 308 return qRgb(GetRValue(col),GetGValue(col),GetBValue(col));
312 #ifndef QT_NO_TOOLTIP 320 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 322 if (qobject_cast<QMacStyle *>(widget->
style()))
345 switch (subControl) {
380 #endif // QT_NO_TOOLTIP 437 #ifndef QT_NO_TOOLTIP 441 showToolTip(static_cast<QHelpEvent *>(event),
this, options,
550 initStyleOption(&opt);
561 activeControl(
QStyle::SC_None),
562 hoverControl(
QStyle::SC_None),
563 visibleControls(
QStyle::SC_None),
695 #ifndef QT_NO_TOOLTIP 702 #endif // QT_NO_TOOLTIP 745 #ifndef QT_NO_MENUBAR 754 #ifndef QT_NO_MENUBAR 760 #if defined(QT_NO_MAINWINDOW) 767 if (
QMainWindow *mainWindow = qobject_cast<QMainWindow *>(q->window()))
768 return mainWindow->menuBar();
797 currentRight->
hide();
804 mdiChild->d_func()->setNewWindowTitle();
827 if (!ce->mdiChild || !ce->mdiChild->isMaximized())
830 child = ce->mdiChild;
845 if (!ce->mdiChild || !ce->mdiChild->isMaximized())
861 child->d_func()->setNewWindowTitle();
866 #endif // QT_NO_MENUBAR 879 restoreFocusWidget(0),
887 userMinimumSize(0,0),
890 isInInteractiveMode(false),
892 isInRubberBandMode(false),
895 ignoreWindowTitleChange(false),
896 ignoreNextActivationEvent(false),
897 activationEnabled(true),
898 isShadeRequestFromMinimizeMode(false),
899 isMaximizeMode(false),
900 isWidgetHiddenByUs(false),
902 isExplicitlyDeactivated(false),
903 keyboardSingleStep(5),
904 keyboardPageStep(20),
906 currentOperation(
None),
907 hoveredSubControl(
QStyle::SC_None),
908 activeSubControl(
QStyle::SC_None),
921 if (
QAction *senderAction = qobject_cast<QAction *>(q->sender())) {
922 if (senderAction->isChecked()) {
930 #endif // QT_NO_ACTION 951 int x = q->isLeftToRight() ? q->width() - offset : offset;
952 pressPos =
QPoint(x, q->height() - offset);
959 q->cursor().setPos(q->mapToGlobal(pressPos));
965 #ifndef QT_NO_RUBBERBAND 971 #endif // QT_NO_RUBBERBAND 975 #endif // QT_NO_ACTION 998 #ifndef QT_NO_RUBBERBAND 1028 q->setWindowModified(
false);
1063 Q_ASSERT_X(q,
"QMdiSubWindowPrivate::createSystemMenu",
1064 "You can NOT call this function before QMdiSubWindow's ctor");
1066 const QStyle *style = q->style();
1081 #if !defined(QT_NO_SHORTCUT) 1093 #ifndef QT_NO_CURSOR 1095 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 1096 if (qobject_cast<QMacStyle *>(q->style()))
1135 ? q->minimumSize() : q->minimumSizeHint();
1136 int margin, minWidth;
1139 if (q->isMaximized() || (q->isMinimized() && !q->isShaded())) {
1158 if (!q->mask().isEmpty())
1174 q->setMask(frameMask.
region);
1193 if (restrictHorizontal || restrictVertical) {
1194 QRect parentRect = q->parentWidget()->rect();
1200 if (restrictHorizontal)
1202 if (restrictVertical)
1205 if (restrictHorizontal) {
1229 geometry.
setTopLeft(q->geometry().topLeft());
1239 geometry.
setSize(q->geometry().size());
1259 #ifndef QT_NO_ACTION 1285 #ifndef QT_NO_MENUBAR 1291 const bool wasVisible = q->isVisible();
1293 q->setVisible(
false);
1310 q->setGeometry(newGeometry);
1313 q->setVisible(
true);
1319 #ifndef QT_NO_SIZEGRIP 1323 #ifndef QT_NO_ACTION 1329 #endif // QT_NO_ACTION 1359 #ifndef QT_NO_SIZEGRIP 1372 const bool wasVisible = q->isVisible();
1374 q->setVisible(
false);
1385 #ifndef QT_NO_MENUBAR 1402 const int xOffset = hbar ? hbar->
value() : 0;
1403 const int yOffset = vbar ? vbar->
value() : 0;
1404 availableRect.
adjust(-xOffset, -yOffset, -xOffset, -yOffset);
1413 q->setVisible(
true);
1418 #ifndef QT_NO_ACTION 1424 #endif // QT_NO_ACTION 1442 if (activate && !
isActive && q->isEnabled()) {
1445 Qt::WindowStates oldWindowState = q->windowState();
1447 emit q->aboutToActivate();
1448 #ifndef QT_NO_MENUBAR 1453 emit q->windowStateChanged(oldWindowState, q->windowState());
1454 }
else if (!activate &&
isActive) {
1456 Qt::WindowStates oldWindowState = q->windowState();
1460 if (focusWidget && (focusWidget == q || q->
isAncestorOf(focusWidget)))
1466 emit q->windowStateChanged(oldWindowState, q->windowState());
1469 if (activate &&
isActive && q->isEnabled() && !q->hasFocus()
1478 QRegion windowDecoration =
QRegion(0, 0, q->width(), q->height());
1479 windowDecoration -=
QRegion(frameWidth, titleBarHeight, q->width() - 2 * frameWidth,
1480 q->height() - titleBarHeight - frameWidth);
1490 q->update(windowDecoration);
1501 #ifndef QT_NO_WHATSTHIS 1515 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 1516 if (qobject_cast<QMacStyle *>(q->style())) {
1517 if (q->isMinimized())
1532 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 1533 if (qobject_cast<QMacStyle *>(q->style())) {
1534 if (q->isMaximized())
1557 int width = q->width();
1558 int height = q->height();
1561 int cornerConst = titleBarHeight - frameWidth;
1564 if (operation ==
Move) {
1566 QRegion move(frameWidth, frameWidth, width - 2 * frameWidth, cornerConst);
1579 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 1580 if (qobject_cast<QMacStyle *>(q->style()))
1584 switch (operation) {
1586 region =
QRegion(titleBarHeight, 0, width - titleBarConst, frameWidth);
1589 region =
QRegion(titleBarHeight, height - frameWidth, width - titleBarConst, frameWidth);
1592 region =
QRegion(0, titleBarHeight, frameWidth, height - titleBarConst);
1595 region =
QRegion(width - frameWidth, titleBarHeight, frameWidth, height - titleBarConst);
1598 region =
QRegion(0, 0, titleBarHeight, titleBarHeight)
1599 -
QRegion(frameWidth, frameWidth, cornerConst, cornerConst);
1602 region =
QRegion(width - titleBarHeight, 0, titleBarHeight, titleBarHeight)
1603 -
QRegion(width - titleBarHeight, frameWidth, cornerConst, cornerConst);
1606 region =
QRegion(0, height - titleBarHeight, titleBarHeight, titleBarHeight)
1607 -
QRegion(frameWidth, height - titleBarHeight, cornerConst, cornerConst);
1610 region =
QRegion(width - titleBarHeight, height - titleBarHeight, titleBarHeight, titleBarHeight)
1611 -
QRegion(width - titleBarHeight, height - titleBarHeight, cornerConst, cornerConst);
1627 if (it.value().region.contains(pos))
1652 titleBarOptions.
state &= ~
QStyle::State_MouseOver;
1671 int border =
hasBorder(titleBarOptions) ? 4 : 0;
1673 paintHeight -= q->isMinimized() ? 2 * border : border;
1674 titleBarOptions.
rect =
QRect(border, border, q->width() - 2 * border, paintHeight);
1695 Qt::WindowStates windowStates = q->windowState() | state;
1718 q->overrideWindowState(windowStates);
1733 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 1735 if (qobject_cast<QMacStyle *>(q->style()))
1739 height += q->isMinimized() ? 8 : 4;
1749 Qt::WindowFlags flags = q->windowFlags();
1771 tempWidth += rect.
width();
1773 *minWidth = tempWidth;
1788 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) || defined(Q_WS_WINCE_WM) 1793 #if defined(QT_NO_MENUBAR) || defined(QT_NO_MAINWINDOW) 1797 if (!mainWindow || !qobject_cast<QMenuBar *>(mainWindow->
menuWidget())
1806 #ifndef QT_NO_MENUBAR 1831 int buttonHeight = 0;
1838 if (menuBar && menuBar->
height() < buttonHeight
1839 && topLevelWindow->
layout()) {
1858 #ifndef QT_NO_MAINWINDOW 1859 if (
QMainWindow *mainWindow = qobject_cast<QMainWindow *>(q->window())) {
1868 ignoreWindowTitleChange =
false;
1877 #endif // QT_NO_MENUBAR 1888 if (isRequestFromChild)
1897 if (q->maximizedButtonsWidget())
1902 #ifndef QT_NO_RUBBERBAND 1906 if (q->isMaximized())
1934 #endif // QT_NO_RUBBERBAND 1940 QPalette newPalette = q->palette();
1942 bool colorsInitialized =
false;
1943 #ifdef Q_WS_WIN // ask system properties on windows 1944 #ifndef SPI_GETGRADIENTCAPTIONS 1945 #define SPI_GETGRADIENTCAPTIONS 0x1008 1947 #ifndef COLOR_GRADIENTACTIVECAPTION 1948 #define COLOR_GRADIENTACTIVECAPTION 27 1950 #ifndef COLOR_GRADIENTINACTIVECAPTION 1951 #define COLOR_GRADIENTINACTIVECAPTION 28 1963 colorsInitialized =
true;
1964 BOOL hasGradient =
false;
1980 if (!colorsInitialized) {
1998 Qt::WindowFlags windowFlags = q_func()->windowFlags();
2039 q->focusNextChild();
2045 q->focusPreviousChild();
2050 if (!focusWidget->hasFocus() && q->isAncestorOf(focusWidget)
2051 && focusWidget->isVisible() && !q->isMinimized()
2053 focusWidget->setFocus();
2067 else if (!q->hasFocus())
2091 q->setWindowFlags(windowFlags);
2100 if (!(windowFlags & CustomizeWindowFlags))
2107 windowFlags &= ~windowType;
2110 #ifndef QT_NO_ACTION 2112 if (windowFlags & Qt::WindowStaysOnTopHint)
2113 stayOnTopAction->setChecked(
true);
2115 stayOnTopAction->setChecked(
false);
2119 #ifndef QT_NO_SIZEGRIP 2120 if ((windowFlags & Qt::FramelessWindowHint) &&
sizeGrip)
2127 QSize currentSize = q->size();
2136 #ifndef QT_NO_ACTION 2147 ctrlWidget->setControlVisible(action, visible);
2151 #ifndef QT_NO_ACTION 2167 #endif // QT_NO_ACTION 2176 return QSize(-1, -1);
2180 #ifndef QT_NO_SIZEGRIP 2194 bool putSizeGripInLayout =
layout ? true :
false;
2195 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 2196 if (qobject_cast<QMacStyle *>(q->style()))
2197 putSizeGripInLayout =
false;
2199 if (putSizeGripInLayout) {
2204 newSizeGrip->
move(q->isLeftToRight() ? q->width() - newSizeGrip->
width() : 0,
2205 q->height() - newSizeGrip->
height());
2208 newSizeGrip->
raise();
2224 #endif // QT_NO_SIZEGRIP 2232 if (q->isWindowModified()) {
2263 d->createSystemMenu();
2266 d->setWindowFlags(flags);
2273 d->updateGeometryConstraints();
2275 d->titleBarPalette =
d->desktopPalette();
2296 #ifndef QT_NO_MENUBAR 2297 d->removeButtonsFromMenuBar();
2299 d->setActive(
false);
2317 d->removeBaseWidget();
2321 if (widget ==
d->baseWidget) {
2322 qWarning(
"QMdiSubWindow::setWidget: widget is already set");
2327 d->removeBaseWidget();
2334 #ifndef QT_NO_SIZEGRIP 2339 d->sizeGrip->raise();
2343 d->baseWidget->installEventFilter(
this);
2345 d->ignoreWindowTitleChange =
true;
2348 d->updateWindowTitle(
true);
2349 isWindowModified =
d->baseWidget->isWindowModified();
2355 d->lastChildWindowTitle =
d->baseWidget->windowTitle();
2356 d->ignoreWindowTitleChange =
false;
2361 d->updateGeometryConstraints();
2373 return d_func()->baseWidget;
2385 return d->controlContainer->controllerWidget();
2398 return d->controlContainer->systemMenuLabel();
2411 return d_func()->isShadeMode;
2423 if (on && !(
d->options & option))
2424 d->options |= option;
2425 else if (!on && (
d->options & option))
2426 d->options &= ~option;
2428 #ifndef QT_NO_RUBBERBAND 2430 d->leaveRubberBandMode();
2441 return d_func()->options & option;
2463 return d_func()->keyboardSingleStep;
2471 d_func()->keyboardSingleStep = step;
2493 return d_func()->keyboardPageStep;
2501 d_func()->keyboardPageStep = step;
2525 if (systemMenu && systemMenu ==
d->systemMenu) {
2526 qWarning(
"QMdiSubWindow::setSystemMenu: system menu is already set");
2530 if (
d->systemMenu) {
2531 delete d->systemMenu;
2538 if (systemMenu->
parent() !=
this)
2552 return d_func()->systemMenu;
2569 globalPopupPos = icon->mapToGlobal(
QPoint(0, icon->y() + icon->height()));
2571 globalPopupPos = icon->mapToGlobal(
QPoint(icon->width(), icon->y() + icon->height()));
2581 globalPopupPos -=
QPoint(
d->systemMenu->sizeHint().width(), 0);
2582 d->systemMenu->installEventFilter(
this);
2583 d->systemMenu->popup(globalPopupPos);
2585 #endif // QT_NO_MENU 2601 if (
QMdiArea *
area = qobject_cast<QMdiArea *>(parent)) {
2630 if (!
d->isShadeRequestFromMinimizeMode &&
isShaded())
2633 d->isMaximizeMode =
false;
2636 if (!
d->restoreFocusWidget &&
isAncestorOf(currentFocusWidget))
2637 d->restoreFocusWidget = currentFocusWidget;
2639 if (!
d->isShadeRequestFromMinimizeMode) {
2640 d->isShadeMode =
true;
2644 #ifndef QT_NO_MENUBAR 2645 d->removeButtonsFromMenuBar();
2654 #ifndef QT_NO_SIZEGRIP 2655 d->setSizeGripVisible(
false);
2658 if (!
d->restoreSize.isValid() ||
d->isShadeMode) {
2660 d->restoreSize.setWidth(
d->oldGeometry.width());
2661 d->restoreSize.setHeight(
d->oldGeometry.height());
2670 d->updateGeometryConstraints();
2676 resize(
d->internalMinimumSize);
2679 if (
d->baseWidget && !
d->baseWidget->isHidden()) {
2680 d->baseWidget->hide();
2681 d->isWidgetHiddenByUs =
true;
2687 d->setFocusWidget();
2688 d->resizeEnabled =
false;
2689 d->moveEnabled =
true;
2690 d->updateDirtyRegions();
2693 #ifndef QT_NO_ACTION 2713 if (
d->systemMenu &&
d->systemMenu ==
object) {
2720 d->systemMenu->removeEventFilter(
this);
2728 #ifndef QT_NO_SIZEGRIP 2729 if (
object !=
d->baseWidget &&
parent() && qobject_cast<QSizeGrip *>(
object)) {
2737 #ifndef QT_NO_RUBBERBAND 2738 d->enterRubberBandMode();
2747 switch (event->
type()) {
2752 if (!
d->isWidgetHiddenByUs)
2759 Qt::WindowStates oldState = changeEvent->
oldState();
2760 Qt::WindowStates newState =
d->baseWidget->windowState();
2765 else if (!(newState & (Qt::WindowMaximized | Qt::WindowMinimized)))
2774 d->updateGeometryConstraints();
2777 if (
d->ignoreWindowTitleChange)
2779 if (
object ==
d->baseWidget) {
2780 d->updateWindowTitle(
true);
2781 d->lastChildWindowTitle =
d->baseWidget->windowTitle();
2782 #ifndef QT_NO_MENUBAR 2786 if (
d->baseWidget &&
d->baseWidget->windowTitle() ==
windowTitle())
2787 d->updateWindowTitle(
true);
2789 d->updateWindowTitle(
false);
2794 if (
object !=
d->baseWidget)
2797 if (!windowModified &&
d->baseWidget->windowTitle() !=
windowTitle())
2815 switch (event->
type()) {
2822 d->activationEnabled =
false;
2826 if (wasMinimized || wasMaximized || wasShaded)
2828 d->updateGeometryConstraints();
2829 resize(
d->internalMinimumSize.expandedTo(
size()));
2831 d->updateDirtyRegions();
2834 else if (wasMinimized)
2836 else if (wasMaximized)
2841 d->setActive(
false);
2845 #ifndef QT_NO_MENUBAR 2846 d->removeButtonsFromMenuBar();
2851 #ifndef QT_NO_RUBBERBAND 2852 if (
d->isInRubberBandMode)
2853 d->leaveRubberBandMode();
2855 d->isShadeMode =
false;
2856 d->isMaximizeMode =
false;
2857 d->isWidgetHiddenByUs =
false;
2859 #if !defined(QT_NO_SIZEGRIP) && defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 2860 if (qobject_cast<QMacStyle *>(
style()))
2869 d->updateGeometryConstraints();
2872 d->updateDirtyRegions();
2879 if (
d->ignoreNextActivationEvent) {
2880 d->ignoreNextActivationEvent =
false;
2883 d->isExplicitlyDeactivated =
false;
2887 if (
d->ignoreNextActivationEvent) {
2888 d->ignoreNextActivationEvent =
false;
2891 d->isExplicitlyDeactivated =
true;
2892 d->setActive(
false);
2895 if (!
d->ignoreWindowTitleChange)
2896 d->updateWindowTitle(
false);
2897 d->updateInternalWindowTitle();
2902 #ifndef QT_NO_MENUBAR 2907 #endif // QT_NO_MENUBAR 2908 d->updateInternalWindowTitle();
2911 d->updateDirtyRegions();
2914 d->updateGeometryConstraints();
2918 if (
d->menuIcon.isNull())
2920 if (
d->controlContainer)
2921 d->controlContainer->updateWindowIcon(
d->menuIcon);
2926 d->titleBarPalette =
d->desktopPalette();
2931 #ifndef QT_NO_TOOLTIP 2933 showToolTip(static_cast<QHelpEvent *>(event),
this,
d->titleBarOptions(),
2954 #if !defined(QT_NO_SIZEGRIP) && defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 2955 if (qobject_cast<QMacStyle *>(
style()) && !
d->sizeGrip
2960 d->setSizeGripVisible(
false);
2962 d->setSizeGripVisible(
true);
2963 resize(
size().expandedTo(
d->internalMinimumSize));
2967 d->updateDirtyRegions();
2970 #ifndef QT_NO_MENUBAR 2971 if (
d->controlContainer) {
2974 d->showButtonsInMenuBar(menuBar);
2986 #ifndef QT_NO_MENUBAR 2987 d_func()->removeButtonsFromMenuBar();
3007 if (
event->isOverride()) {
3012 Qt::WindowStates oldState =
event->oldState();
3014 if (oldState == newState) {
3028 if (!
d->oldGeometry.isValid())
3035 d->setMinimizeMode();
3037 d->setMaximizeMode();
3038 else if (!(newState & (Qt::WindowMaximized | Qt::WindowMinimized)))
3042 d->ensureWindowState(Qt::WindowActive);
3043 if (
d->activationEnabled)
3053 bool acceptClose =
true;
3055 acceptClose =
d->baseWidget->close();
3060 #ifndef QT_NO_MENUBAR 3061 d->removeButtonsFromMenuBar();
3063 d->setActive(
false);
3089 #ifndef QT_NO_SIZEGRIP 3092 height() -
d->sizeGrip->height());
3101 if (
d->isMaximizeMode)
3108 if (
d->resizeTimerId <= 0)
3109 d->cachedStyleOptions =
d->titleBarOptions();
3121 if (timerEvent->
timerId() ==
d->resizeTimerId) {
3123 d->resizeTimerId = -1;
3124 d->updateDirtyRegions();
3139 if (
d->isMaximizeMode)
3157 if (
d->resizeTimerId != -1) {
3159 int border =
d->hasBorder(
d->cachedStyleOptions) ? 4 : 0;
3160 int titleBarHeight =
d->titleBarHeight(
d->cachedStyleOptions);
3161 titleBarHeight -=
isMinimized() ? 2 * border : border;
3162 d->cachedStyleOptions.rect =
QRect(border, border,
width() - 2 * border, titleBarHeight);
3163 if (!
d->windowTitle.isEmpty()) {
3166 d->cachedStyleOptions.text =
d->cachedStyleOptions.fontMetrics
3171 d->cachedStyleOptions =
d->titleBarOptions();
3175 if (!
d->windowTitle.isEmpty())
3192 painter.
setClipRect(
rect().adjusted(0,
d->titleBarHeight(
d->cachedStyleOptions), 0, 0));
3208 if (
d->isInInteractiveMode)
3209 d->leaveInteractiveMode();
3210 #ifndef QT_NO_RUBBERBAND 3211 if (
d->isInRubberBandMode)
3212 d->leaveRubberBandMode();
3223 if (
d->resizeEnabled ||
d->moveEnabled)
3225 #ifndef QT_NO_RUBBERBAND 3228 d->enterRubberBandMode();
3234 d->activeSubControl =
d->hoveredSubControl;
3259 if (!
d->isMoveOperation()) {
3305 #ifndef QT_NO_RUBBERBAND 3306 if (
d->isInRubberBandMode && !
d->isInInteractiveMode)
3307 d->leaveRubberBandMode();
3309 if (
d->resizeEnabled ||
d->moveEnabled)
3313 d->currentOperation =
d->getOperation(mouseEvent->
pos());
3316 d->hoveredSubControl =
d->getSubControl(mouseEvent->
pos());
3318 &&
d->activeSubControl ==
d->hoveredSubControl) {
3319 d->processClickedSubControl();
3337 if (!
d->isMoveOperation() && !
d->isResizeOperation()) {
3341 d->hoveredSubControl =
d->getSubControl(mouseEvent->
pos());
3345 if (
isHoverControl(
d->hoveredSubControl) &&
d->hoveredSubControl != oldHover) {
3347 d->hoveredSubControl,
this);
3349 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 3350 if (qobject_cast<QMacStyle *>(
style()) && !hoverRegion.
isEmpty())
3351 hoverRegion +=
QRegion(0, 0,
width(),
d->titleBarHeight(options));
3358 if ((
d->isResizeOperation() &&
d->resizeEnabled) || (
d->isMoveOperation() &&
d->moveEnabled))
3364 d->currentOperation =
d->getOperation(mouseEvent->
pos());
3365 if ((
d->isResizeOperation() && !
d->resizeEnabled) || (
d->isMoveOperation() && !
d->moveEnabled))
3376 if (!
d->isInInteractiveMode || !
parent()) {
3382 switch (keyEvent->
key()) {
3385 delta =
QPoint(
d->keyboardPageStep, 0);
3387 delta =
QPoint(
d->keyboardSingleStep, 0);
3391 delta =
QPoint(0, -
d->keyboardPageStep);
3393 delta =
QPoint(0, -
d->keyboardSingleStep);
3397 delta =
QPoint(-
d->keyboardPageStep, 0);
3399 delta =
QPoint(-
d->keyboardSingleStep, 0);
3403 delta =
QPoint(0,
d->keyboardPageStep);
3405 delta =
QPoint(0,
d->keyboardSingleStep);
3410 d->leaveInteractiveMode();
3417 #ifndef QT_NO_CURSOR 3420 #ifndef QT_NO_RUBBERBAND 3421 d->isInRubberBandMode ?
d->rubberBand->geometry() :
3424 d->setNewGeometry(newPosition);
3425 QRect currentGeometry =
3426 #ifndef QT_NO_RUBBERBAND 3427 d->isInRubberBandMode ?
d->rubberBand->geometry() :
3430 if (currentGeometry == oldGeometry)
3436 if (
d->isMoveOperation()) {
3437 actualDelta =
QPoint(currentGeometry.
x() - oldGeometry.
x(),
3438 currentGeometry.
y() - oldGeometry.
y());
3441 : currentGeometry.
x() - oldGeometry.
x();
3446 if (actualDelta != delta)
3447 newPosition += (actualDelta - delta);
3452 #ifndef QT_NO_CONTEXTMENU 3459 if (!
d->systemMenu) {
3460 contextMenuEvent->
ignore();
3466 d->systemMenu->exec(contextMenuEvent->
globalPos());
3468 contextMenuEvent->
ignore();
3471 #endif // QT_NO_CONTEXTMENU 3478 d_func()->focusInReason = focusInEvent->
reason();
3496 #ifndef QT_NO_SIZEGRIP 3497 if (
QSizeGrip *sizeGrip = qobject_cast<QSizeGrip *>(childEvent->
child()))
3498 d_func()->setSizeGrip(sizeGrip);
3508 int margin, minWidth;
3509 d->sizeParameters(&margin, &minWidth);
3510 QSize size(2 * margin,
d->titleBarHeight() + margin);
3511 if (
d->baseWidget &&
d->baseWidget->sizeHint().isValid())
3512 size +=
d->baseWidget->sizeHint();
3527 return d->iconSize();
3530 int margin, minWidth;
3531 d->sizeParameters(&margin, &minWidth);
3532 int decorationHeight = margin +
d->titleBarHeight();
3533 int minHeight = decorationHeight;
3542 if (minLayoutSize.
isValid()) {
3543 minWidth =
qMax(minWidth, minLayoutSize.
width() + 2 * margin);
3544 minHeight += minLayoutSize.
height();
3546 }
else if (
d->baseWidget &&
d->baseWidget->isVisible()) {
3547 QSize minBaseWidgetSize =
d->baseWidget->minimumSizeHint();
3548 if (minBaseWidgetSize.
isValid()) {
3549 minWidth =
qMax(minWidth, minBaseWidgetSize.
width() + 2 * margin);
3550 minHeight += minBaseWidgetSize.
height();
3554 #ifndef QT_NO_SIZEGRIP 3556 int sizeGripHeight = 0;
3557 if (
d->sizeGrip &&
d->sizeGrip->isVisibleTo(const_cast<QMdiSubWindow *>(
this)))
3558 sizeGripHeight =
d->sizeGrip->height();
3559 #if defined(Q_WS_MAC) && !defined(QT_NO_STYLE_MAC) 3560 else if (
parent() && qobject_cast<QMacStyle *>(
style()) && !
d->sizeGrip)
3563 minHeight =
qMax(minHeight, decorationHeight + sizeGripHeight);
3571 #include "moc_qmdisubwindow.cpp" 3572 #include "qmdisubwindow.moc" 3574 #endif //QT_NO_MDIAREA
T qobject_cast(QObject *object)
int startTimer(int interval)
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer...
QBool contains(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
The QPainter class performs low-level painting on widgets and other paint devices.
void mouseMoveEvent(QMouseEvent *mouseEvent)
Reimplemented Function
ControlLabel(QMdiSubWindow *subWindow, QWidget *parent=0)
Qt::WindowStates oldState() const
Returns the state of the window before the change.
void windowStateChanged(Qt::WindowStates oldState, Qt::WindowStates newState)
QMdiSubWindow emits this signal after the window state changes.
static int getResizeDeltaComponent(uint cflags, uint resizeFlag, uint resizeReverseFlag, int delta)
void enterRubberBandMode()
The QKeyEvent class describes a key event.
SubControl
This enum describes the available sub controls.
static bool isChildOfTabbedQMdiArea(const QMdiSubWindow *child)
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
static const Qt::WindowFlags CustomizeWindowFlags
The QFontMetrics class provides font metrics information.
QString qt_setWindowTitle_helperHelper(const QString &, const QWidget *)
Returns a modified window title with the [*] place holder replaced according to the rules described i...
void setSizeGrip(QSizeGrip *sizeGrip)
void leaveRubberBandMode()
void processClickedSubControl()
#define QT_END_NAMESPACE
This macro expands to.
The QSizeGrip class provides a resize handle for resizing top-level windows.
QPointer< QWidget > widget
void mouseReleaseEvent(QMouseEvent *mouseEvent)
This event handler, for event event, can be reimplemented in a subclass to receive mouse release even...
QSize size() const
Returns the size of the pixmap.
void resizeEvent(QResizeEvent *resizeEvent)
Reimplemented Function
void leaveEvent(QEvent *leaveEvent)
Reimplemented Function
static void keyEvent(KeyAction action, QWidget *widget, char ascii, Qt::KeyboardModifiers modifier=Qt::NoModifier, int delay=-1)
QPointer< QWidget > restoreFocusWidget
void updateDirtyRegions()
void hideEvent(QHideEvent *hideEvent)
Reimplemented Function
QString lastChildWindowTitle
QStyle::State state
the style flags that are used when drawing the control
#define it(className, varName)
static const int NumSubControls
virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget=0) const =0
Returns the rectangle containing the specified subControl of the given complex control (with the styl...
static QSize globalStrut()
virtual int pixelMetric(PixelMetric metric, const QStyleOption *option=0, const QWidget *widget=0) const =0
Returns the value of the given pixel metric.
QIcon icon
the icon for the title bar
ComplexControl
This enum describes the available complex controls.
QString & replace(int i, int len, QChar after)
QPointer< QMdiSubWindow > mdiChild
void setClipRect(const QRectF &, Qt::ClipOperation op=Qt::ReplaceClip)
Enables clipping, and sets the clip region to the given rectangle using the given clip operation...
QSize sizeHint() const
Reimplemented Function
void mouseDoubleClickEvent(QMouseEvent *mouseEvent)
Reimplemented Function
void changeEvent(QEvent *changeEvent)
Reimplemented Function
QMenu * systemMenu() const
Returns a pointer to the current system menu, or zero if no system menu is set.
void removeEventFilter(QObject *)
Removes an event filter object obj from this object.
The QStyleOptionTitleBar class is used to describe the parameters for drawing a title bar...
void updateInternalWindowTitle()
static void showToolTip(QHelpEvent *helpEvent, QWidget *widget, const QStyleOptionComplex &opt, QStyle::ComplexControl complexControl, QStyle::SubControl subControl)
int titleBarHeight() const
QSize expandedTo(const QSize &) const
Returns a size holding the maximum width and height of this size and the given otherSize.
void showSystemMenu()
Shows the system menu below the system menu icon in the title bar.
void removeButtonsFromMenuBar()
void setKeyboardSingleStep(int step)
int width() const
Returns the width of the rectangle.
void showShaded()
Calling this function makes the subwindow enter the shaded mode.
void setSystemMenu(QMenu *systemMenu)
Sets systemMenu as the current system menu for this subwindow.
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
ControlContainer(QMdiSubWindow *mdiChild)
QString text
the text of the title bar
QStyle::SubControls activeSubControls
This variable holds a bitwise OR of the sub-controls that are active for the complex control...
iterator find(const Key &key)
Returns an iterator pointing to the item with key key in the map.
void setOption(SubWindowOption option, bool on=true)
If on is true, option is enabled on the subwindow; otherwise it is disabled.
QStyleOptionTitleBar cachedStyleOptions
int height() const
Returns the height of the rectangle.
QPointer< QWidget > m_controllerWidget
QMdiSubWindow(QWidget *parent=0, Qt::WindowFlags flags=0)
Constructs a new QMdiSubWindow widget.
The QString class provides a Unicode character string.
QFontMetrics fontMetrics
the font metrics that should be used when drawing text in the control
void setHeight(int h)
Sets the height to the given height.
T * qobject_cast(QObject *object)
void _q_processFocusChanged(QWidget *old, QWidget *now)
static void setPos(int x, int y)
Moves the cursor (hot spot) to the global screen position (x, y).
void sizeParameters(int *margin, int *minWidth) const
The QObject class is the base class of all Qt objects.
const QColor & color(ColorGroup cg, ColorRole cr) const
Returns the color in the specified color group, used for the given color role.
QMdiSubWindow::SubWindowOptions options
void keyPressEvent(QKeyEvent *keyEvent)
Reimplemented Function
static const QStyle::StandardPixmap ButtonPixmaps[]
QRegion getRegion(Operation operation) const
void childEvent(QChildEvent *childEvent)
Reimplemented Function
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags=0) const
If the string text is wider than width, returns an elided version of the string (i.
bool isShadeRequestFromMinimizeMode
QSize internalMinimumSize
QString originalWindowTitle()
StandardPixmap
This enum describes the available standard pixmaps.
const QPoint & pos() const
Returns the position of the mouse cursor, relative to the widget that received the event...
void setObjectName(const QString &name)
void mouseReleaseEvent(QMouseEvent *mouseEvent)
Reimplemented Function
static QFont font()
Returns the default application font.
void setVisible(WindowStateAction, bool visible=true)
bool event(QEvent *event)
This is the main event handler; it handles event event.
QPointer< QMenuBar > m_menuBar
void setWidth(int w)
Sets the width to the given width.
~QMdiSubWindow()
Destroys the subwindow.
Qt::KeyboardModifiers modifiers() const
Returns the keyboard modifier flags that existed immediately after the event occurred.
void setCurrentColorGroup(ColorGroup cg)
Set the palette's current color group to cg.
int key() const
Returns the code of the key that was pressed or released.
int lineWidth
the line width for drawing the frame
int width() const
Returns the width.
Operation currentOperation
void addToSystemMenu(WindowStateAction, const QString &text, const char *slot)
QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option=0, const QWidget *widget=0) const
Returns an icon for the given standardIcon.
#define QT_BEGIN_NAMESPACE
This macro expands to.
void setGeometry(const QRect &r)
Sets the geometry of the rubber band to rect, specified in the coordinate system of its parent widget...
void ensureWindowState(Qt::WindowState state)
The QMoveEvent class contains event parameters for move events.
static bool isEmpty(const char *str)
void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &opt)
Use the widget's style to draw a primitive element pe specified by QStyleOption option.
void paintEvent(QPaintEvent *paintEvent)
Reimplemented Function
void setKeyboardPageStep(int step)
bool isExplicitlyDeactivated
QWidget * widget() const
Returns the current internal widget.
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
virtual int indexOf(QWidget *) const
Searches for widget widget in this layout (not including child layouts).
void updateWindowTitle(bool requestFromChild)
void setSizeGripVisible(bool visible=true) const
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
bool isEmpty() const
Returns true if the region is empty; otherwise returns false.
#define SPI_GETGRADIENTCAPTIONS
void initFrom(const QWidget *w)
The QLayout class is the base class of geometry managers.
QSize size() const
Returns the size of the rectangle.
The QMdiArea widget provides an area in which MDI windows are displayed.
bool isNull() const
Returns true if the icon is empty; otherwise returns false.
The QHideEvent class provides an event which is sent after a widget is hidden.
void adjust(int x1, int y1, int x2, int y2)
Adds dx1, dy1, dx2 and dy2 respectively to the existing coordinates of the rectangle.
void paintEvent(QPaintEvent *paintEvent)
This event handler can be reimplemented in a subclass to receive paint events passed in event...
void showButtonsInMenuBar(QMenuBar *menuBar)
static ControlElement< T > * ptr(QWidget *widget)
bool testOption(SubWindowOption) const
Returns true if option is enabled; otherwise returns false.
The QResizeEvent class contains event parameters for resize events.
void _q_enterInteractiveMode()
Q_CORE_EXPORT void qWarning(const char *,...)
void setSize(const QSize &s)
Sets the size of the rectangle to the given size.
int timerId() const
Returns the unique timer identifier, which is the same identifier as returned from QObject::startTime...
QPointer< QWidget > m_menuLabel
The QStyleOptionFrame class is used to describe the parameters for drawing a frame.
static const char * data(const QByteArray &arr)
T findChild(const QString &aName=QString()) const
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object.
void setTopLeft(const QPoint &p)
Set the top-left corner of the rectangle to the given position.
QPointer< QMdi::ControlContainer > controlContainer
static bool sendEvent(QObject *receiver, QEvent *event)
Sends event event directly to receiver receiver, using the notify() function.
bool isShaded() const
Returns true if this window is shaded; otherwise returns false.
QWidget * menuWidget() const
Returns the menu bar for the main window.
The QRegion class specifies a clip region for a painter.
QPointer< QWidget > previousRight
QList< Key > keys() const
Returns a list containing all the keys in the map in ascending order.
static const int BoundaryMargin
virtual void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *widget=0) const =0
Draws the given control using the provided painter with the style options specified by option...
#define COLOR_GRADIENTACTIVECAPTION
The QShowEvent class provides an event that is sent when a widget is shown.
void _q_updateStaysOnTopHint()
const_iterator constBegin() const
Returns a const STL-style iterator pointing to the first item in the map.
QStyleOptionTitleBar titleBarOptions() const
Qt::MouseButton button() const
Returns the button that caused the event.
void updateWindowIcon(const QIcon &windowIcon)
QPointer< QWidget > baseWidget
void setShortcuts(const QList< QKeySequence > &shortcuts)
Sets shortcuts as the list of shortcuts that trigger the action.
virtual bool eventFilter(QObject *, QEvent *)
Filters events if this object has been installed as an event filter for the watched object...
The QMouseEvent class contains parameters that describe a mouse event.
static bool isHoverControl(QStyle::SubControl control)
QPointer< QWidget > previousLeft
void leaveInteractiveMode()
void closeEvent(QCloseEvent *closeEvent)
Reimplemented Function
The QChildEvent class contains event parameters for child object events.
virtual QSize sizeFromContents(ContentsType ct, const QStyleOption *opt, const QSize &contentsSize, const QWidget *w=0) const =0
Returns the size of the element described by the specified option and type, based on the provided con...
QPalette palette
the palette that should be used when painting the control
void setNewGeometry(const QPoint &pos)
bool event(QEvent *event)
Reimplemented Function
The QStyleHintReturnMask class provides style hints that return a QRegion.
#define Q_ASSERT_X(cond, where, what)
const_iterator constEnd() const
Returns a const STL-style iterator pointing to the imaginary item after the last item in the map...
QString arg(qlonglong a, int fieldwidth=0, int base=10, const QChar &fillChar=QLatin1Char(' ')) const Q_REQUIRED_RESULT
bool drawTitleBarWhenMaximized() const
QMenuBar * menuBar() const
The QScopedValueRollback class resets a variable to its previous value on destruction.
Qt::FocusReason focusInReason
Qt::MouseButtons buttons() const
Returns the button state when the event was generated.
#define COLOR_GRADIENTINACTIVECAPTION
The QWindowStateChangeEvent class provides the window state before a window state change...
QMenuBar * menuBar() const
static const int NumButtonPixmaps
QMdiArea * mdiArea() const
Returns the area containing this sub-window, or 0 if there is none.
The QTimerEvent class contains parameters that describe a timer event.
bool hasBorder(const QStyleOptionTitleBar &options) const
void focusOutEvent(QFocusEvent *focusOutEvent)
Reimplemented Function
void mousePressEvent(QMouseEvent *mouseEvent)
This event handler, for event event, can be reimplemented in a subclass to receive mouse press events...
int y() const
Returns the y-coordinate of the rectangle's top edge.
void setVisible(bool)
Reimplemented Function
void addWidget(QWidget *w)
Adds widget w to this layout in a manner specific to the layout.
void clear()
Clears the contents of the string and makes it empty.
QStyle::SubControl activeSubControl
void setWidget(QWidget *widget)
Sets widget as the internal widget of this subwindow.
iterator insert(const Key &key, const T &value)
Inserts a new item with the key key and a value of value.
int x() const
Returns the x-coordinate of the rectangle's left edge.
QObject * parent() const
Returns a pointer to the parent object.
Q_GUI_EXPORT_INLINE QRgb qRgb(int r, int g, int b)
static const QStyle::SubControl SubControls[]
The QPoint class defines a point in the plane using integer precision.
void setColor(ColorGroup cg, ColorRole cr, const QColor &color)
Sets the color in the specified color group, used for the given color role, to the specified solid co...
void installEventFilter(QObject *)
Installs an event filter filterObj on this object.
QPointer< QMenu > systemMenu
The QMainWindow class provides a main application window.
QPalette desktopPalette() const
QSize sizeHint() const
Reimplemented Function
The QStyle class is an abstract base class that encapsulates the look and feel of a GUI...
static bool desktopSettingsAware()
Returns true if Qt is set to use the system's standard colors, fonts, etc.
static bool isChildOfQMdiSubWindow(const QWidget *child)
int height() const
Returns the height.
const QPoint & globalPos() const
Returns the mouse cursor position when the event was generated in global coordinates.
The QRect class defines a rectangle in the plane using integer precision.
bool isValid() const
Returns true if both the width and height is equal to or greater than 0; otherwise returns false...
void setIcon(const QIcon &icon)
void setEnabled(WindowStateAction, bool enable=true)
void mouseDoubleClickEvent(QMouseEvent *mouseEvent)
This event handler, for event event, can be reimplemented in a subclass to receive mouse double click...
QWidget * controllerWidget() const
static void mouseEvent(MouseAction action, QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers stateKey, QPoint pos, int delay=-1)
void setActive(bool activate, bool changeFocus=true)
void moveEvent(QMoveEvent *moveEvent)
Reimplemented Function
virtual SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, const QPoint &pt, const QWidget *widget=0) const =0
Returns the sub control at the given position in the given complex control (with the style options sp...
QWidget * maximizedSystemMenuIconWidget() const
int y() const
Returns the y coordinate of this point.
QSize minimumSize() const
Returns the minimum size of this layout.
QPoint mousePressPosition
The QPixmap class is an off-screen image representation that can be used as a paint device...
static QRgb colorref2qrgb(COLORREF col)
void contextMenuEvent(QContextMenuEvent *contextMenuEvent)
Reimplemented Function
void timerEvent(QTimerEvent *timerEvent)
Reimplemented Function
QPixmap pixmap(const QSize &size, Mode mode=Normal, State state=Off) const
Returns a pixmap with the requested size, mode, and state, generating one if necessary.
bool isNull() const
Returns true if both the width and height is 0; otherwise returns false.
bool ignoreWindowTitleChange
void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect)
Draws the rectangular portion source of the given pixmap into the given target in the paint device...
bool eventFilter(QObject *object, QEvent *event)
Reimplemented Function
The QStylePainter class is a convenience class for drawing QStyle elements inside a widget...
void ignore()
Clears the accept flag parameter of the event object, the equivalent of calling setAccepted(false).
void accept()
Sets the accept flag of the event object, the equivalent of calling setAccepted(true).
QPointer< QAction > actions[NumWindowStateActions]
The QSize class defines the size of a two-dimensional object using integer point precision.
void setFont(const QFont &f)
Sets the painter's font to the given font.
Qt::WindowFlags titleBarFlags
the widget flags for the title bar
int x() const
Returns the x coordinate of this point.
The QStyleOptionComplex class is used to hold parameters that are common to all complex controls...
QWidget * maximizedButtonsWidget() const
The QVBoxLayout class lines up widgets vertically.
void setWindowFlags(Qt::WindowFlags windowFlags)
void focusInEvent(QFocusEvent *focusInEvent)
Reimplemented Function
QRegion region
the region for style hints that return a QRegion
void updateGeometryConstraints()
void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &opt)
Use the widget's style to draw a complex control cc specified by the QStyleOptionComplex option...
void showButtonsInMenuBar(QMenuBar *menuBar)
void mousePressEvent(QMouseEvent *mouseEvent)
Reimplemented Function
bool isValid() const
Returns true if the rectangle is valid, otherwise returns false.
void removeButtonsFromMenuBar(QMenuBar *menuBar=0)
The QPaintEvent class contains event parameters for paint events.
void showEvent(QShowEvent *showEvent)
Reimplemented Function
int titleBarState
the state of the title bar
The QEvent class is the base class of all event classes.
The QRubberBand class provides a rectangle or line that can indicate a selection or a boundary...
Operation getOperation(const QPoint &pos) const
Type type() const
Returns the event type.
const QPoint & globalPos() const
Returns the global position of the mouse cursor at the time of the event.
static QWidget * focusWidget()
Returns the application widget that has the keyboard input focus, or 0 if no widget in this applicati...
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
SubWindowOption
This enum describes options that customize the behavior of QMdiSubWindow.
int keyboardSingleStep() const
QWidget * systemMenuLabel() const
QPointer< QSizeGrip > sizeGrip
QRect rect
the area that should be used for various calculations and painting
The QCloseEvent class contains parameters that describe a close event.
QSize minimumSizeHint() const
Reimplemented Function
The QMdiSubWindow class provides a subwindow class for QMdiArea.
QStyle::SubControls subControls
This variable holds a bitwise OR of the sub-controls to be drawn for the complex control.
The QFocusEvent class contains event parameters for widget focus events.
bool setAlignment(QWidget *w, Qt::Alignment alignment)
Sets the alignment for widget w to alignment and returns true if w is found in this layout (not inclu...
The QAction class provides an abstract user interface action that can be inserted into widgets...
virtual const QMetaObject * metaObject() const
Returns a pointer to the meta-object of this object.
static void enterWhatsThisMode()
This function switches the user interface into "What's This?" mode.
QObject * child() const
Returns the child object that was added or removed.
static bool isNull(const QVariant::Private *d)
void removeWidget(QWidget *w)
Removes the widget widget from the layout.
static int getMoveDeltaComponent(uint cflags, uint moveFlag, uint resizeFlag, int delta, int maxDelta, int minDelta)
int keyboardPageStep() const
The QList class is a template class that provides lists.
static int area(const QSize &s)
QStyle::SubControl hoveredSubControl
void killTimer(int id)
Kills the timer with timer identifier, id.
QPoint topLeft() const
Returns the position of the rectangle's top-left corner.
friend class const_iterator
The QHelpEvent class provides an event that is used to request helpful information about a particular...
OperationInfoMap operationMap
The QPalette class contains color groups for each widget state.
The QIcon class provides scalable icons in different modes and states.
const QPoint & pos() const
Returns the mouse cursor position when the event was generated, relative to the widget to which the e...