Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'KDockWidgetHeader (./kdelibs/kdeui/kdockwidget.h:181)
class KDockWidgetHeader : public KDockWidgetAbstractHeader
{
Q_OBJECT
public:
/**
* Constructs this.
*
* @param parent the parent widget (usually a dockwidget)
* @param name the object instance name
*/
KDockWidgetHeader( KDockWidget* parent, const char* name = 0L );
/**
* Destructs this.
*/
virtual ~KDockWidgetHeader(){};
/**
* Hides the close button and stay button when switching to toplevel or vice versa shows them.
*
* @param t toplevel or not
*/
virtual void setTopLevel( bool t);
/**
* Saves the current button state to a KDE config container object.
*
* @param c the configuration safe
*/
virtual void saveConfig( KConfig* c);
/**
* Loads the current button state from a KDE config container object.
*
* @param c the configuration safe
*/
virtual void loadConfig( KConfig* );
protected slots:
/**
* Set dragging the dockwidget off when the stay button is pressed down and vice versa.
*/
void slotStayClicked();
protected:
/** A layout manager for placing the embedded buttons (close and stay) */
QHBoxLayout* layout;
/** a little button for closing (undocking and hiding) the dockwidget */
KDockButton_Private* closeButton;
/** a little button for enabling/disabling dragging the dockwidget with the mouse */
KDockButton_Private* stayButton;
/** the drag panel (double line) */
KDockWidgetHeaderDrag* drag;
};
/**
* It just hides the special implementation of a dockwidget tab groups (and is member of the dockwidget class set).
* An abstraction what it is currently.
* In general it is like @ref QTabWidget but is more useful for the dockwidget class set.
* More or less a minor helper class for the dockwidget class set.
*
* @author Max Judin (documentation: Falk Brettschneider).
* @version $Id: kdockwidget.h,v 1.9 2000/04/11 22:22:25 falkbr Exp $
*/
kdelibs'KDockWidgetHeader::KDockWidgetHeader() (./kdelibs/kdeui/kdockwidget.cpp:536)
KDockWidgetHeader::KDockWidgetHeader( KDockWidget* parent, const char* name )
:KDockWidgetAbstractHeader( parent, name )
{
layout = new QHBoxLayout( this );
layout->setResizeMode( QLayout::Minimum );
drag = new KDockWidgetHeaderDrag( this, parent );
closeButton = new KDockButton_Private( this, "DockCloseButton" );
closeButton->setPixmap(close_xpm);
closeButton->setFixedSize(9,9);
connect( closeButton, SIGNAL(clicked()), parent, SLOT(undock()));
stayButton = new KDockButton_Private( this, "DockStayButton" );
stayButton->setToggleButton( true );
stayButton->setPixmap(not_close_xpm);
stayButton->setFixedSize(9,9);
connect( stayButton, SIGNAL(clicked()), this, SLOT(slotStayClicked()));
layout->addWidget( drag );
layout->addWidget( stayButton );
layout->addWidget( closeButton );
layout->activate();
drag->setFixedHeight( layout->minimumSize().height() );
}
kdelibs'KDockWidgetHeader::setTopLevel() (./kdelibs/kdeui/kdockwidget.cpp:562)
void KDockWidgetHeader::setTopLevel( bool isTopLevel )
{
if ( isTopLevel ){
stayButton->hide();
closeButton->hide();
drag->setEnabled( true );
} else {
stayButton->show();
closeButton->show();
}
layout->activate();
updateGeometry();
}
kdelibs'KDockWidgetHeader::slotStayClicked() (./kdelibs/kdeui/kdockwidget.cpp:576)
void KDockWidgetHeader::slotStayClicked()
{
closeButton->setEnabled( !stayButton->isOn() );
drag->setEnabled( !stayButton->isOn() );
}
kdelibs'KDockWidgetHeader::saveConfig() (./kdelibs/kdeui/kdockwidget.cpp:582)
void KDockWidgetHeader::saveConfig( KConfig* c )
{
c->writeEntry( QString("%1%2").arg(parent()->name()).arg(":stayButton"), stayButton->isOn() );
}
kdelibs'KDockWidgetHeader::loadConfig() (./kdelibs/kdeui/kdockwidget.cpp:587)
void KDockWidgetHeader::loadConfig( KConfig* c )
{
stayButton->setOn( c->readBoolEntry( QString("%1%2").arg(parent()->name()).arg(":stayButton"), false ) );
slotStayClicked();
}
/*************************************************************************/