KDDockWidgets API Documentation  1.3
Public Member Functions | Protected Member Functions | List of all members
KDDockWidgets::DockWidget Class Reference

Represents a dock widget. More...

#include <DockWidget.h>

Inheritance diagram for KDDockWidgets::DockWidget:
Inheritance graph
[legend]
Collaboration diagram for KDDockWidgets::DockWidget:
Collaboration graph
[legend]

Public Member Functions

 DockWidget (const QString &uniqueName, Options options=DockWidgetBase::Options(), LayoutSaverOptions layoutSaverOptions=LayoutSaverOptions())
 constructs a new DockWidget More...
 
 ~DockWidget () override
 destructor
 
- Public Member Functions inherited from KDDockWidgets::DockWidgetBase
 DockWidgetBase (const QString &uniqueName, Options options=DockWidgetBase::Options(), LayoutSaverOptions layoutSaverOptions=LayoutSaverOptions())
 constructs a new DockWidget More...
 
 ~DockWidgetBase () override
 destructor
 
void addDockWidgetAsTab (DockWidgetBase *other, InitialOption initialOption={})
 docks other widget into this one. Tabs will be shown if not already. More...
 
void addDockWidgetToContainingWindow (DockWidgetBase *other, KDDockWidgets::Location location, DockWidgetBase *relativeTo=nullptr, InitialOption initialOption={})
 docks other widget into the window that contains this one. Equivalent to MainWindow::addDockWidget() with the difference that it also supports the case where the top-level window is a FloatingWindow instead of MainWindow. More...
 
QStringList affinities () const
 Returns the affinity name. Empty by default.
 
QActionfloatAction () const
 Returns the QAction that allows to dock/undock the dock widget Useful to put in menus.
 
Q_INVOKABLE void forceClose ()
 Like QWidget::close() but the hosted widget won't be asked if we should close.
 
bool hasPreviousDockedLocation () const
 Returns whether this floating dock widget knows its previous docked location Result only makes sense if it's floating. More...
 
QIcon icon (IconPlace place=IconPlace::TitleBar) const
 Returns the dock widget's titlebar, tabbar, or toggle action icon (depending on the passed place) More...
 
bool isCurrentTab () const
 Returns true if this dock widget is the current one in the tab widget that contains it. If the dock widget is alone then true is returned, as in this case there will also be a tab widget even though it's invisible.
 
bool isFloating () const
 Returns whether the dock widget is floating. Floating means it's not docked and has a window of its own. Note that if you dock a floating dock widget into another floating one then they don't count as floating anymore, as they are side-by-side (or tabbed).
 
bool isFocused () const
 Returns whether This or any child of this dock widget is focused Not to be confused with QWidget::hasFocus(), which just refers to 1 widget. This includes variant includes children. More...
 
bool isInMainWindow () const
 Returns whether this dock widget is docked into a main window (as opposed to floating) More...
 
bool isInSideBar () const
 Returns where this dockwidget is in a sidebar Similar to sideBarLocation(), but returns a bool.
 
bool isMainWindow () const
 Returns whether widget() is a KDDockWidget::MainWindow. More...
 
bool isOpen () const
 Returns whether this dock widget is open. Equivalent to calling toggleAction().isChecked() or isVisible()
 
bool isOverlayed () const
 Returns whether this dock widget is overlayed from the side-bar. More...
 
bool isTabbed () const
 returns if this dock widget is tabbed into another More...
 
QSize lastOverlayedSize () const
 returns the last size the widget has when overlayed Empty otherwise
 
KDDockWidgets::DockWidgetBase::LayoutSaverOptions layoutSaverOptions () const
 returns the per-dockwidget options which will affect LayoutSaver These are the options which were passed to the constructor
 
MainWindowBasemainWindow () const
 Returns the main window this dock widget is in. nullptr if it's not inside a main window Also returns nullptr if it's minimized to a sidebar.
 
void moveToSideBar ()
 Minimizes this dock widget to the MainWindow's side-bar. More...
 
Options options () const
 Returns the dock widget's options which control behaviour. More...
 
Q_INVOKABLE void raise ()
 Brings the dock widget to the front. More...
 
void setAffinities (const QStringList &)
 Sets the affinity names. Dock widgets can only dock into dock widgets of the same affinity. More...
 
void setAffinityName (const QString &name)
 
void setAsCurrentTab ()
 Makes this dock widget current in its tab group.
 
bool setFloating (bool floats)
 setter to make the dock widget float or dock. More...
 
void setFloatingGeometry (QRect geo)
 If this dock widget is floating, then sets its geometry to geo. More...
 
void setIcon (const QIcon &icon, IconPlaces places=IconPlace::All)
 Sets an icon to show on title bars and tab bars. More...
 
void setOptions (Options)
 Setter for the options. Only Option_NotClosable is allowed to change after construction. For the other options use the constructor only. More...
 
