KParts::StatusBarExtension Class

class KParts::StatusBarExtension

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

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

Public Functions

StatusBarExtension(KParts::Part *parent)
StatusBarExtension(KParts::ReadOnlyPart *parent)
void addStatusBarItem(QWidget *widget, int stretch, bool permanent)
void removeStatusBarItem(QWidget *widget)
void setStatusBar(QStatusBar *status)
QStatusBar *statusBar() const

Static Public Members

KParts::StatusBarExtension *childObject(QObject *obj)

Detailed Description

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

[explicit] StatusBarExtension::StatusBarExtension(KParts::Part *parent)

[explicit] StatusBarExtension::StatusBarExtension(KParts::ReadOnlyPart *parent)

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.

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 whether temporary messages hide the 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 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 obj for a child object which inherits from this StatusBarExtension class. Convenience method.

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

Returns the statusbar of the KMainWindow in which this part is currently embedded. This can return nullptr

See also setStatusBar().