4#ifndef QMDISUBWINDOW_P_H
5#define QMDISUBWINDOW_P_H
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
22#include <QStyleOptionTitleBar>
26#if QT_CONFIG(sizegrip)
31#include <private/qwidget_p.h>
53 if (classname && strcmp(classname,
"ControlElement") == 0)
111 HResizeReverse = 0x10,
112 VResizeReverse = 0x20
124 NumWindowStateActions
133 : changeFlags(changeFlags),
134 cursorShape(cursorShape),
147#if QT_CONFIG(sizegrip)
150#if QT_CONFIG(rubberband)
161#if QT_CONFIG(rubberband)
162 bool isInRubberBandMode;
195 void _q_updateStaysOnTopHint();
196 void _q_enterInteractiveMode();
200 void leaveInteractiveMode();
201 void removeBaseWidget();
202 void initOperationMap();
204 void createSystemMenu();
207 void updateDirtyRegions();
208 void updateGeometryConstraints();
211 void setMinimizeMode();
212 void setNormalMode();
213 void setMaximizeMode();
214 void setActive(
bool activate,
bool changeFocus =
true);
215 void processClickedSubControl();
221 void sizeParameters(
int *margin,
int *minWidth)
const;
222 bool drawTitleBarWhenMaximized()
const;
223#if QT_CONFIG(menubar)
226 void removeButtonsFromMenuBar();
228 void updateWindowTitle(
bool requestFromChild);
229#if QT_CONFIG(rubberband)
230 void enterRubberBandMode();
231 void leaveRubberBandMode();
234 void updateActions();
235 void setFocusWidget();
237 void storeFocusWidget();
247#if QT_CONFIG(sizegrip)
249 void setSizeGripVisible(
bool visible =
true)
const;
251 void updateInternalWindowTitle();
253 QString originalWindowTitleHelper()
const;
254 void setNewWindowTitle();
260 || (
q->isMaximized() && !drawTitleBarWhenMaximized())) {
265 if (hasBorder(options))
266 height +=
q->isMinimized() ? 8 : 4;
282#if QT_CONFIG(rubberband)
283 if (isInRubberBandMode)
287 q->setGeometry(*geometry);
304 return currentOperation !=
None && currentOperation !=
Move;
309 return currentOperation ==
Move;
The QIcon class provides scalable icons in different modes and states.
QPointer< QWidget > restoreFocusWidget
bool isShadeRequestFromMinimizeMode
bool isExplicitlyDeactivated
QStyle::SubControl hoveredSubControl
bool isMoveOperation() const
QPointer< QMdi::ControlContainer > controlContainer
QString lastChildWindowTitle
QSize internalMinimumSize
QStyleOptionTitleBar cachedStyleOptions
OperationInfoMap operationMap
bool ignoreWindowTitleChange
QPointer< QMenu > systemMenu
bool isResizeOperation() const
bool ignoreNextActivationEvent
QMap< Operation, OperationInfo > OperationInfoMap
QPointer< QWidget > baseWidget
QStyle::SubControl activeSubControl
void setNewGeometry(QRect *geometry)
Operation currentOperation
int titleBarHeight() const
bool hasBorder(const QStyleOptionTitleBar &options) const
QStyle::SubControl getSubControl(const QPoint &pos) const
QPoint mousePressPosition
Qt::FocusReason focusInReason
QMdiSubWindow::SubWindowOptions options
The QMdiSubWindow class provides a subwindow class for QMdiArea.
QWidget * controllerWidget() const
QWidget * systemMenuLabel() const
void updateWindowIcon(const QIcon &windowIcon)
QPointer< QMdiSubWindow > mdiChild
void * qt_metacast(const char *classname) override
ControlElement(QMdiSubWindow *child)
The QPalette class contains color groups for each widget state.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
constexpr int height() const noexcept
Returns the height of the rectangle.
constexpr void setSize(const QSize &s) noexcept
Sets the size of the rectangle to the given size.
constexpr QSize size() const noexcept
Returns the size of the rectangle.
The QRegion class specifies a clip region for a painter.
The QRubberBand class provides a rectangle or line that can indicate a selection or a boundary.
void setGeometry(const QRect &r)
Sets the geometry of the rubber band to rect, specified in the coordinate system of its parent widget...
The QSizeGrip class provides a resize handle for resizing top-level windows.
constexpr QSize expandedTo(const QSize &) const noexcept
Returns a size holding the maximum width and height of this size and the given otherSize.
\macro QT_RESTRICTED_CAST_FROM_ASCII
\variable QStyleOptionToolBox::selectedPosition
SubControl
This enum describes the available sub controls.
The QVBoxLayout class lines up widgets vertically.
Combined button and popup list for selecting options.
GLint GLsizei GLsizei height
GLdouble GLdouble GLdouble GLdouble q
#define Q_AUTOTEST_EXPORT
#define QT_REQUIRE_CONFIG(feature)
OperationInfo(uint changeFlags, Qt::CursorShape cursorShape, bool hover=true)
Qt::CursorShape cursorShape
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent
virtual HRESULT STDMETHODCALLTYPE Move(enum TextUnit unit, int count, __RPC__out int *pRetVal)=0