StatusBarGUIManipulator-class

Derived from: public GUIManipulator

Declared in: StatusBarGUIManipulator.h


Overview

The classes that inherit from StatusBarGUIManipulator are manipulators that put up a GUI in the status-bar in the paint-window. The area for the GUI is big enough to hold only a couple of small controls, but the advantage over a WindowGUIManipulator is that there is no need to open a separate window for the manipulator's GUI.

Constructor and Destructor

StatusBarGUIManipulator()

  StatusBarGUIManipulator()
Does nothing.

~StatusBarGUIManipulator()

  virtual ~StatusBarGUIManipulator()
Does absolutely nothing. Really.

Member Functions

MakeConfigurationView()

  virtual  BView*  MakeConfigurationView(float max_width,
    float max_height, BMessenger* target)
This function should create and return a view that contains the necessary controls for the manipulator. The size of that view should not exceed max_width or max_height.

The returned view will be positioned in the status-bar as shown in the following picture.

Whenever the value of one of the controls is changed, that change should also be reported to this manipulator. This is most conveniently done by calling the SetManipulatorSettings-function. If a continuos preview is needed when the control (e.g. a slider) is adjusted a message should be sent to target when the adjusting is started. The what-member of that message should be HS_MANIPULATOR_ADJUSTING_STARTED. When the adjusting is finished another message should be sent to target. That message should have HS_MANIPULATOR_ADJUSTING_FINISHED as its what-member. Note that HS_MANIPULATOR_ADJUSTING_STARTED-message must always be followed by HS_MANIPULATOR_ADJUSTING_FINISHED-message at some later point. If only single change needs to be reported (like changing of a number), it can be done by sending message containing just the HS_MANIPULATOR_ADJUSTING_FINISHED as what member.

The target must be copied as it will be deleted right after this function has been called.