void setTitle (const QString &title)
 setter for the dock widget's title More...
 
virtual void setWidget (QWidgetOrQuick *widget)
 sets the widget which this dock widget hosts. More...
 
Q_INVOKABLE void show ()
 Equivalent to QWidget::show(), but it's optimized to reduce flickering on some platforms.
 
SideBarLocation sideBarLocation () const
 Returns whether this dock widget is in a side bar, and which. SideBarLocation::None is returned if it's not in a sidebar. This is only relevant when using the auto-hide and side-bar feature. More...
 
bool skipsRestore () const
 Returns whether this widget has the LayoutSaverOption::Skip flag.
 
int tabIndex () const
 Returns which tab index this dock widget occupies in the tab widget it's contained in.
 
QString title () const
 Returns the dock widget's title. This title is visible in title bars and tab bars. More...
 
TitleBar * titleBar () const
 Returns this dock widget's title bar. More...
 
QActiontoggleAction () const
 Returns the QAction that allows to hide/show the dock widget Useful to put in menus.
 
QString uniqueName () const
 the dock widget's unique name. More...
 
QWidgetOrQuickwidget () const
 returns the widget which this dock widget hosts
 

Protected Member Functions

void closeEvent (QCloseEvent *) override
 
bool event (QEvent *) override
 
- Protected Member Functions inherited from KDDockWidgets::DockWidgetBase
void onCloseEvent (QCloseEvent *e) override
 
void onHidden (bool spontaneous)
 
void onParentChanged ()
 
bool onResize (QSize newSize) override
 
void onShown (bool spontaneous)
 

Additional Inherited Members

- Public Types inherited from KDDockWidgets::DockWidgetBase
enum  IconPlace { TitleBar = 1, TabBar = 2, ToggleAction = 4, All = ToggleAction | TitleBar | TabBar }
 
enum  LayoutSaverOption { LayoutSaverOption::None = 0, LayoutSaverOption::Skip = 1 }
 Options which will affect LayoutSaver save/restore. More...
 
typedef QVector< DockWidgetBase * > List
 
enum  Option { Option_None = 0, Option_NotClosable = 1, Option_NotDockable = 2, Option_DeleteOnClose = 4 }
 DockWidget options to pass at construction time. More...
 
- Signals inherited from KDDockWidgets::DockWidgetBase
void hidden ()
 signal emitted when the DockWidget is hidden. As in QEvent::Hide.
 
void iconChanged ()
 signal emitted when the icon changed
 
void isFloatingChanged (bool)
 emitted when isFloating changes
 
void isFocusedChanged (bool)
 emitted when isFocused changes More...
 
void isOverlayedChanged (bool)
 emitted when isOverlayed changes More...
 
void optionsChanged (KDDockWidgets::DockWidgetBase::Options)
 emitted when the options change More...
 
void parentChanged ()
 signal emitted when the parent changed
 
void removedFromSideBar ()
 emitted when this dock widget is removed from a side-bar. Only relevant for the auto-hide/sidebar feature
 
void shown ()
 signal emitted when the DockWidget is shown. As in QEvent::Show.
 
void titleChanged (const QString &title)
 signal emitted when the title changed More...
 
void widgetChanged (KDDockWidgets::QWidgetOrQuick *)
 emitted when the hosted widget changed
 
void windowActiveAboutToChange (bool activated)
 Emitted when the top-level window this dock widget is in is activated or deactivated This is convenience to replace tracking dockWidget->window(), since the window changes when docking and undocking. More...
 
- Static Public Member Functions inherited from KDDockWidgets::DockWidgetBase
static DockWidgetBasebyName (const QString &uniqueName)
 Returns a dock widget by its name This is the same name you passed to DockWidget CTOR. nullptr is returned if the dock widget isn't found.
 
- Properties inherited from KDDockWidgets::DockWidgetBase
bool isFloating
 
bool isFocused
 

Detailed Description

Represents a dock widget.

Most of the interface lives in DockWidgetBase, to facilitate sharing with QtQuick.

Constructor & Destructor Documentation

◆ DockWidget()

KDDockWidgets::DockWidget::DockWidget ( const QString uniqueName,
Options  options = DockWidgetBase::Options(),
LayoutSaverOptions  layoutSaverOptions = LayoutSaverOptions() 
)
explicit

constructs a new DockWidget

Parameters
uniqueNameMandatory name that should be unique between all DockWidget instances. This name won't be user visible and just used internally for the save/restore. Use setTitle() for user visible text.
optionsoptional options controlling behaviour

There's no parent argument. The DockWidget is either parented to FloatingWindow or MainWindow when visible, or stays without a parent when hidden. This allows to support docking to different main windows.


Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDDockWidgets
Advanced Dock Widget Framework for Qt
https://www.kdab.com/development-resources/qt-tools/kddockwidgets/