KDDockWidgets API Documentation  1.5
Public Types | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Properties | List of all members
KDDockWidgets::DockWidgetBase Class Reference

The DockWidget base-class. DockWidget and DockWidgetBase are only split in two so we can share some code with the QtQuick implementation, which also derives from DockWidgetBase. More...

#include <DockWidgetBase.h>

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

Public Types

enum  IconPlace { IconPlace::TitleBar = 1, IconPlace::TabBar = 2, IconPlace::ToggleAction = 4, IconPlace::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

void aboutToDeleteOnClose ()
 Emitted when this dock widget is about to be deleted due to Option_DeleteOnClose. More...
 
void actualTitleBarChanged ()
 Emitted when the title bar that serves this dock widget changes. More...
 
void hidden ()
 signal emitted when the DockWidget is hidden. As in QEvent::Hide. More...
 
void iconChanged ()
 signal emitted when the icon changed More...
 
void isFloatingChanged (bool)
 emitted when isFloating changes More...
 
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 QtQuick already has QQuickItem::parentChanged(), so add it only for QtWidgets here. More...
 
void removedFromSideBar ()
 emitted when this dock widget is removed from a side-bar. Only relevant for the auto-hide/sidebar feature More...
 
void shown ()
 signal emitted when the DockWidget is shown. As in QEvent::Show. More...
 
void titleChanged (const QString &title)
 signal emitted when the title changed More...
 
void widgetChanged (KDDockWidgets::QWidgetOrQuick *)
 emitted when the hosted widget changed More...
 
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...
 

Public Member Functions

 DockWidgetBase (const QString &uniqueName, Options options=KDDockWidgets::DockWidgetBase::Options(), LayoutSaverOptions layoutSaverOptions=KDDockWidgets::DockWidgetBase::LayoutSaverOptions())
 constructs a new DockWidget More...
 
 ~DockWidgetBase () override
 destructor More...
 
Q_INVOKABLE void addDockWidgetAsTab (KDDockWidgets::DockWidgetBase *other, KDDockWidgets::InitialOption initialOption={})
 docks other widget into this one. Tabs will be shown if not already. More...
 
Q_INVOKABLE void addDockWidgetToContainingWindow (KDDockWidgets::DockWidgetBase *other, KDDockWidgets::Location location, KDDockWidgets::DockWidgetBase *relativeTo=nullptr, KDDockWidgets::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. More...
 
Q_INVOKABLE QActionfloatAction () const
 Returns the QAction that allows to dock/undock the dock widget Useful to put in menus. More...
 
Q_INVOKABLE void forceClose ()
 Like QWidget::close() but the hosted widget won't be asked if we should close. More...
 
QRect frameGeometry () const
 Returns the size of the dock widget's parent frame. More...
 
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. More...
 
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). More...
 
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. More...
 
bool isMainWindow () const
 Returns whether widget() is a KDDockWidget::MainWindow. More...
 
Q_INVOKABLE bool isOpen () const
 Returns whether this dock widget is open. Equivalent to calling toggleAction().isChecked() or isVisible() More...
 
bool isOverlayed () const
 Returns whether this dock widget is overlayed from the side-bar. More...
 
bool isPersistentCentralDockWidget () const
 Returns whether this dock widget is the main window persistent central widget This only applies when using MainWindowOption_HasCentralWidget. 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 More...
 
KDDockWidgets::DockWidgetBase::LayoutSaverOptions layoutSaverOptions () const
 returns the per-dockwidget options which will affect LayoutSaver These are the options which were passed to the constructor More...
 
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. More...
 
Q_INVOKABLE 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_ENUM (Options)
 
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)
 
Q_INVOKABLE void setAsCurrentTab ()
 Makes this dock widget current in its tab group. More...
 
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 setMDIPosition (QPoint pos)
 Sets this dock widgets position to pos within the MDI layout This only applies if the main window is in MDI mode, which it is not by default. More...
 
void setMDISize (QSize size)
 like setMDIPosition(), but for the size. More...
 
void setMDIZ (int z)
 like setMDIPosition(), but for the Z only implemented for QtQuick 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...
 
