BBox

Derived from: public BView

Declared in: be/interface/Box.h

Library: libbe.so

[method summary]

A BBox is a purely cosmetic and organizational view that draws a labeled border around its (view) children. The border and label are drawn within the BBox's frame. The current pen size of the view determines the width of the border; by default it's 1.0 coordinate unit.

The BBox's label can be a string or it can be another view, such as a control. For example, a popup menu might be used as the BBox's label, to let the user select a group of options to view in a preference panel:


Constructor and Destructor


BBox()

      BBox(BRect frame, const char *name = NULL,
         uint32 resizingMode = B_FOLLOW_LEFT | B_FOLLOW_TOP,
         uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS | 
               B_NAVIGABLE_JUMP, 
         border_style border = B_FANCY_BORDER) 
      BBox(BMessage *archive) 

Initializes the BBox by passing the frame, name, resizingMode, and flags to the BView constructor, and sets the style of its border to border. Three border styles are possible:

B_PLAIN_BORDER The border is a simple line, lighter on the left and top than on the right and bottom so that the box looks raised from the surrounding surface.
B_FANCY_BORDER The border is a fancier line that looks like a 3D groove inset into the surrounding surface of the view.
B_NO_BORDER There is no border. This option is not that useful for a BBox object; it turns the box into something other than a box.

The constructor also sets the font for displaying the BBox's label to the system bold font (be_bold_font). However, the new object doesn't have a label; call SetLabel() to assign it one.

See also: SetLabel()


~BBox()

      virtual ~BBox()

Frees the label, if the BBox has one.


Member Functions


AttachedToWindow()

      virtual void AttachedToWindow(void)

Makes the BBox's background view color and its low color match the background color of its new parent.


Border() see SetBorder()


Draw()

      virtual void Draw(BRect updateRect)

Draws the box and its label. This function is called automatically in response to update messages.


FrameResized()

      virtual void FrameResized(float width, float height)

Makes sure that the parts of the box that change when it's resized are redrawn.

See also: BView::FrameResized()


Label() see SetLabel()


SetBorder(), Border()

      virtual void SetBorder(border_style border)
      border_style Border(void) const

These functions set and return the style of border the BBox draws--B_PLAIN_BORDER, B_FANCY_BORDER, or B_NO_BORDER. The border style is initially set by the BBox constructor.


SetLabel(), Label(), LabelView()

      void SetLabel(const char *string)
      status_t SetLabel(BView *viewLabel)
      const char *Label(void) const
      BView *LabelView(void) const

These functions set and return the label that's displayed along the top edge of the box. SetLabel() copies string and makes it the BBox's label, freeing the previous label, if any. If string is NULL, it removes the current label and frees it.

Alternately, you can use the second form of SetLabel() to specify a view to be used as the BBox's label. This view can be anything, including controls.

Label() returns a pointer to the BBox's current label, or NULL if it doesn't have one (or the label is a view).

LabelView() returns a pointer to the BView that's being used as the BBox's label, or NULL if either there is no label, or the label is a string.

RETURN CODES

B_OK. No error occurred.

No other errors are returned.


Archived Fields

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

Field Type code Meaning
"_label" B_STRING_TYPE The box's descriptive text.
"_style" B_BOOL_TYPE Exists and is true if the style is not B_FANCY_BORDER.






The Be Book, in lovely HTML, for BeOS Release 4.

Copyright © 1998 Be, Inc. All rights reserved.

Last modified January 4, 1999.