KParts::StatusBarExtension Class

Header: #include <StatusBarExtension>
CMake: find_package(KF6 REQUIRED COMPONENTS Parts)
target_link_libraries(mytarget PRIVATE KF6::Parts)

Public Functions

void addStatusBarItem(QWidget *widget, int stretch, bool permanent)
void removeStatusBarItem(QWidget *widget)
void setStatusBar(QStatusBar *status)
QStatusBar *statusBar() const

Reimplemented Public Functions

virtual bool eventFilter(QObject *watched, QEvent *ev) override

Static Public Members

KParts::StatusBarExtension *childObject(QObject *obj)

Detailed Description

@class StatusBarExtension statusbarextension.h <KParts/StatusBarExtension>

@short 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.

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.

@param widget the widget to add @param stretch the stretch factor. 0 for a minimum size. @param 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 whether temporary messages hide the @p widget, and whether it's added to the left or to the right side.

@Note that the widget does not technically become a child of the StatusBarExtension in a QObject sense. However, it @em will be deleted when the StatusBarExtension is deleted.

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

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

Queries @p obj for a child object which inherits from this StatusBarExtension class. Convenience method.

[override virtual] bool StatusBarExtension::eventFilter(QObject *watched, QEvent *ev)

@internal

void StatusBarExtension::removeStatusBarItem(QWidget *widget)

Remove a widget from the statusbar for this part.

void StatusBarExtension::setStatusBar(QStatusBar *status)

This allows the hosting application to set a particular QStatusBar 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!

See also statusBar().

QStatusBar *StatusBarExtension::statusBar() const

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

See also setStatusBar().