void setUserType (int userType)
 Allows the user to set a type on this dock widget The type is opaque and will not be interpreted by KDDockWidgets. This type is passed to FrameWorkWidgetFactory::createTitleBar(), which the user can override and return different TitleBar subclasses, depending on the type. 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. More...
 
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. More...
 
int tabIndex () const
 Returns which tab index this dock widget occupies in the tab widget it's contained in. More...
 
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...
 
Q_INVOKABLE QActiontoggleAction () const
 Returns the QAction that allows to hide/show the dock widget Useful to put in menus. More...
 
QString uniqueName () const
 the dock widget's unique name. More...
 
int userType () const
 
QWidgetOrQuickwidget () const
 returns the widget which this dock widget hosts More...
 

Static Public Member Functions

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. More...
 

Protected Member Functions

void onCloseEvent (QCloseEvent *e) override
 
void onHidden (bool spontaneous)
 
void onParentChanged ()
 
bool onResize (QSize newSize) override
 
void onShown (bool spontaneous)
 

Properties

bool isFloating
 
bool isFocused
 
KDDockWidgets::DockWidgetBase::Options options
 
QString title
 
QString uniqueName
 
QObjectwidget
 

Detailed Description

The DockWidget base-class. DockWidget and DockWidgetBase are only split in two so we can share some code with the QtQuick implementation, which also derives from DockWidgetBase.

Do not use instantiate directly in user code. Use DockWidget instead.

Definition at line 57 of file DockWidgetBase.h.

Member Typedef Documentation

◆ List

Definition at line 71 of file DockWidgetBase.h.

Member Enumeration Documentation

◆ IconPlace

Enumerator
TitleBar 
TabBar 
ToggleAction 
All 

Definition at line 92 of file DockWidgetBase.h.

◆ LayoutSaverOption

Options which will affect LayoutSaver save/restore.

Enumerator
None 

Just use the defaults.

Skip 

The dock widget won't participate in save/restore. Currently only available for floating windows.

Definition at line 85 of file DockWidgetBase.h.

◆ Option

DockWidget options to pass at construction time.

Enumerator
Option_None 

No option, the default.

Option_NotClosable 

The DockWidget can't be closed on the [x], only programmatically.

Option_NotDockable 

The DockWidget can't be docked, it's always floating.

Option_DeleteOnClose 

Deletes the DockWidget when closed.

Definition at line 74 of file DockWidgetBase.h.

Constructor & Destructor Documentation

◆ DockWidgetBase()

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

constructs a new DockWidget

Parameters
uniqueNamethe name of the dockwidget, should be unique. Use title for user visible text.
optionsthe options controlling certain behaviours
layoutSaverOptionsthe options to control save/restore

There's no parent argument. The DockWidget is either parented to FloatingWindow or MainWindow when visible, or stays without a parent when hidden.

Definition at line 43 of file DockWidgetBase.cpp.

References QString::isEmpty(), and Qt::WA_PendingMoveEvent.

◆ ~DockWidgetBase()

DockWidgetBase::~DockWidgetBase ( )
override

destructor

Definition at line 57 of file DockWidgetBase.cpp.

Member Function Documentation

◆ aboutToDeleteOnClose

void KDDockWidgets::DockWidgetBase::aboutToDeleteOnClose ( )
signal

Emitted when this dock widget is about to be deleted due to Option_DeleteOnClose.

◆ actualTitleBarChanged

void KDDockWidgets::DockWidgetBase::actualTitleBarChanged ( )
signal

Emitted when the title bar that serves this dock widget changes.

Referenced by KDDockWidgets::DockWidgetQuick::event(), and onParentChanged().

◆ addDockWidgetAsTab()

void DockWidgetBase::addDockWidgetAsTab ( KDDockWidgets::DockWidgetBase other,
KDDockWidgets::InitialOption  initialOption = {} 
)

docks other widget into this one. Tabs will be shown if not already.

Parameters
otherThe other dock widget to dock into this one.
initialOptionAllows to specify an InitialOption. Which is useful to add the dock widget as hidden, recording only a placeholder in the tab. So it's restored to tabbed when eventually shown.
See also
MainWindow::addDockWidget(), DockWidget::addDockWidgetToContainingWindow()

