BPictureButton

Constructor and Destructor

BPictureButton()

BPictureButton::BPictureButton(BRect frame, const char *name, BPicture *off, BPicture *on, BMessage *message, uint32 behavior = B_ONE_STATE_BUTTON, uint32 resizingMode = B_FOLLOW_LEFT | B_FOLLOW_TOP, uint32 flags = B_WILL_DRAW | B_NAVIGABLE)
BPictureButton::BPictureButton(BMessage *archive)

Creates a new BPictureButton. The off and an on images correspond to the object’s B_CONTROL_OFF and B_CONTROL_ON values; the behavior argument sets the object to be a one-state (B_ONE_STATE_BUTTON) or two-state (B_TWO_STATE_BUTTON) control, as explained in the class overview. The other arguments are inherited from the BView and BControl constructors. The object’s initial value is B_CONTROL_OFF.

If the BPictureButton can be disabled, it needs additional “disabled” images, as set through SetDisabledOff() and SetDisabledOn().

The BPictureButton copies all BPictures that are passed to it. It’s the caller’s responsibility to free the BPicture objects that are passed as arguments.

~BPictureButton()

virtual BPictureButton::~BPictureButton()

Deletes the object and its data.

Member Functions

Archive()

virtual BPictureButton::Archive(BMessage *archive, bool deep = true) const

Stores the BPictureButton in the BMessage archive.

See also: BArchivable::Archive(), Instantiate() static function

SetBehavior(), Behavior()

virtual void BPictureButton::SetBehavior(uint32 behavior)
uint32 BPictureButton::Behavior() const

These functions set and return whether the BPictureButton is a one-state (B_ONE_STATE_BUTTON) or a two-state (B_TWO_STATE_BUTTON) control. A one-state object acts like a normal button: It’s on while the user is pressing it, and off otherwise. A two-state object switches to the opposite state each time the user presses and release the button.

SetEnabledOff(), EnabledOff(), SetEnabledOn(), EnabledOn(), SetDisabledOff(), DisabledOff(), SetDisabledOn(), DisabledOn()

virtual void BPictureButton::SetEnabledOff(BPicture *picture)
BPicture *BPictureButton::EnabledOff() const
virtual void BPictureButton::SetEnabledOn(BPicture *picture)
BPicture *BPictureButton::EnabledOn() const
virtual void BPictureButton::SetDisabledOff(BPicture *picture)
BPicture *BPictureButton::DisabledOff() const
virtual void BPictureButton::SetDisabledOn(BPicture *picture)
BPicture *BPictureButton::DisabledOn() const

These pairs of functions set and return one of the four images the BPictureButton displays: enabled-and-on, enabled-and-off, disabled-and-on, and disabled-and-off, respectively. If this is a one-state object, the disabled-and-on image needn’t be set since a disabled one-state control can never be on.

The BPicture-retrieving functions return NULL if the requested image hasn’t been set.

The BPictureButton copies all BPicture that are passed to it. It’s the caller’s responsibility to free the BPicture objects that are passed as arguments.

Static Functions

Instantiate()

static BArchivable *BPictureButton::Instantiate(BMessage *archive)

Returns a new BPictureButton object, allocated by new and created with the version of the constructor that takes a BMessage archive. However, if the archive message doesn’t contain data for a BPictureButton object, this function returns NULL.

See also: BArchivable::Instantiate(), instantiate_object(), Archive()

Archived Fields

The Archive() function adds the following fields to its BMessage argument:

Field

Type code

Description

_e_on (deep copy only)

B_MESSAGE_TYPE

BPicture displayed when control is enabled and on.

_e_off (deep copy only)

B_MESSAGE_TYPE

BPicture displayed when control is enabled and off.

_d_on (deep copy only)

B_MESSAGE_TYPE

BPicture displayed when control is disabled and on.

_d_off (deep copy only)

B_MESSAGE_TYPE

BPicture displayed when control is disabled and off.

_behave

B_INT32_TYPE

BPictureButton behavior either B_ONE_STATE_BUTTON or B_TWO_STATE_BUTTON

See also: BArchivable::Archive()