KDockWidget Class Reference
Floatable widget that can be dragged around with the mouse and encapsulate the actual widgets (and member of the dockwidget class set). More...
#include <kdockwidget.h>
Inheritance diagram for KDockWidget:

Public Types | |
enum | DockPosition { , DockToSpecialSites = 0x0040 } |
The possible positions where a dockwidget can dock to another dockwidget. More... | |
Public Slots | |
void | setForcedFixedWidth (int) |
subject to changes. | |
void | setForcedFixedHeight (int) |
subject to changes. | |
void | restoreFromForcedFixedSize () |
| |
int | forcedFixedWidth () |
| |
int | forcedFixedHeight () |
| |
void | dockBack () |
Docks a dockwidget back to the dockwidget that was the neighbor widget before the current dock position. | |
void | changeHideShowState () |
Toggles the visibility state of the dockwidget if it is able to be shown or to be hidden. | |
void | undock () |
Undocks this. | |
void | toDesktop () |
Docks the widget to the desktop (as a toplevel widget)
| |
Signals | |
void | docking (KDockWidget *dw, KDockWidget::DockPosition dp) |
Emitted when another dock widget is docking to this. | |
void | setDockDefaultPos () |
Signals that the dock default position is set. | |
void | headerCloseButtonClicked () |
Emitted when the close button of the panel (KDockWidgetHeader) has been clicked. | |
void | headerDockbackButtonClicked () |
Emitted when the dockback button of the panel (KDockWidgetHeader) has been clicked. | |
void | iMBeingClosed () |
Emitted when the widget processes a close event. | |
void | hasUndocked () |
Emitted when the widget has undocked. | |
Public Methods | |
KDockWidget (KDockManager *dockManager, const char *name, const QPixmap &pixmap, QWidget *parent=0L, const QString &strCaption=0L, const QString &strTabPageLabel="", WFlags f=0) | |
Construct a dockwidget. | |
virtual | ~KDockWidget () |
Destructs a dockwidget. | |
KDockWidget * | manualDock (KDockWidget *target, DockPosition dockPos, int spliPos=50, QPoint pos=QPoint(0, 0), bool check=false, int tabIndex=-1) |
This is a key method of this class! Use it to dock dockwidgets to another dockwidget at the right position within its KDockMainWindow or a toplevel dockwidget. | |
void | setEnableDocking (int pos) |
Specify where it is either possible or impossible for this to dock to another dockwidget. | |
int | enableDocking () const |
void | setDockSite (int pos) |
Specify where it is either possible or impossible for another dockwidget to dock to this. | |
int | dockSite () const |
void | setWidget (QWidget *w) |
Sets the embedded widget. | |
QWidget * | getWidget () const |
Get the embedded widget. | |
void | setHeader (KDockWidgetAbstractHeader *ah) |
Sets the header of this dockwidget. | |
void | makeDockVisible () |
Normally it simply shows the dockwidget. | |
bool | mayBeHide () const |
bool | mayBeShow () const |
KDockManager * | dockManager () const |
void | setToolTipString (const QString &ttStr) |
Stores a string for a tooltip. | |
const QString & | toolTipString () const |
bool | isDockBackPossible () const |
void | setTabPageLabel (const QString &label) |
Sets a string that is used for the label of the tab page when in tab page mode. | |
const QString & | tabPageLabel () const |
virtual bool | event (QEvent *) |
Catches and processes some QWidget events that are interesting for dockwidgets. | |
virtual void | show () |
Add dockwidget management actions to QWidget::show. | |
KDockTabGroup * | parentDockTabGroup () const |
QWidget * | parentDockContainer () const |
| |
void | setDockWindowType (NET::WindowType windowType) |
Sets the type of the dock window. | |
void | setDockWindowTransient (QWidget *parent, bool transientEnabled) |
Sets the type of the dock window. | |
KDockWidget * | findNearestDockWidget (DockPosition pos) |
Lookup the nearest dockwidget docked left/right/top/bottom to this one or return 0. | |
Protected Slots | |
void | loseFormerBrotherDockWidget () |
Does several things here when it has noticed that the former brother widget (closest neighbor) gets lost. | |
virtual void | paintEvent (QPaintEvent *) |
virtual void | mousePressEvent (QMouseEvent *) |
virtual void | mouseReleaseEvent (QMouseEvent *) |
virtual void | mouseMoveEvent (QMouseEvent *) |
virtual void | leaveEvent (QEvent *) |
Protected Methods | |
void | updateHeader () |
Checks some conditions and shows or hides the dockwidget header (drag panel). | |
void | setLatestKDockContainer (QWidget *) |
| |
QWidget * | latestKDockContainer () |
| |
Protected Attributes | |
KDockWidget * | formerBrotherDockWidget |
earlier closest neighbor widget, so it's possible to dock back to it. | |
DockPosition | currentDockPos |
the current dock position. | |
DockPosition | formerDockPos |
the former dock position when it really was at another position before. | |
QString | toolTipStr |
a string used as tooltip for the tab page header when in dock-centered mode. | |
QString | tabPageTitle |
a string used as title of the tab page when in tab page mode |
Detailed Description
Floatable widget that can be dragged around with the mouse and encapsulate the actual widgets (and member of the dockwidget class set).You just grip the double-lined panel, tear it off its parent widget, drag it somewhere and let it loose. Depending on the position where you leave it, the dockwidget becomes a toplevel window on the desktop (floating mode) or docks to a new widget (dock mode). Note: A KDockWidget can only be docked to a KDockWidget.
If you want to use this kind of widget, your main application window has to be a KDockMainWindow. That is because it has got several additional dock management features, for instance a KDockManager that has an overview over all dockwidgets and and a dockmovemanager (internal class) that handles the dock process.
Usually you create an KDockWidget that covers the actual widget in this way:
... KDockMainWindow* mainWidget; ... KDockWidget* dock = 0L; dock = mainWidget->createDockWidget( "Any window caption", nicePixmap, 0L, i18n("window caption")); // 0L==no parent QWidget* actualWidget = new QWidget( dock); dock->setWidget( actualWidget); // embed it dock->setToolTipString(i18n("That's me")); // available when appearing as tab page ...
See KDockMainWindow how a dockwidget is docked in.
- Author:
- Max Judin (documentation: Falk Brettschneider).
Definition at line 392 of file kdockwidget.h.
Member Enumeration Documentation
|
The possible positions where a dockwidget can dock to another dockwidget.
Definition at line 427 of file kdockwidget.h. Referenced by manualDock(). |
Constructor & Destructor Documentation
|
Construct a dockwidget.
Initially, docking to another and docking to this is allowed for every
Definition at line 383 of file kdockwidget.cpp. References QObject::connect(). Referenced by manualDock(). |
|
Destructs a dockwidget.
Definition at line 433 of file kdockwidget.cpp. References KDockWidgetPrivate::blockHasUndockedSignal, KDockManager::childDock, KDockManager::d, iMBeingClosed(), latestKDockContainer(), KDockWidgetPrivate::pendingDtor, undock(), and KDockManager::undockProcess. |
Member Function Documentation
|
This is a key method of this class! Use it to dock dockwidgets to another dockwidget at the right position within its KDockMainWindow or a toplevel dockwidget. If the target is null, it will become a toplevel dockwidget at position pos; Note: Docking to another dockwidget means exactly: A new parent dockwidget will be created, that replaces the target dockwidget and contains another single helper widget (tab widget or panner) which contains both dockwidgets, this and the target dockwidget. So consider parent<->child relationships change completely during such actions.
Definition at line 812 of file kdockwidget.cpp. References KDockSplitter::activate(), applyToWidget(), KDockWidgetPrivate::blockHasUndockedSignal, KDockManager::change(), QObject::connect(), currentDockPos, KDockSplitter::deactivate(), docking(), DockPosition, eDocking, formerBrotherDockWidget, formerDockPos, QWidget::frameGeometry(), QWidget::geometry(), KDockSplitter::getFirst(), QWidget::icon(), iMBeingClosed(), QTabWidget::insertTab(), QString::isEmpty(), isGroup, isTabGroup, KDockWidget(), latestKDockContainer(), loseFormerBrotherDockWidget(), QWidget::move(), parentDockContainer(), parentDockTabGroup(), QWidget::parentWidget(), KDockManager::replaceDock(), QWidget::resize(), sDocking, QWidget::setFocusPolicy(), KDockSplitter::setKeepSize(), setLatestKDockContainer(), KDockSplitter::setOpaqueResize(), QTabWidget::setTabToolTip(), setWidget(), QWidget::show(), show(), KDockManager::splitterHighResolution(), KDockManager::splitterKeepSize(), KDockManager::splitterOpaqueResize(), tabPageLabel(), toolTipStr, toolTipString(), undock(), and widget. Referenced by dockBack(), KDockManager::readConfig(), and toDesktop(). |
|
Specify where it is either possible or impossible for this to dock to another dockwidget.
Definition at line 635 of file kdockwidget.cpp. References QWidget::pos(), and updateHeader(). |
|
Definition at line 473 of file kdockwidget.h. |
|
Specify where it is either possible or impossible for another dockwidget to dock to this.
Definition at line 480 of file kdockwidget.h. |
|
Definition at line 485 of file kdockwidget.h. Referenced by isDockBackPossible(). |
|
Sets the embedded widget. A QLayout takes care about proper resizing, automatically.
Definition at line 1250 of file kdockwidget.cpp. References KDockManager::d, KDockWidgetPrivate::isContainer, QWidget::ownCursor(), QWidget::reparent(), QWidget::setCursor(), and updateHeader(). Referenced by manualDock(), and setHeader(). |
|
Get the embedded widget.
Definition at line 501 of file kdockwidget.h. Referenced by findNearestDockWidget(). |
|
Sets the header of this dockwidget. A QLayout takes care about proper resizing, automatically. The header contains the drag panel, the close button and the stay button.
Definition at line 617 of file kdockwidget.cpp. References setWidget(). |
|
Normally it simply shows the dockwidget.
But additionally, if it is docked to a tab widget ( Definition at line 1334 of file kdockwidget.cpp. References dockBack(), QWidget::isVisible(), parentDockTabGroup(), QWidget::parentWidget(), show(), QWidget::show(), and QTabWidget::showPage(). Referenced by changeHideShowState(), dockBack(), KDockMainWindow::makeDockVisible(), KDockManager::makeWidgetDockVisible(), and show(). |
|
Definition at line 1306 of file kdockwidget.cpp. References QWidget::isVisible(), and KDockManager::main. Referenced by changeHideShowState(). |
|
Definition at line 1312 of file kdockwidget.cpp. References QWidget::isVisible(), and KDockManager::main. Referenced by changeHideShowState(). |
|
Definition at line 543 of file kdockwidget.h. Referenced by KDockWidgetAbstractHeaderDrag::KDockWidgetAbstractHeaderDrag(). |
|
Stores a string for a tooltip. That tooltip string has only a meaning when this dockwidget is shown as tab page. In this case the tooltip is shown when one holds the mouse cursor on the tab page header. Such tooltip will for instance be useful, if you use only icons there. Note: Setting an empty string switches the tooltip off.
Definition at line 555 of file kdockwidget.h. |
|
Definition at line 560 of file kdockwidget.h. Referenced by manualDock(). |
|
Definition at line 1393 of file kdockwidget.cpp. References dockSite(), formerBrotherDockWidget, and formerDockPos. Referenced by KDockWidgetHeader::setTopLevel(). |
|
Sets a string that is used for the label of the tab page when in tab page mode.
Definition at line 571 of file kdockwidget.h. References KStdAccel::label(). |
|
Definition at line 576 of file kdockwidget.h. Referenced by event(), and manualDock(). |
|
Catches and processes some QWidget events that are interesting for dockwidgets.
Reimplemented from QWidget. Definition at line 742 of file kdockwidget.cpp. References KDockManager::change(), QWidget::event(), QWidget::hide(), iMBeingClosed(), parentDockTabGroup(), QWidget::parentWidget(), KDockWidgetPrivate::pendingFocusInEvent, QWidget::setFocus(), QTabWidget::setTabLabel(), QWidget::show(), tabPageLabel(), and QEvent::type(). |
|
Add dockwidget management actions to QWidget::show.
Reimplemented from QWidget. Definition at line 709 of file kdockwidget.cpp. References QWidget::isVisible(), KDockManager::main, makeDockVisible(), setDockDefaultPos(), KDockManager::setDockDefaultPos(), and QWidget::show(). Referenced by KDockManager::activate(), makeDockVisible(), manualDock(), KDockManager::readConfig(), and undock(). |
|
Definition at line 1030 of file kdockwidget.cpp. References QWidget::parentWidget(). Referenced by KDockManager::activate(), event(), makeDockVisible(), manualDock(), and undock(). |
|
Definition at line 1038 of file kdockwidget.cpp. References QWidget::parentWidget(). Referenced by manualDock(). |
|
Sets the type of the dock window.
Definition at line 727 of file kdockwidget.cpp. References QWidget::parentWidget(), KDockWidgetPrivate::windowType, and NET::WindowType. |
|
Sets the type of the dock window.
Definition at line 735 of file kdockwidget.cpp. References KDockWidgetPrivate::_parent, QWidget::parentWidget(), and KDockWidgetPrivate::transient. |
|
Lookup the nearest dockwidget docked left/right/top/bottom to this one or return 0.
Definition at line 785 of file kdockwidget.cpp. References getWidget(), and QWidget::pos(). |
|
subject to changes. It doesn't completely work yet without small hacks from within the calling application (Perhaps KDE 3.1.x oder 3.2 width is in pixel. It only affects a widget, which is placed directly into a horizontal KDockSplitter
Definition at line 1047 of file kdockwidget.cpp. References KDockWidgetPrivate::forcedWidth, and QWidget::setFixedWidth(). |
|
subject to changes. It doesn't completely work yet without small hacks from within the calling application (Perhaps KDE 3.1.x oder 3.2 height is in pixel. It only affects a widget, which is placed directly into a vertical KDockSplitter
Definition at line 1056 of file kdockwidget.cpp. References KDockWidgetPrivate::forcedHeight, and QWidget::setFixedHeight(). |
|
Definition at line 1075 of file kdockwidget.cpp. References KDockWidgetPrivate::forcedWidth, QWidget::setMaximumHeight(), QWidget::setMaximumWidth(), QWidget::setMinimumHeight(), and QWidget::setMinimumWidth(). |
|
Definition at line 1065 of file kdockwidget.cpp. References KDockWidgetPrivate::forcedWidth. |
|
Definition at line 1070 of file kdockwidget.cpp. References KDockWidgetPrivate::forcedHeight. |
|
Docks a dockwidget back to the dockwidget that was the neighbor widget before the current dock position.
Definition at line 1361 of file kdockwidget.cpp. References formerBrotherDockWidget, formerDockPos, KDockWidgetPrivate::index, KDockManager::main, makeDockVisible(), manualDock(), and KDockWidgetPrivate::splitPosInPercent. Referenced by KDockManager::eventFilter(), and makeDockVisible(). |
|
Toggles the visibility state of the dockwidget if it is able to be shown or to be hidden.
Definition at line 1318 of file kdockwidget.cpp. References KDockManager::main, makeDockVisible(), mayBeHide(), mayBeShow(), and undock(). |
|
|
Docks the widget to the desktop (as a toplevel widget)
Definition at line 1087 of file kdockwidget.cpp. References manualDock(), QWidget::mapToGlobal(), QPoint::setX(), QPoint::setY(), QPoint::x(), and QPoint::y(). Referenced by KDockManager::eventFilter(). |
|
Checks some conditions and shows or hides the dockwidget header (drag panel). The header is hidden if:
Definition at line 643 of file kdockwidget.cpp. References KDockManager::main, QWidget::setCursor(), QWidget::setMouseTracking(), KDockWidgetAbstractHeader::setTopLevel(), and QWidget::style(). Referenced by setEnableDocking(), and setWidget(). |
|
Definition at line 597 of file kdockwidget.cpp. References KDockWidgetPrivate::container. Referenced by manualDock(). |
|
Definition at line 608 of file kdockwidget.cpp. References KDockWidgetPrivate::container. Referenced by manualDock(), and ~KDockWidget(). |
|
Emitted when another dock widget is docking to this.
Referenced by manualDock(). |
|
Signals that the dock default position is set.
Referenced by show(). |
|
Emitted when the close button of the panel (KDockWidgetHeader) has been clicked.
|
|
Emitted when the dockback button of the panel (KDockWidgetHeader) has been clicked.
|
|
Emitted when the widget processes a close event.
Referenced by event(), loseFormerBrotherDockWidget(), manualDock(), undock(), and ~KDockWidget(). |
|
Emitted when the widget has undocked.
Referenced by undock(). |
|
Does several things here when it has noticed that the former brother widget (closest neighbor) gets lost. The former brother widget is needed for a possible dockback action, to speak with the Beatles: "To get back to where you once belonged" ;-) Definition at line 1352 of file kdockwidget.cpp. References QObject::disconnect(), formerBrotherDockWidget, iMBeingClosed(), and QWidget::repaint(). Referenced by manualDock(), and undock(). |
Member Data Documentation
|
earlier closest neighbor widget, so it's possible to dock back to it.
Definition at line 735 of file kdockwidget.h. Referenced by dockBack(), isDockBackPossible(), loseFormerBrotherDockWidget(), manualDock(), and undock(). |
|
the current dock position.
Definition at line 739 of file kdockwidget.h. Referenced by KDockManager::eventFilter(), manualDock(), and undock(). |
|
the former dock position when it really was at another position before.
Definition at line 743 of file kdockwidget.h. Referenced by dockBack(), isDockBackPossible(), manualDock(), and undock(). |
|
a string used as tooltip for the tab page header when in dock-centered mode.
Definition at line 747 of file kdockwidget.h. Referenced by manualDock(). |
|
a string used as title of the tab page when in tab page mode
Definition at line 751 of file kdockwidget.h. |
The documentation for this class was generated from the following files: