Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

KDockWidget Class Reference

#include <kdockwidget.h>

List of all members.

Public Types

enum  DockPosition { , DockToSpecialSites = 0x0040 }

Public Slots

void setForcedFixedWidth (int)
void setForcedFixedHeight (int)
void restoreFromForcedFixedSize ()
 
Since:
3.1


int forcedFixedWidth ()
 
Since:
3.1


int forcedFixedHeight ()
 
Since:
3.1


void dockBack ()
void changeHideShowState ()
void undock ()
void toDesktop ()

Signals

void docking (KDockWidget *dw, KDockWidget::DockPosition dp)
void setDockDefaultPos ()
void headerCloseButtonClicked ()
void headerDockbackButtonClicked ()
void iMBeingClosed ()
void hasUndocked ()

Public Methods

 KDockWidget (KDockManager *dockManager, const char *name, const QPixmap &pixmap, QWidget *parent=0L, const QString &strCaption=QString::null, const QString &strTabPageLabel=QString::fromLatin1(""), WFlags f=0)
virtual ~KDockWidget ()
KDockWidget * manualDock (KDockWidget *target, DockPosition dockPos, int spliPos=50, QPoint pos=QPoint(0, 0), bool check=false, int tabIndex=-1)
void setEnableDocking (int pos)
int enableDocking () const
void setDockSite (int pos)
int dockSite () const
void setWidget (QWidget *w)
QWidget * getWidget () const
void setHeader (KDockWidgetAbstractHeader *ah)
void makeDockVisible ()
bool mayBeHide () const
bool mayBeShow () const
KDockManagerdockManager () const
void setToolTipString (const QString &ttStr)
const QString & toolTipString () const
bool isDockBackPossible () const
void setTabPageLabel (const QString &label)
const QString & tabPageLabel () const
virtual bool event (QEvent *)
virtual void show ()
KDockTabGroupparentDockTabGroup () const
QWidget * parentDockContainer () const
 
Since:
3.1


void setDockWindowType (NET::WindowType windowType)
void setDockWindowTransient (QWidget *parent, bool transientEnabled)
KDockWidget * findNearestDockWidget (DockPosition pos)

Protected Slots

void loseFormerBrotherDockWidget ()

Protected Methods

void updateHeader ()
void setLatestKDockContainer (QWidget *)
 
Since:
3.1


QWidget * latestKDockContainer ()
 
Since:
3.1



Protected Attributes

KDockWidget * formerBrotherDockWidget
DockPosition currentDockPos
DockPosition formerDockPos
QString toolTipStr
QString tabPageTitle


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

enum KDockWidget::DockPosition
 

The possible positions where a dockwidget can dock to another dockwidget

Enumeration values:
DockToSpecialSites 
Since:
3.1

Definition at line 427 of file kdockwidget.h.


Constructor & Destructor Documentation

KDockWidget::KDockWidget KDockManager   dockManager,
const char *    name,
const QPixmap &    pixmap,
QWidget *    parent = 0L,
const QString &    strCaption = QString::null,
const QString &    strTabPageLabel = QString::fromLatin1(""),
WFlags    f = 0
 

Construct a dockwidget.

Initially, docking to another and docking to this is allowed for every DockPosition. It is supposed to be no (tab) group. It will taken under control of its dockmanager.

Parameters:
dockManager  The responsible manager (dock helper)
name  Object instance name
pixmap  An icon (for instance shown when docked centered)
parent  Parent widget
strCaption  Title of the dockwidget window (shown when toplevel)
strTabPageLabel  The title of the tab page (shown when in tab page mode), if it is "", only the icon will be shown, if it is 0L, the label is set to strCaption

virtual KDockWidget::~KDockWidget   [virtual]
 

Destructs a dockwidget.


Member Function Documentation

void KDockWidget::changeHideShowState   [slot]
 

Toggles the visibility state of the dockwidget if it is able to be shown or to be hidden.

void KDockWidget::dockBack   [slot]
 

Docks a dockwidget back to the dockwidget that was the neighbor widget before the current dock position.

void KDockWidget::docking KDockWidget *    dw,
KDockWidget::DockPosition    dp
[signal]
 

Emitted when another dock widget is docking to this.

Parameters:
dw  the dockwidget that is docking to this
dp  the DockPosition where it wants to dock to

KDockManager* KDockWidget::dockManager   const [inline]
 

Returns:
The dockmanager that is responsible for this.

Definition at line 543 of file kdockwidget.h.

int KDockWidget::dockSite   const [inline]
 

Returns:
There it is either possible or impossible for another dockwidget to dock to this (an OR'ed set of DockPositions).

Definition at line 485 of file kdockwidget.h.

int KDockWidget::enableDocking   const [inline]
 

Returns:
Where it is either possible or impossible for this to dock to another dockwidget (an OR'ed set of DockPositions).

Definition at line 473 of file kdockwidget.h.

virtual bool KDockWidget::event QEvent *    [virtual]
 

Catches and processes some QWidget events that are interesting for dockwidgets.

KDockWidget* KDockWidget::findNearestDockWidget DockPosition    pos
 

Lookup the nearest dockwidget docked left/right/top/bottom to this one or return 0

Parameters:
pos  is the position the wanted widget is docked to this one
Since:
3.1

QWidget* KDockWidget::getWidget   const [inline]
 

Get the embedded widget.

Returns:
The pointer to the dockwidget's child widget, 0L if there's no such child.

Definition at line 501 of file kdockwidget.h.

void KDockWidget::hasUndocked   [signal]
 

Emitted when the widget has undocked.

void KDockWidget::headerCloseButtonClicked   [signal]
 

Emitted when the close button of the panel (KDockWidgetHeader) has been clicked.

void KDockWidget::headerDockbackButtonClicked   [signal]
 

Emitted when the dockback button of the panel (KDockWidgetHeader) has been clicked.

void KDockWidget::iMBeingClosed   [signal]
 

Emitted when the widget processes a close event.

bool KDockWidget::isDockBackPossible  
 

Returns:
result true, if a dockback is possible, otherwise false.

void KDockWidget::loseFormerBrotherDockWidget   [protected, slot]
 

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" ;-)

void KDockWidget::makeDockVisible  
 

Normally it simply shows the dockwidget.

But additionally, if it is docked to a tab widget (DockCenter), it is set as the active (visible) tab page.

Referenced by KDockManager::makeWidgetDockVisible().

KDockWidget* 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.

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.

Parameters:
target  The dockwidget to dock to
dockPos  One of the DockPositions this is going to dock to
spliPos  The split relation (in percent, or percent*100 in high resolution) between both dockwidgets, target and this
pos  The dock position, mainly of interest for docking to the desktop (as toplevel dockwidget)
check  Only for internal use;
tabIndex  The position index of the tab widget (when in tab page mode), -1 (default) means append
Returns:
result The group dockwidget that replaces the target dockwidget and will be grandparent of target and this.

bool KDockWidget::mayBeHide  
 

Returns:
If it may be possible to hide this.
There are reasons that it's impossible:
  • It is a (tab) group.
  • It is already invisible ;-)
  • The parent of this is the KDockMainWindow.
  • It isn't able to dock to another widget.

bool KDockWidget::mayBeShow  
 

Returns:
If it may be possible to show this. There are reasons that it's impossible:
  • It is a (tab) group.
  • It is already visible ;-)
  • The parent of this is the KDockMainWindow.

KDockTabGroup* KDockWidget::parentDockTabGroup  
 

Returns:
the parent widget of this if it inherits class KDockTabGroup

void KDockWidget::setDockDefaultPos   [signal]
 

Signals that the dock default position is set.

void KDockWidget::setDockSite int    pos [inline]
 

Specify where it is either possible or impossible for another dockwidget to dock to this.

Parameters:
pos  An OR'ed set of DockPositions

Definition at line 480 of file kdockwidget.h.

void KDockWidget::setDockWindowTransient QWidget *    parent,
bool    transientEnabled
 

Sets the type of the dock window

Parameters:
windowType  is type of dock window

void KDockWidget::setDockWindowType NET::WindowType    windowType
 

Sets the type of the dock window

Parameters:
windowType  is type of dock window

void KDockWidget::setEnableDocking int    pos
 

Specify where it is either possible or impossible for this to dock to another dockwidget.

Parameters:
pos  An OR'ed set of DockPositions

void KDockWidget::setForcedFixedHeight int    [slot]
 

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

Since:
3.1

void KDockWidget::setForcedFixedWidth int    [slot]
 

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

Since:
3.1

void KDockWidget::setHeader KDockWidgetAbstractHeader   ah
 

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.

Parameters:
ah  A base class pointer to the dockwidget header

void KDockWidget::setTabPageLabel const QString &    label [inline]
 

Sets a string that is used for the label of the tab page when in tab page mode

Parameters:
label  The new tab page label.

Definition at line 571 of file kdockwidget.h.

References KStdAccel::label().

void KDockWidget::setToolTipString const QString &    ttStr [inline]
 

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.

Parameters:
ttStr  A string for the tooltip on the tab.

Definition at line 555 of file kdockwidget.h.

void KDockWidget::setWidget QWidget *    w
 

Sets the embedded widget.

A QLayout takes care about proper resizing, automatically.

Parameters:
w  The pointer to the dockwidget's child widget.

virtual void KDockWidget::show   [virtual]
 

Add dockwidget management actions to QWidget::show.

const QString& KDockWidget::tabPageLabel   const [inline]
 

Returns:
A string that is used for the label of the tab page when in tab page mode.

Definition at line 576 of file kdockwidget.h.

void KDockWidget::toDesktop   [slot]
 

Docks the widget to the desktop (as a toplevel widget)

Since:
3.1

const QString& KDockWidget::toolTipString   const [inline]
 

Returns:
The tooltip string being shown on the appropriate tab page header when in dock-centered mode.

Definition at line 560 of file kdockwidget.h.

void KDockWidget::undock   [slot]
 

Undocks this. It means it becomes a toplevel widget framed by the system window manager. A small panel at the top of this undocked widget gives the possibility to drag it into another dockwidget by mouse (docking).

void KDockWidget::updateHeader   [protected]
 

Checks some conditions and shows or hides the dockwidget header (drag panel). The header is hidden if:

  • the parent widget is the KDockMainWindow
  • this is a (tab) group dockwidget
  • it is not able to dock to another dockwidget


Member Data Documentation

DockPosition KDockWidget::currentDockPos [protected]
 

the current dock position.

Definition at line 739 of file kdockwidget.h.

KDockWidget* KDockWidget::formerBrotherDockWidget [protected]
 

earlier closest neighbor widget, so it's possible to dock back to it.

Definition at line 735 of file kdockwidget.h.

DockPosition KDockWidget::formerDockPos [protected]
 

the former dock position when it really was at another position before.

Definition at line 743 of file kdockwidget.h.

QString KDockWidget::tabPageTitle [protected]
 

a string used as title of the tab page when in tab page mode

Definition at line 751 of file kdockwidget.h.

QString KDockWidget::toolTipStr [protected]
 

a string used as tooltip for the tab page header when in dock-centered mode.

Definition at line 747 of file kdockwidget.h.


The documentation for this class was generated from the following file:
Generated on Wed Aug 13 23:30:11 2003 for kdelibs by doxygen1.2.18