Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QDockWidget

    java.lang.Object
      com.trolltech.qt.QSignalEmitter
          com.trolltech.qt.QtJambiObject
              com.trolltech.qt.core.QObject
                  com.trolltech.qt.gui.QWidget
                      com.trolltech.qt.gui.QDockWidget

All Implemented Interfaces:
  QPaintDeviceInterface, QtJambiInterface

    public class QDockWidget

extends QWidget

The `QDockWidget` class provides a widget that can be docked inside a `QMainWindow` or floated as a top-level window on the desktop. `QDockWidget` provides the concept of dock widgets, also know as tool palettes or utility windows. Dock windows are secondary windows placed in the dock widget area around the `central widget` in a `QMainWindow`.

Dock windows can be moved inside their current area, moved into new areas and floated (e.g., undocked) by the end-user. The `QDockWidget` API allows the programmer to restrict the dock widgets ability to move, float and close, as well as the areas in which they can be placed.

## Appearance

A `QDockWidget` consists of a title bar and the content area. The title bar displays the dock widgets `window title`, a float button and a close button. Depending on the state of the `QDockWidget`, the float and close buttons may be either disabled or not shown at all.

The visual appearance of the title bar and buttons is dependent on the `style` in use.

A `QDockWidget` acts as a wrapper for its child widget, set with `setWidget()`. Custom size hints, minimum and maximum sizes and size policies should be implemented in the child widget. `QDockWidget` will respect them, adjusting its own constraints to include the frame and title. Size constraints should not be set on the `QDockWidget` itself, because they change depending on whether it is docked; a docked `QDockWidget` has no frame and a smaller title bar.

See also:
  `QMainWindow`, and Dock Widgets Example.

Nested Class Summary
`static class` | `QDockWidget.DockWidgetFeature`
`static class` | `QDockWidget.DockWidgetFeatures` This is a flags class for com.trolltech.qt.gui.QDockWidget.DockWidgetFeature

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
`QWidget.RenderFlag, QWidget.RenderFlags`

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Field Summary
`QSignalEmitter.Signal1` | `allowedAreasChanged` This signal is emitted when the `allowedAreas` property changes.
`QSignalEmitter.Signal1` | `dockLocationChanged` This signal is emitted when the dock widget is moved to another dock `area`, or is moved to a different location in its current dock area.
`QSignalEmitter.Signal1` | `featuresChanged` This signal is emitted when the `features` property changes.
`QSignalEmitter.Signal1` | `topLevelChanged` This signal is emitted when the `floating` property changes.
`QSignalEmitter.Signal1` | `visibilityChanged` This signal is emitted when the dock widget becomes `visible` (or invisible).

Fields inherited from class com.trolltech.qt.gui.QWidget
`customContextMenuRequested`

Constructor Summary
`QDockWidget()` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(QWidget parent)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(QWidget parent, Qt.WindowFlags flags)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(QWidget parent, Qt.WindowType[] flags)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(java.lang.String title)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(java.lang.String title, QWidget parent)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(java.lang.String title, QWidget parent, Qt.WindowFlags flags)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.
`QDockWidget(java.lang.String title, QWidget parent, Qt.WindowType[] flags)` Constructs a `QDockWidget` with parent `parent` and window flags `flags`.

Method Summary
`Qt.DockWidgetAreas` | `allowedAreas()` This property holds areas where the dock widget may be placed.
`QDockWidget.DockWidgetFeatures` | `features()` This property holds whether the dock widget is movable, closable, and floatable.
`static QDockWidget` | `fromNativePointer(QNativePointer nativePointer)` This method returns the QDockWidget instance pointed to by `nativePointer`.
`protected void` | `initStyleOption(QStyleOptionDockWidget option)` Initialize `option` with the values from this QDockWidget.
`boolean` | `isAreaAllowed(Qt.DockWidgetArea area)` Returns true if this dock widget can be placed in the given `area`; otherwise returns false.
`boolean` | `isFloating()` This property holds whether the dock widget is floating.
`void` | `setAllowedAreas(Qt.DockWidgetArea[] areas)` This property holds areas where the dock widget may be placed.
`void` | `setAllowedAreas(Qt.DockWidgetAreas areas)` This property holds areas where the dock widget may be placed.
`void` | `setFeatures(QDockWidget.DockWidgetFeature[] features)` This property holds whether the dock widget is movable, closable, and floatable.
`void` | `setFeatures(QDockWidget.DockWidgetFeatures features)` This property holds whether the dock widget is movable, closable, and floatable.
`void` | `setFloating(boolean floating)` This property holds whether the dock widget is floating.
`void` | `setTitleBarWidget(QWidget widget)` Sets an arbitrary `widget` as the dock widget's title bar.
`void` | `setWidget(QWidget widget)` Sets the widget for the dock widget to `widget`.
`QWidget` | `titleBarWidget()` Returns the custom title bar widget set on the `QDockWidget`, or 0 if no custom title bar has been set.
`QAction` | `toggleViewAction()` Returns a checkable action that can be used to show or close this dock widget.
`QWidget` | `widget()` Returns the widget for the dock widget.