Definition at line 63 of file DockWidgetBase.cpp.

References affinities(), Frame, isPersistentCentralDockWidget(), Option_NotDockable, and options.

◆ addDockWidgetToContainingWindow()

void DockWidgetBase::addDockWidgetToContainingWindow ( KDDockWidgets::DockWidgetBase other,
KDDockWidgets::Location  location,
KDDockWidgets::DockWidgetBase relativeTo = nullptr,
KDDockWidgets::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.

Parameters
otherThe other dock widget to dock into the window.
locationThe location to dock.
relativeToThe dock widget that the location is relative to. If null then the window is considered
initialOptionAllows to specify some extra options that are used while docking.
See also
MainWindow::addDockWidget(), DockWidget::addDockWidgetAsTab()

Definition at line 116 of file DockWidgetBase.cpp.

References KDDockWidgets::MainWindowBase::addDockWidget(), affinities(), mainWindow(), Option_NotDockable, and options.

◆ affinities()

QStringList DockWidgetBase::affinities ( ) const

Returns the affinity name. Empty by default.

Definition at line 366 of file DockWidgetBase.cpp.

Referenced by KDDockWidgets::MainWindowBase::addDockWidgetAsTab(), addDockWidgetAsTab(), addDockWidgetToContainingWindow(), and setAffinities().

◆ byName()

DockWidgetBase * DockWidgetBase::byName ( const QString uniqueName)
static

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.

Definition at line 476 of file DockWidgetBase.cpp.

References uniqueName.

◆ floatAction()

QAction * DockWidgetBase::floatAction ( ) const

Returns the QAction that allows to dock/undock the dock widget Useful to put in menus.

Definition at line 228 of file DockWidgetBase.cpp.

◆ forceClose()

void DockWidgetBase::forceClose ( )

Like QWidget::close() but the hosted widget won't be asked if we should close.

Definition at line 348 of file DockWidgetBase.cpp.

Referenced by KDDockWidgets::MainWindowBase::closeDockWidgets(), and KDDockWidgets::MainWindowBase::moveToSideBar().

◆ frameGeometry()

QRect DockWidgetBase::frameGeometry ( ) const

Returns the size of the dock widget's parent frame.

This will always be bigger than the DockWidget's size, as there's margins and a title bar. Also, a frame can contain more than 1 dock widget (tabbed), meaning the geometry will account for the tab bar and title bar.

The position of the rect is in layout coordinates. 0,0 is the top-left of the layout holding the widgets.

Definition at line 252 of file DockWidgetBase.cpp.

References Frame.

◆ hasPreviousDockedLocation()

bool DockWidgetBase::hasPreviousDockedLocation ( ) const

Returns whether this floating dock widget knows its previous docked location Result only makes sense if it's floating.

When you call dockWidget->setFloating(false) it will only dock if it knows where to.

Definition at line 466 of file DockWidgetBase.cpp.

◆ hidden

void KDDockWidgets::DockWidgetBase::hidden ( )
signal

signal emitted when the DockWidget is hidden. As in QEvent::Hide.

Referenced by onHidden().

◆ icon()

QIcon DockWidgetBase::icon ( IconPlace  place = IconPlace::TitleBar) const

Returns the dock widget's titlebar, tabbar, or toggle action icon (depending on the passed place)

By default it's null.

See also
setIcon()

Definition at line 334 of file DockWidgetBase.cpp.

References TabBar, TitleBar, and ToggleAction.

Referenced by setIcon().

◆ iconChanged

void KDDockWidgets::DockWidgetBase::iconChanged ( )
signal

signal emitted when the icon changed

Referenced by setIcon().

◆ isCurrentTab()

bool DockWidgetBase::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.

Definition at line 297 of file DockWidgetBase.cpp.

References Frame.

Referenced by isFocused().

◆ isFloating()

bool DockWidgetBase::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).

Definition at line 170 of file DockWidgetBase.cpp.

◆ isFloatingChanged

