kparts Library API Documentation

KParts::StatusBarExtension Class Reference

an extension for KParts that allows more sophisticated statusbar handling More...

#include <statusbarextension.h>

Inheritance diagram for KParts::StatusBarExtension:

QObject List of all members.

Public Member Functions

 StatusBarExtension (KParts::ReadOnlyPart *parent, const char *name=0L)
void addStatusBarItem (QWidget *widget, int stretch, bool permanent)
void removeStatusBarItem (QWidget *widget)
KStatusBarstatusBar () const
void setStatusBar (KStatusBar *status)
virtual bool eventFilter (QObject *watched, QEvent *ev)

Static Public Member Functions

StatusBarExtensionchildObject (QObject *obj)

Detailed Description

an extension for KParts that allows more sophisticated statusbar handling

Every part can use this class to customize the statusbar as long as it is active. Add items via addStatusBarItem and remove an item with removeStatusBarItem.

IMPORTANT: do NOT add any items immediately after constructing the extension. Give the application time to set the statusbar in the extension if necessary.

Since:
3.2

Definition at line 51 of file statusbarextension.h.


Member Function Documentation

void StatusBarExtension::addStatusBarItem QWidget widget,
int  stretch,
bool  permanent
 

This adds a widget to the statusbar for this part.

If you use this method instead of using statusBar() directly, this extension will take care of removing the items when the parts GUI is deactivated and will re-add them when it is reactivated. The parameters are the same as QStatusBar::addWidget().

Note that you can't use KStatusBar methods (inserting text items by id) but you can create a KStatusBarLabel with a dummy id instead, and use it directly in order to get the same look and feel.

Parameters:
widget the widget to add
stretch the stretch factor. 0 for a minimum size.
permanent passed to QStatusBar::addWidget as the "permanent" bool. Note that the item isn't really permanent though, it goes away when the part is unactivated. This simply controls where temporary messages hide the widget, and whether it's added to the left or to the right side.
IMPORTANT: do NOT add any items immediately after constructing the extension. Give the application time to set the statusbar in the extension if necessary.

Definition at line 151 of file statusbarextension.cpp.

References QValueList< StatusBarItem >::append(), QValueList< StatusBarItem >::fromLast(), and statusBar().

void StatusBarExtension::removeStatusBarItem QWidget widget  ) 
 

Remove a widget from the statusbar for this part.

Definition at line 161 of file statusbarextension.cpp.

References QValueList< StatusBarItem >::begin(), QValueList< StatusBarItem >::end(), endl(), kdWarning(), QValueList< StatusBarItem >::remove(), and statusBar().

KStatusBar * StatusBarExtension::statusBar  )  const
 

Returns:
the statusbar of the KMainWindow in which this part is currently embedded. WARNING: this could return 0L

Definition at line 135 of file statusbarextension.cpp.

References QObject::parent(), KMainWindow::statusBar(), and QWidget::topLevelWidget().

Referenced by addStatusBarItem(), and removeStatusBarItem().

void StatusBarExtension::setStatusBar KStatusBar status  ) 
 

This allows the hosting application to set a particular KStatusBar for this part.

If it doesn't do this, the statusbar used will be the one of the KMainWindow in which the part is embedded. Konqueror uses this to assign a view-statusbar to the part. The part should never call this method!

Definition at line 146 of file statusbarextension.cpp.

StatusBarExtension * StatusBarExtension::childObject QObject obj  )  [static]
 

Queries obj for a child object which inherits from this BrowserExtension class.

Convenience method.

Definition at line 90 of file statusbarextension.cpp.

References QObject::children().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kparts Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 20 09:49:34 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003