Methods inherited from class com.trolltech.qt.gui.QWidget
`acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y`

Methods inherited from class com.trolltech.qt.core.QObject
`childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty`

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class java.lang.Object
`clone, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Field Detail

### allowedAreasChanged

    public final QSignalEmitter.Signal1 allowedAreasChanged

  This signal is emitted when the `allowedAreas` property changes. The `allowedAreas` parameter gives the new value of the property.

### dockLocationChanged

    public final QSignalEmitter.Signal1 dockLocationChanged

  This signal is emitted when the dock widget is moved to another dock `area`, or is moved to a different location in its current dock area. This happens when the dock widget is moved programmatically or is dragged to a new location by the user.

### featuresChanged

    public final QSignalEmitter.Signal1 featuresChanged

  This signal is emitted when the `features` property changes. The `features` parameter gives the new value of the property.

### topLevelChanged

    public final QSignalEmitter.Signal1 topLevelChanged

  This signal is emitted when the `floating` property changes. The `topLevel` parameter is true if the dock widget is now floating; otherwise it is false.

See also:
  `isWindow()`.

### visibilityChanged

    public final QSignalEmitter.Signal1 visibilityChanged

  This signal is emitted when the dock widget becomes `visible` (or invisible). This happens when the widget is hidden or shown, as well as when it is docked in a tabbed dock area and its tab becomes selected or unselected.

Constructor Detail

### QDockWidget

    public QDockWidget(QWidget parent,
                       Qt.WindowType[] flags)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

### QDockWidget

    public QDockWidget(QWidget parent)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

### QDockWidget

    public QDockWidget()

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

### QDockWidget

    public QDockWidget(QWidget parent,
                       Qt.WindowFlags flags)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

### QDockWidget

    public QDockWidget(java.lang.String title,
                       QWidget parent,
                       Qt.WindowType[] flags)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

  The window title is set to `title`. This title is used when the `QDockWidget` is docked and undocked. It is also used in the context menu provided by `QMainWindow`.

See also:
  setWindowTitle().

### QDockWidget

    public QDockWidget(java.lang.String title,
                       QWidget parent)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

  The window title is set to `title`. This title is used when the `QDockWidget` is docked and undocked. It is also used in the context menu provided by `QMainWindow`.

See also:
  setWindowTitle().

### QDockWidget

    public QDockWidget(java.lang.String title)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

  The window title is set to `title`. This title is used when the `QDockWidget` is docked and undocked. It is also used in the context menu provided by `QMainWindow`.

See also:
  setWindowTitle().

### QDockWidget

    public QDockWidget(java.lang.String title,
                       QWidget parent,
                       Qt.WindowFlags flags)

  Constructs a `QDockWidget` with parent `parent` and window flags `flags`. The dock widget will be placed in the left dock widget area.

  The window title is set to `title`. This title is used when the `QDockWidget` is docked and undocked. It is also used in the context menu provided by `QMainWindow`.

See also:
  setWindowTitle().

Method Detail

### allowedAreas

    public final Qt.DockWidgetAreas allowedAreas()

  This property holds areas where the dock widget may be placed. The default is `Qt::AllDockWidgetAreas` .

See also:
  `Qt::DockWidgetArea` .

### features

    public final QDockWidget.DockWidgetFeatures features()

  This property holds whether the dock widget is movable, closable, and floatable.

See also:
  `DockWidgetFeature` .

### isAreaAllowed

    public final boolean isAreaAllowed(Qt.DockWidgetArea area)

  Returns true if this dock widget can be placed in the given `area`; otherwise returns false.

### isFloating

    public final boolean isFloating()

  This property holds whether the dock widget is floating. A floating dock widget is presented to the user as an independent window "on top" of its parent `QMainWindow`, instead of being docked in the `QMainWindow`.

See also:
  `isWindow()`.

### setAllowedAreas

    public final void setAllowedAreas(Qt.DockWidgetArea[] areas)

  This property holds areas where the dock widget may be placed. The default is `Qt::AllDockWidgetAreas` .

See also:
  `Qt::DockWidgetArea` .

### setAllowedAreas

    public final void setAllowedAreas(Qt.DockWidgetAreas areas)

  This property holds areas where the dock widget may be placed. The default is `Qt::AllDockWidgetAreas` .

See also:
  `Qt::DockWidgetArea` .

### setFeatures

    public final void setFeatures(QDockWidget.DockWidgetFeature[] features)

  This property holds whether the dock widget is movable, closable, and floatable.

See also:
  `DockWidgetFeature` .

### setFeatures

    public final void setFeatures(QDockWidget.DockWidgetFeatures features)

  This property holds whether the dock widget is movable, closable, and floatable.

See also:
  `DockWidgetFeature` .

### setFloating

    public final void setFloating(boolean floating)

  This property holds whether the dock widget is floating. A floating dock widget is presented to the user as an independent window "on top" of its parent `QMainWindow`, instead of being docked in the `QMainWindow`.

See also:
  `isWindow()`.

### setTitleBarWidget

    public final void setTitleBarWidget(QWidget widget)

  Sets an arbitrary `widget` as the dock widget's title bar. If `widget` is 0, the title bar widget is removed, but not deleted.

  If a title bar widget is set, `QDockWidget` will not use native window decorations when it is floated.

  Here are some tips for implementing custom title bars:

  - Mouse events that are not explicitly handled by the title bar widget must be ignored by calling `QMouseEvent::ignore()`. These events then propagate to the `QDockWidget` parent, which handles them in the usual manner, moving when the title bar is dragged, docking and undocking when it is double-clicked, etc.
  - When `DockWidgetVerticalTitleBar` is set on `QDockWidget`, the title bar widget is repositioned accordingly. In `resizeEvent()`, the title bar should check what orientation it should assume:

               QDockWidget *dockWidget = qobject_cast<QDockWidget*>(parentWidget());
               if (dockWidget->features() & QDockWidget::DockWidgetVerticalTitleBar) {
                   // I need to be vertical
               } else {
                   // I need to be horizontal
               }

  - The title bar widget must have a valid `QWidget::sizeHint()` and `QWidget::minimumSizeHint()`. These functions should take into account the current orientation of the title bar.
  Using `qobject_cast` as shown above, the title bar widget has full access to its parent `QDockWidget`. Hence it can perform such operations as docking and hiding in response to user actions.

See also:
  `titleBarWidget()`, and `DockWidgetVerticalTitleBar` .

### setWidget

    public final void setWidget(QWidget widget)

  Sets the widget for the dock widget to `widget`.

  If the dock widget is visible when `widget` is added, you must `show()` it explicitly.

  Note that you must add the layout of the `widget` before you call this function; if not, the `widget` will not be visible.

See also:
  `widget()`.

### titleBarWidget

    public final QWidget titleBarWidget()

  Returns the custom title bar widget set on the `QDockWidget`, or 0 if no custom title bar has been set.

See also:
  `setTitleBarWidget()`.

### toggleViewAction

    public final QAction toggleViewAction()

  Returns a checkable action that can be used to show or close this dock widget.

  The action's text is set to the dock widget's window title.

See also:
  `QAction::text`, and `QWidget::windowTitle`.

### widget

    public final QWidget widget()

  Returns the widget for the dock widget. This function returns zero if the widget has not been set.

See also:
  `setWidget()`.

### fromNativePointer

    public static QDockWidget fromNativePointer(QNativePointer nativePointer)

  This method returns the QDockWidget instance pointed to by `nativePointer`.

### initStyleOption

    protected final void initStyleOption(QStyleOptionDockWidget option)

  Initialize `option` with the values from this QDockWidget. This method is useful for subclasses when they need a QStyleOption, but don't want to fill in all the information themselves.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD