This section describes an initial version of a modular Status Bar Framework.

1. Activation

To enable the Status Bar Framework you need an OSGi service which provides an implementation of StatusBarElementContainerProvider.

If you’re using the Standard Desktop Classic Layout an implementation based on StatusBar will be provided out-of-the-box.

2. Status Bar Element Registration

To register a subclass of Node as a status bar element, just annotate it with StatusBarElement:

@StatusBarElement(horizontalAlignment = HorizontalAlignment.CENTER, position = 20)
public class SampleStatusBarElement extends BorderPane {

The status bar elements are sorted per HorizontalAlignment according to their positions.

Please note that it’s a best practice to leave some space between positions so that other modules have a chance to register other status bar elements where they like to.

If two adjacent status bar elements are positioned in different thousand groups (e.g. position = 910 and position = 1120), a Separator gets automatically registered between them.

3. Context Sensitive Implementations

Most status bar elements will likely want to reflect some state in the application. You can use the Context Framework e.g. to listen for objects in the active or in the application-wide context.

The Context Framework allows you to design your modules in a loosely-coupled way.

4. Standard Status Bar Elements

Drombler FX provides some standard status bar elements out-of-the-box.

4.1. Progress Monitor Status Bar Element

Drombler FX provides a Progress Monitor Status Bar Element out of the box. Please see Progress Monitor Activation for more information about how to activate this module.