void KDDockWidgets::DockWidgetBase::isFloatingChanged ( bool  )
signal

emitted when isFloating changes

◆ isFocused()

bool DockWidgetBase::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.

See also
isFocusedChanged()

Definition at line 413 of file DockWidgetBase.cpp.

References isCurrentTab().

◆ isFocusedChanged

void KDDockWidgets::DockWidgetBase::isFocusedChanged ( bool  )
signal

emitted when isFocused changes

See also
isFocused

◆ isInMainWindow()

bool DockWidgetBase::isInMainWindow ( ) const

Returns whether this dock widget is docked into a main window (as opposed to floating)

Note that isFloating() returning false might either mean the dock widget is docked into a main window or into a floating window (groupped/nested with other dock widgets. Use this function then if you need to disambiguate

Definition at line 403 of file DockWidgetBase.cpp.

◆ isInSideBar()

bool DockWidgetBase::isInSideBar ( ) const

Returns where this dockwidget is in a sidebar Similar to sideBarLocation(), but returns a bool.

Definition at line 461 of file DockWidgetBase.cpp.

References KDDockWidgets::None, and sideBarLocation().

◆ isMainWindow()

bool DockWidgetBase::isMainWindow ( ) const

Returns whether widget() is a KDDockWidget::MainWindow.

This function doesn't have anything to do with this dock widget being inside a main window or not, but rather the inverse concept. It's not a very popular usage, but some applications want to dock a main window into another main window. This is done by putting it into a dock widget first.

See also kddockwidgets_example -j

Definition at line 398 of file DockWidgetBase.cpp.

References widget.

◆ isOpen()

bool DockWidgetBase::isOpen ( ) const

Returns whether this dock widget is open. Equivalent to calling toggleAction().isChecked() or isVisible()

Definition at line 361 of file DockWidgetBase.cpp.

Referenced by raise(), and setFloatingGeometry().

◆ isOverlayed()

bool DockWidgetBase::isOverlayed ( ) const

Returns whether this dock widget is overlayed from the side-bar.

This is only relevant when using the auto-hide and side-bar feature. Not to be confused with "floating", which means top-level window.

Definition at line 448 of file DockWidgetBase.cpp.

References mainWindow().

Referenced by onResize().

◆ isOverlayedChanged

void KDDockWidgets::DockWidgetBase::isOverlayedChanged ( bool  )
signal

emitted when isOverlayed changes

See also
isOverlayed

Referenced by KDDockWidgets::MainWindowBase::overlayOnSideBar().

◆ isPersistentCentralDockWidget()

bool DockWidgetBase::isPersistentCentralDockWidget ( ) const

Returns whether this dock widget is the main window persistent central widget This only applies when using MainWindowOption_HasCentralWidget.

Definition at line 853 of file DockWidgetBase.cpp.

Referenced by addDockWidgetAsTab(), KDDockWidgets::MainWindowBase::moveToSideBar(), KDDockWidgets::MainWindowBase::overlayOnSideBar(), and setFloating().

◆ isTabbed()

bool DockWidgetBase::isTabbed ( ) const

returns if this dock widget is tabbed into another

Technically a docked DockWidget always lives in a tab widget, but from the user's perspective it's not tabbed when there's only 1 dock widget, as there are no tabs displayed. Unless the frame is using Option_AlwaysShowsTabs, in which case this method will return true regardless if being the single one.

Definition at line 286 of file DockWidgetBase.cpp.

References Frame, and isFloating.

Referenced by setFloating().

◆ lastOverlayedSize()

QSize DockWidgetBase::lastOverlayedSize ( ) const

returns the last size the widget has when overlayed Empty otherwise

Definition at line 471 of file DockWidgetBase.cpp.

◆ layoutSaverOptions()

DockWidgetBase::LayoutSaverOptions DockWidgetBase::layoutSaverOptions ( ) const

returns the per-dockwidget options which will affect LayoutSaver These are the options which were passed to the constructor

Definition at line 266 of file DockWidgetBase.cpp.

◆ mainWindow()

MainWindowBase * DockWidgetBase::mainWindow ( ) 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.

Definition at line 408 of file DockWidgetBase.cpp.

Referenced by addDockWidgetToContainingWindow(), isOverlayed(), and moveToSideBar().

◆ moveToSideBar()

void DockWidgetBase::moveToSideBar ( )

Minimizes this dock widget to the MainWindow's side-bar.

It will be undocked from current layout. It's previous docked position will be remembered.

This action is only available if the dock widget is docked into a MainWindow. The dockwidget will initially be visible and overlayed on top of the current layout (this is the auto-hide feature).

Definition at line 442 of file DockWidgetBase.cpp.

References mainWindow().

◆ onCloseEvent()

void DockWidgetBase::onCloseEvent ( QCloseEvent e)
overrideprotected

◆ onHidden()

void DockWidgetBase::onHidden ( bool  spontaneous)
protected

Definition at line 763 of file DockWidgetBase.cpp.

References Frame, and hidden().

Referenced by KDDockWidgets::DockWidget::event(), and KDDockWidgets::DockWidgetQuick::event().

◆ onParentChanged()

void DockWidgetBase::onParentChanged ( )
protected

◆ onResize()

bool DockWidgetBase::onResize ( QSize  newSize)
overrideprotected

Definition at line 775 of file DockWidgetBase.cpp.

References isOverlayed().

◆ onShown()

void DockWidgetBase::onShown ( bool  spontaneous)
protected

◆ options()

DockWidgetBase::Options DockWidgetBase::options ( ) const

Returns the dock widget's options which control behaviour.

See also
setOptions(), optionsChanged()

Definition at line 261 of file DockWidgetBase.cpp.

◆ optionsChanged

void KDDockWidgets::DockWidgetBase::optionsChanged ( KDDockWidgets::DockWidgetBase::Options  )
signal

emitted when the options change

See also
setOptions(), options()

Referenced by setOptions().

◆ parentChanged

void KDDockWidgets::DockWidgetBase::parentChanged ( )
signal

signal emitted when the parent changed QtQuick already has QQuickItem::parentChanged(), so add it only for QtWidgets here.

Referenced by onParentChanged().

◆ Q_ENUM()

KDDockWidgets::DockWidgetBase::Q_ENUM ( Options  )

◆ raise()

void DockWidgetBase::raise ( )

Brings the dock widget to the front.

This means:

  • If the dock widget is tabbed with other dock widgets but its tab is not current, it's made current.
  • If the dock widget is floating, QWindow::raise() is called.

This only applies if the dock widget is already open. If closed, does nothing.

Definition at line 382 of file DockWidgetBase.cpp.

References Frame, isOpen(), and setAsCurrentTab().

◆ removedFromSideBar

void KDDockWidgets::DockWidgetBase::removedFromSideBar ( )
signal

emitted when this dock widget is removed from a side-bar. Only relevant for the auto-hide/sidebar feature

◆ setAffinities()

void DockWidgetBase::setAffinities ( const QStringList affinityNames)

Sets the affinity names. Dock widgets can only dock into dock widgets of the same affinity.

By default the affinity is empty and a dock widget can dock into any main window and into any floating window. Usually you won't ever need to call this function, unless you have requirements where certain dock widgets can only dock into certain other dock widgets and main windows.

See also
MainWindowBase::setAffinities().

Note: Call this function right after creating your dock widget, before adding to a main window and before restoring any layout.

Note: Currently you can only call this function once, to keep the code simple and avoid edge cases. This will only be changed if a good use case comes up that requires changing affinities multiple times.

names the affinity names

Definition at line 424 of file DockWidgetBase.cpp.

References affinities(), and QList::removeAll().

Referenced by setAffinityName().

◆ setAffinityName()

void DockWidgetBase::setAffinityName ( const QString name)
Deprecated:
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters
namethe affinity name

Definition at line 419 of file DockWidgetBase.cpp.

References setAffinities().

◆ setAsCurrentTab()

void DockWidgetBase::setAsCurrentTab ( )

Makes this dock widget current in its tab group.

Definition at line 306 of file DockWidgetBase.cpp.

References Frame.

Referenced by raise().

◆ setFloating()

bool DockWidgetBase::setFloating ( bool  floats)

setter to make the dock widget float or dock.

Parameters
floatsIf true makes the dock widget float, otherwise docks it.

Returns true if the request was accomplished

Definition at line 179 of file DockWidgetBase.cpp.

References KDDockWidgets::Config::InternalFlag_DontShowWhenUnfloatingHiddenWindow, isFloating, isPersistentCentralDockWidget(), isTabbed(), KDDockWidgets::Config::self(), and KDDockWidgets::SuggestedGeometryHint_PreserveCenter.

Referenced by KDDockWidgets::MainWindowBase::restoreFromSideBar().

◆ setFloatingGeometry()

void DockWidgetBase::setFloatingGeometry ( QRect  geo)

If this dock widget is floating, then sets its geometry to geo.

If this dock widget is hidden then it stores the geometry so it can be used the next time it becomes floating.

This is just convenience, equivalent to calling window()->setGeometry(rect), with the added bonus of remembering the requested geometry in case it's still hidden.

Definition at line 486 of file DockWidgetBase.cpp.

References isFloating, and isOpen().

◆ setIcon()

void DockWidgetBase::setIcon ( const QIcon icon,
IconPlaces  places = IconPlace::All 
)

Sets an icon to show on title bars and tab bars.

Parameters
placesSpecifies where the icon will be shown (TitleBar, TabBar, ToggleAction, or All)

By default there's no icon set.

See also
icon()

Definition at line 320 of file DockWidgetBase.cpp.

References icon(), iconChanged(), TabBar, TitleBar, and ToggleAction.

◆ setMDIPosition()

void DockWidgetBase::setMDIPosition ( QPoint  pos)

Sets this dock widgets position to pos within the MDI layout This only applies if the main window is in MDI mode, which it is not by default.

Definition at line 827 of file DockWidgetBase.cpp.

References MDILayoutWidget.

◆ setMDISize()

void DockWidgetBase::setMDISize ( QSize  size)

like setMDIPosition(), but for the size.

Definition at line 833 of file DockWidgetBase.cpp.

References MDILayoutWidget.

◆ setMDIZ()

void DockWidgetBase::setMDIZ ( int  z)

like setMDIPosition(), but for the Z only implemented for QtQuick

Definition at line 839 of file DockWidgetBase.cpp.

References Frame.

◆ setOptions()

void DockWidgetBase::setOptions ( Options  options)

Setter for the options. Only Option_NotClosable is allowed to change after construction. For the other options use the constructor only.

See also
options(), optionsChanged()

Definition at line 271 of file DockWidgetBase.cpp.

References Option_NotDockable, options, optionsChanged(), and titleBar().

◆ setTitle()

void DockWidgetBase::setTitle ( const QString title)

setter for the dock widget's title

Parameters
titlethe dock widget's new title
See also
setTitle

Definition at line 243 of file DockWidgetBase.cpp.

References title, and titleChanged().

◆ setUserType()

void DockWidgetBase::setUserType ( int  userType)

Allows the user to set a type on this dock widget The type is opaque and will not be interpreted by KDDockWidgets. This type is passed to FrameWorkWidgetFactory::createTitleBar(), which the user can override and return different TitleBar subclasses, depending on the type.

Definition at line 817 of file DockWidgetBase.cpp.

References userType().

◆ setWidget()

void DockWidgetBase::setWidget ( QWidgetOrQuick widget)
virtual

sets the widget which this dock widget hosts.

Parameters
widgetthe widget to show inside this dock widget. Must not be null.

Ownership for widget is transferred to DockWidgetBase. Ownsership for any previously existing widget is transferred back to the user. Meaning if you call setWidget(A) followed by setWidget(B) then A will have to be deleted by you, while B is owned by the dock widget.

Definition at line 148 of file DockWidgetBase.cpp.

References QWidget::sizePolicy, and widgetChanged().

Referenced by KDDockWidgets::MainWindowBase::setPersistentCentralWidget(), and KDDockWidgets::DockWidgetQuick::setWidget().

◆ show()

void DockWidgetBase::show ( )

Equivalent to QWidget::show(), but it's optimized to reduce flickering on some platforms.

Definition at line 371 of file DockWidgetBase.cpp.

References QWidget::show().

◆ shown

void KDDockWidgets::DockWidgetBase::shown ( )
signal

signal emitted when the DockWidget is shown. As in QEvent::Show.

Referenced by onShown().

◆ sideBarLocation()

SideBarLocation DockWidgetBase::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.

See also
isInSideBar

Definition at line 456 of file DockWidgetBase.cpp.

Referenced by isInSideBar().

◆ skipsRestore()

bool DockWidgetBase::skipsRestore ( ) const

Returns whether this widget has the LayoutSaverOption::Skip flag.

Definition at line 481 of file DockWidgetBase.cpp.

References Skip.

◆ tabIndex()

int DockWidgetBase::tabIndex ( ) const

Returns which tab index this dock widget occupies in the tab widget it's contained in.

Definition at line 312 of file DockWidgetBase.cpp.

References Frame.

◆ title()

QString DockWidgetBase::title ( ) const

Returns the dock widget's title. This title is visible in title bars and tab bars.

See also
setTitle

Definition at line 238 of file DockWidgetBase.cpp.

◆ titleBar()

TitleBar * DockWidgetBase::titleBar ( ) const

Returns this dock widget's title bar.

Note that several dock widgets can have the same title bar, in case they are tabbed together. Hidden dock widgets have no associated title bar.

Definition at line 353 of file DockWidgetBase.cpp.

References Frame.

Referenced by setOptions().

◆ titleChanged

void KDDockWidgets::DockWidgetBase::titleChanged ( const QString title)
signal

signal emitted when the title changed

Parameters
titlethe new title

Referenced by setTitle().

◆ toggleAction()

QAction * DockWidgetBase::toggleAction ( ) const

Returns the QAction that allows to hide/show the dock widget Useful to put in menus.

Definition at line 223 of file DockWidgetBase.cpp.

◆ uniqueName()

QString DockWidgetBase::uniqueName ( ) const

the dock widget's unique name.

Definition at line 233 of file DockWidgetBase.cpp.

◆ userType()

int DockWidgetBase::userType ( ) const

Definition at line 822 of file DockWidgetBase.cpp.

Referenced by setUserType().

◆ widget()

QWidgetOrQuick * DockWidgetBase::widget ( ) const

returns the widget which this dock widget hosts

Definition at line 165 of file DockWidgetBase.cpp.

◆ widgetChanged

void KDDockWidgets::DockWidgetBase::widgetChanged ( KDDockWidgets::QWidgetOrQuick )
signal

emitted when the hosted widget changed

Referenced by KDDockWidgets::DockWidget::DockWidget(), and setWidget().

◆ windowActiveAboutToChange

void KDDockWidgets::DockWidgetBase::windowActiveAboutToChange ( bool  activated)
signal

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.

It's called 'aboutTo' because it's done in an event filter and the target window doesn't have it's 'activeWindow' property updated yet at this point.

Property Documentation

◆ isFloating

bool KDDockWidgets::DockWidgetBase::isFloating
readwrite

Definition at line 1 of file DockWidgetBase.h.

Referenced by isTabbed(), setFloating(), and setFloatingGeometry().

◆ isFocused

bool KDDockWidgets::DockWidgetBase::isFocused
read

Definition at line 1 of file DockWidgetBase.h.

◆ options

KDDockWidgets::DockWidgetBase::Options KDDockWidgets::DockWidgetBase::options
readwrite

◆ title

QString KDDockWidgets::DockWidgetBase::title
readwrite

Definition at line 1 of file DockWidgetBase.h.

Referenced by setTitle().

◆ uniqueName

QString KDDockWidgets::DockWidgetBase::uniqueName
read

Definition at line 1 of file DockWidgetBase.h.

Referenced by byName().

◆ widget

QObject * KDDockWidgets::DockWidgetBase::widget
read

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

© 2019-2022 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/
Generated on Mon Mar 7 2022 02:01:21 for KDDockWidgets API Documentation by doxygen 1.8.20