Displays a list of menu items including additional menus arranged hierarchically. More...
Inherits BView.
Inherited by BMenuBar, and BPopUpMenu.
Public Member Functions | |
BMenu (BMessage *archive) | |
Archive constructor. | |
BMenu (const char *name, float width, float height) | |
Creates a new menu object with a B_ITEMS_IN_MATRIX layout and the specified name, width, and height. | |
BMenu (const char *name, menu_layout layout=B_ITEMS_IN_COLUMN) | |
Creates a new menu object with the specified name and layout. | |
virtual | ~BMenu () |
Destructor. | |
virtual bool | AddDynamicItem (add_state state) |
Implemented by subclasses to add their own items to the menu. | |
bool | AddItem (BMenu *menu) |
Add a submenu to the end of the list. | |
bool | AddItem (BMenu *menu, BRect frame) |
Adds a submenu in the specified frame rectangle within the menu. | |
bool | AddItem (BMenu *menu, int32 index) |
Add a submenu at the specified index. | |
bool | AddItem (BMenuItem *item) |
Adds a menu item to the end of the list. | |
bool | AddItem (BMenuItem *item, BRect frame) |
Adds a menu item in the specified frame rectangle within the menu. | |
bool | AddItem (BMenuItem *item, int32 index) |
Adds a menu item at the specified index. | |
bool | AddList (BList *list, int32 index) |
Add a list of menu items at the specified index. | |
bool | AddSeparatorItem () |
Adds a separator item to the end of the menu. | |
virtual void | AllAttached () |
Similar to AttachedToWindow() but this method is triggered after all child views have already been attached to a window. | |
virtual void | AllDetached () |
Similar to AttachedToWindow() but this method is triggered after all child views have already been detached from a window. | |
bool | AreTriggersEnabled () const |
Returns whether or not triggers are enabled. | |
int32 | CountItems () const |
Returns the number of items added to the menu. | |
virtual void | DetachedFromWindow () |
Hook method called when the object is detached from a window. | |
virtual void | DoLayout () |
Layout view within the layout context. | |
virtual void | DrawBackground (BRect updateRect) |
Draw the menu background within the bounds of updateRect. | |
BMenuItem * | FindItem (const char *name) const |
Returns a pointer to the menu item with the specified label. | |
BMenuItem * | FindItem (uint32 command) const |
Returns a pointer to the menu item with the specified command for its associated message. | |
BMenuItem * | FindMarked () |
Return a pointer to the first marked menu item. | |
int32 | FindMarkedIndex () |
Return the index of the first marked menu item. | |
virtual void | FrameMoved (BPoint where) |
Hook method called when the view is moved. | |
virtual void | FrameResized (float width, float height) |
Hook method called when the view is resized. | |
virtual void | GetPreferredSize (float *_width, float *_height) |
Fill out the preferred width and height of the view into the _width and _height parameters. | |
virtual status_t | GetSupportedSuites (BMessage *data) |
int32 | IndexOf (BMenu *menu) const |
Returns the index of the specified submenu. | |
int32 | IndexOf (BMenuItem *item) const |
Returns the index of the specified menu item. | |
bool | IsEnabled () const |
Returns whether or not the menu is enabled. | |
bool | IsLabelFromMarked () |
Returns whether or not the menu is in label-from-marked mode. | |
bool | IsRadioMode () const |
Returns whether or not the menu is in radio mode. | |
bool | IsRedrawAfterSticky () const |
Returns whether or not the menu is in redraw-after-sticky mode. | |
BMenuItem * | ItemAt (int32 index) const |
Returns a pointer to the menu item at the specified index. | |
virtual void | MakeFocus (bool focus=true) |
Makes the view the current focus view of the window or gives up being the window's focus view. | |
float | MaxContentWidth () const |
Return the maximum width of the menu items' content area. | |
virtual BSize | MaxSize () |
Return the maximum size of the view. | |
virtual BSize | MinSize () |
Return the minimum size of the view. | |
virtual status_t | Perform (perform_code d, void *arg) |
Perform some action. (Internal Method) | |
virtual BSize | PreferredSize () |
Return the preferred size of the view. | |
bool | RemoveItem (BMenu *menu) |
Remove and delete a submenu from the menu. | |
bool | RemoveItem (BMenuItem *item) |
Remove and delete the specified item from the menu. | |
BMenuItem * | RemoveItem (int32 index) |
Remove the item at the specified index from the menu. | |
bool | RemoveItems (int32 index, int32 count, bool deleteItems=false) |
Remove count number of items from the menu starting at the specified index and delete them if deleteItems is true . | |
virtual void | ResizeToPreferred () |
Resizes the view to its preferred size keeping the position of the left top corner constant. | |
virtual BHandler * | ResolveSpecifier (BMessage *message, int32 index, BMessage *specifier, int32 form, const char *property) |
virtual void | SetEnabled (bool enable) |
Enables or disables the menu. | |
void | SetLabelFromMarked (bool on) |
Sets whether or not the label of the menu is set according to the marked item. | |
virtual void | SetMaxContentWidth (float maxWidth) |
Sets the maximum width of the menu items' content area. | |
virtual void | SetRadioMode (bool on) |
Turns radio mode on or off. | |
virtual status_t | SetTargetForItems (BHandler *target) |
Set the target to handler for each item in the menu. | |
virtual status_t | SetTargetForItems (BMessenger messenger) |
Set the target to messenger for each item in the menu. | |
void | SetTrackingHook (menu_tracking_hook hook, void *state) |
Sets a hook function that is called when tracking begins. | |
virtual void | SetTriggersEnabled (bool enable) |
Enables or disables triggers. | |
BMenu * | SubmenuAt (int32 index) const |
Returns a pointer to a submenu at the specified index. | |
BMenuItem * | Superitem () const |
Returns the pointer to the menu item that this menu it attached to. | |
BMenu * | Supermenu () const |
Returns the pointer to the menu that this menu it attached to. | |
Hook Methods | |
virtual void | AttachedToWindow () |
Lays out the menu items and resizes the menu to fit. | |
virtual void | Draw (BRect updateRect) |
Draws the menu. | |
virtual void | MessageReceived (BMessage *message) |
Handles a message received by the associated looper. | |
virtual void | KeyDown (const char *bytes, int32 numBytes) |
Hook method that is called when a keyboard key is pressed. | |
Item reordering | |
void | SortItems (int(*compare)(const BMenuItem *, const BMenuItem *)) |
Sort items in the menu. | |
bool | SwapItems (int32 indexA, int32 indexB) |
Swap the positions of two items in the menu. | |
bool | MoveItem (int32 indexFrom, int32 indexTo) |
Move a menu item to a new position in the menu. | |
Public Member Functions inherited from BView | |
BView (BMessage *archive) | |
Archive constructor. | |
BView (BRect frame, const char *name, uint32 resizingMode, uint32 flags) | |
Standard constructor. | |
BView (const char *name, uint32 flags, BLayout *layout=NULL) | |
Layout constructor. | |
virtual | ~BView () |
Destructor method. | |
BRect | Bounds () const |
Returns the view's frame rectangle in the view's coordinate system. | |
void | Flush () const |
Flushes the attached window's connection to App Server. | |
BRect | Frame () const |
Returns the view's frame rectangle in the parent's coordinate system. | |
virtual void | GetPreferredSize (float *_width, float *_height) |
Fill out the preferred width and height of the view into the _width and _height parameters. | |
virtual status_t | GetSupportedSuites (BMessage *data) |
virtual void | Hide () |
Hides the view without removing it from the view hierarchy. | |
bool | IsFocus () const |
Returns whether or not the view is the window's current focus view. | |
bool | IsHidden () const |
Returns whether or not the view is hidden. | |
bool | IsHidden (const BView *looking_from) const |
Returns whether or not the view is hidden from the perspective of lookingFrom. | |
bool | IsPrinting () const |
Returns whether or not the view is drawing to a printer. | |
BPoint | LeftTop () const |
Returns the left top corner point. | |
virtual status_t | Perform (perform_code code, void *data) |
Perform some action. (Internal Method) | |
virtual void | ResizeToPreferred () |
Resizes the view to its preferred size keeping the position of the left top corner constant. | |
uint32 | ResizingMode () const |
Returns the resizing mode flags mask set in the constructor or by SetResizingMode(). | |
virtual BHandler * | ResolveSpecifier (BMessage *message, int32 index, BMessage *specifier, int32 form, const char *property) |
virtual void | SetResizingMode (uint32 mode) |
Sets the resizing mode of the view according to the mode mask. | |
void | SetViewCursor (const BCursor *cursor, bool sync=true) |
Assigns cursor to the view. | |
virtual void | Show () |
Shows the view making it visible. | |
void | Sync () const |
Synchronizes the attached window's connection to App Server. | |
BWindow * | Window () const |
Returns the window the view is attached to. | |
void | AddChild (BView *child, BView *before=NULL) |
Adds child to the view hierarchy immediately before before. | |
bool | AddChild (BLayoutItem *child) |
Add the child layout item to the view hierarchy. | |
bool | RemoveChild (BView *child) |
Removes child from the view hierarchy. | |
int32 | CountChildren () const |
Returns the number of child views that this view has. | |
BView * | ChildAt (int32 index) const |
Returns a pointer to the child view found at index. | |
BView * | NextSibling () const |
Returns a pointer to the next sibling view. | |
BView * | PreviousSibling () const |
Returns a pointer to the previous sibling view. | |
bool | RemoveSelf () |
Removes the view and all child views from the view hierarchy. | |
BView * | FindView (const char *name) const |
Returns the view in the view hierarchy with the specified name. | |
BView * | Parent () const |
Returns a pointer to the view's parent. | |
void | ConvertToScreen (BPoint *point) const |
Convert point to the screen's coordinate system in place. | |
BPoint | ConvertToScreen (BPoint point) const |
Returns point converted to the screen's coordinate system. | |
void | ConvertFromScreen (BPoint *point) const |
Convert point from the screen's coordinate system to the view's coordinate system in place. | |
BPoint | ConvertFromScreen (BPoint point) const |
Returns point converted from the screen's coordinate system to the view's coordinate system. | |
void | ConvertToScreen (BRect *rect) const |
Convert rect to the screen's coordinate system in place. | |
BRect | ConvertToScreen (BRect rect) const |
Returns rect converted to the screen's coordinate system. | |
void | ConvertFromScreen (BRect *rect) const |
Convert rect from the screen's coordinate system to the view's coordinate system in place. | |
BRect | ConvertFromScreen (BRect rect) const |
Returns rect converted from the screen's coordinate system to the view's coordinate system. | |
void | ConvertToParent (BPoint *point) const |
Convert point to the parent's coordinate system in place. | |
BPoint | ConvertToParent (BPoint point) const |
Returns point converted to the parent's coordinate system. | |
void | ConvertFromParent (BPoint *point) const |
Convert point from the parent's coordinate system to the view's coordinate system in place. | |
BPoint | ConvertFromParent (BPoint point) const |
Returns point converted from the parent's coordinate system to the view's coordinate system. | |
void | ConvertToParent (BRect *rect) const |
Convert rect to the parent's coordinate system in place. | |
BRect | ConvertToParent (BRect rect) const |
Returns rect converted to the parent's coordinate system. | |
void | ConvertFromParent (BRect *rect) const |
Convert rect from the parent's coordinate system to the view's coordinate system in place. | |
BRect | ConvertFromParent (BRect rect) const |
Returns rect converted from the parent's coordinate system to the view's coordinate system. | |
virtual void | SetFlags (uint32 flags) |
Sets the view flags to the flags mask. | |
uint32 | Flags () const |
Return the view flags set in the constructor or by SetFlags(). | |
void | GetClippingRegion (BRegion *region) const |
Fill out region with the view's clipping region. | |
virtual void | ConstrainClippingRegion (BRegion *region) |
Set the clipping region the region restricting the area that the view can draw in. | |
void | ClipToPicture (BPicture *picture, BPoint where=B_ORIGIN, bool sync=true) |
Intersects the current clipping region of the view with the pixels of picture. | |
void | ClipToInversePicture (BPicture *picture, BPoint where=B_ORIGIN, bool sync=true) |
Intersects the current clipping region of the view with the pixels outside of picture. | |
void | ClipToRect (BRect rect) |
Intersects the current clipping region of the view with the pixels of rect. | |
void | ClipToInverseRect (BRect rect) |
Intersects the current clipping region of the view with the pixels outside of rect. | |
void | ClipToShape (BShape *shape) |
Intersects the current clipping region of the view with the pixels of shape. | |
void | ClipToInverseShape (BShape *shape) |
Intersects the current clipping region of the view with the pixels outside of shape. | |
virtual void | SetDrawingMode (drawing_mode mode) |
Sets the drawing mode of the view. | |
drawing_mode | DrawingMode () const |
Return the current drawing_mode. | |
void | SetBlendingMode (source_alpha srcAlpha, alpha_function alphaFunc) |
Set the blending mode which controls how transparency is used. | |
void | GetBlendingMode (source_alpha *srcAlpha, alpha_function *alphaFunc) const |
Fill out srcAlpha and alphaFunc with the alpha mode and alpha function of the view. | |
virtual void | SetPenSize (float size) |
Set the pen size to size. | |
float | PenSize () const |
Return the current pen size. | |
bool | HasDefaultColors () const |
Tests if the view has any colors set. | |
bool | HasSystemColors () const |
Tests if the view is using system "panel" colors. B_PANEL_BACKGROUND_COLOR for ViewUIColor() B_PANEL_BACKGROUND_COLOR for LowUIColor() B_PANEL_TEXT_COLOR for HighUIColor() | |
void | AdoptParentColors () |
Attempts to use the colors of any parent view. Will adopt view, low, and high colors. Should be called in AttachedToWindow() or AllAttached(). | |
void | AdoptSystemColors () |
Instructs view to use standard system "panel" colors. B_PANEL_BACKGROUND_COLOR for ViewUIColor() B_PANEL_BACKGROUND_COLOR for LowUIColor() B_PANEL_TEXT_COLOR for HighUIColor() | |
void | AdoptViewColors (BView *view) |
Attempts to use the colors of a given view. Will adopt view, low, and high colors. | |
virtual void | SetViewColor (rgb_color color) |
Set the view color of the view. | |
void | SetViewColor (uchar red, uchar green, uchar blue, uchar alpha=255) |
Set the view color of the view. | |
rgb_color | ViewColor () const |
Return the current view color. | |
void | SetViewUIColor (color_which which, float tint=B_NO_TINT) |
Set the view color of the view to a system constant. The color will update live with user changes. | |
color_which | ViewUIColor (float *tint=NULL) const |
Return the current view color constant being used. | |
virtual void | SetHighColor (rgb_color color) |
Set the high color of the view. | |
void | SetHighColor (uchar red, uchar green, uchar blue, uchar alpha=255) |
Set the high color of the view. | |
rgb_color | HighColor () const |
Return the current high color. | |
void | SetHighUIColor (color_which which, float tint=B_NO_TINT) |
Set the high color of the view to a system constant. The color will update live with user changes. | |
color_which | HighUIColor (float *tint=NULL) const |
Return the current high color constant being used. | |
virtual void | SetLowColor (rgb_color color) |
Set the low color of the view. | |
void | SetLowColor (uchar red, uchar green, uchar blue, uchar alpha=255) |
Set the low color of the view. | |
rgb_color | LowColor () const |
Return the current low color. | |
void | SetLowUIColor (color_which which, float tint=B_NO_TINT) |
Set the low color of the view to a system constant. The color will update live with user changes. | |
color_which | LowUIColor (float *tint=NULL) const |
Return the current low color constant being used. | |
void | SetLineMode (cap_mode lineCap, join_mode lineJoin, float miterLimit=B_DEFAULT_MITER_LIMIT) |
Set line mode to use PostScript-style line cap and join modes. | |
join_mode | LineJoinMode () const |
Returns the current line join mode. | |
cap_mode | LineCapMode () const |
Returns the current line cap mode. | |
float | LineMiterLimit () const |
Returns the miter limit used for B_MITER_JOIN join mode. | |
void | SetFillRule (int32 rule) |
Sets the fill rule for the view. | |
int32 | FillRule () const |
Return the current fill mode. | |
void | SetOrigin (BPoint where) |
Sets the origin in the view's coordinate system. | |
void | SetOrigin (float x, float y) |
Sets the origin in the view's coordinate system. | |
BPoint | Origin () const |
Returns the origin point in the view's coordinate system. | |
void | SetTransform (BAffineTransform transform) |
Sets a BAffineTransform to transform the coordinate system. | |
BAffineTransform | Transform () const |
Returns the current BAffineTransform that is applied to the coordinate system. | |
void | TranslateBy (double x, double y) |
Translate the current view by coordinates. | |
void | ScaleBy (double x, double y) |
Scale the current view by factors x and y. | |
void | RotateBy (double angleRadians) |
Rotate the current view by angleRadians. | |
BAffineTransform | TransformTo (coordinate_space basis) const |
Return the BAffineTransform to convert from the current drawing space to basis. | |
void | PushState () |
Saves the drawing state to the stack. | |
void | PopState () |
Restores the drawing state from the stack. | |
void | MovePenTo (BPoint pt) |
Move the pen to point in the view's coordinate system. | |
void | MovePenTo (float x, float y) |
Move the pen to the point specified by x and y in the view's coordinate system. | |
void | MovePenBy (float x, float y) |
Move the pen by x pixels horizontally and y pixels vertically. | |
BPoint | PenLocation () const |
Return the current pen location as a BPoint object. | |
virtual void | SetFont (const BFont *font, uint32 mask=B_FONT_ALL) |
Set the font of the view. | |
void | GetFont (BFont *font) const |
Fill out font with the font set to the view. | |
void | TruncateString (BString *in_out, uint32 mode, float width) const |
Truncate string with truncation mode mode so that it is no wider than width set in the view's font. | |
float | StringWidth (const char *string) const |
Return the width of string set in the font of the view. | |
float | StringWidth (const char *string, int32 length) const |
Return the width of string set in the font of the view up to length characters. | |
void | GetStringWidths (char *stringArray[], int32 lengthArray[], int32 numStrings, float widthArray[]) const |
Fill out widths of the strings in stringArray set in the font of the view into widthArray. | |
void | SetFontSize (float size) |
Set the size of the view's font to size. | |
void | ForceFontAliasing (bool enable) |
Turn anti-aliasing on and off when printing. | |
void | GetFontHeight (font_height *height) const |
Fill out the font_height struct with the view font. | |
void | SetScale (float scale) const |
Sets the scale of the coordinate system the view uses for drawing. | |
float | Scale () const |
Return the current drawing scale. | |
void | SetViewBitmap (const BBitmap *bitmap, BRect srcRect, BRect dstRect, uint32 followFlags=B_FOLLOW_LEFT_TOP, uint32 options=B_TILE_BITMAP) |
Sets the background bitmap of the view. | |
void | SetViewBitmap (const BBitmap *bitmap, uint32 followFlags=B_FOLLOW_LEFT_TOP, uint32 options=B_TILE_BITMAP) |
Sets the background bitmap of the view. | |
void | ClearViewBitmap () |
Clears the background bitmap of the view if it has one. | |
status_t | SetViewOverlay (const BBitmap *overlay, BRect srcRect, BRect dstRect, rgb_color *colorKey, uint32 followFlags=B_FOLLOW_LEFT_TOP, uint32 options=0) |
Sets the overlay bitmap of the view. | |
status_t | SetViewOverlay (const BBitmap *overlay, rgb_color *colorKey, uint32 followFlags=B_FOLLOW_LEFT_TOP, uint32 options=0) |
Sets the overlay bitmap of the view. | |
void | ClearViewOverlay () |
Clears the overlay bitmap of the view if it has one. | |
void | StrokeLine (BPoint toPoint, ::pattern pattern=B_SOLID_HIGH) |
Stroke a line from the current pen location to the point toPoint. | |
void | StrokeLine (BPoint start, BPoint end, ::pattern pattern=B_SOLID_HIGH) |
Stroke a line from point start to point end. | |
void | BeginLineArray (int32 count) |
Begin a line array of up to count lines. | |
void | AddLine (BPoint start, BPoint end, rgb_color color) |
Add a line to the line array drawn from start to end. | |
void | EndLineArray () |
End the line array drawing the lines. | |
void | StrokePolygon (const BPolygon *polygon, bool closed=true, ::pattern pattern=B_SOLID_HIGH) |
Stroke a polygon shape. | |
void | StrokePolygon (const BPoint *pointArray, int32 numPoints, bool closed=true, ::pattern pattern=B_SOLID_HIGH) |
Stroke a polygon shape made up of points specified by pointArray. | |
void | StrokePolygon (const BPoint *pointArray, int32 numPoints, BRect bounds, bool closed=true, ::pattern pattern=B_SOLID_HIGH) |
Stroke a polygon shape made up of points specified by pointArray inscribed by bounds. | |
void | FillPolygon (const BPolygon *polygon, ::pattern pattern=B_SOLID_HIGH) |
Fill a polygon shape. | |
void | FillPolygon (const BPoint *pointArray, int32 numPoints, ::pattern pattern=B_SOLID_HIGH) |
Fill a polygon shape made up of points specified by pointArray. | |
void | FillPolygon (const BPoint *pointArray, int32 numPoints, BRect bounds, ::pattern pattern=B_SOLID_HIGH) |
Fill a polygon shape made up of points specified by pointArray inscribed by bounds. | |
void | FillPolygon (const BPolygon *polygon, const BGradient &gradient) |
Fill a polygon shape with the specified gradient pattern. | |
void | FillPolygon (const BPoint *pointArray, int32 numPoints, const BGradient &gradient) |
Fill a polygon shape made up of points specified by pointArray with the specified gradient pattern. | |
void | FillPolygon (const BPoint *pointArray, int32 numPoints, BRect bounds, const BGradient &gradient) |
Fill a polygon shape made up of points specified by pointArray inscribed by bounds with the specified gradient pattern. | |
void | StrokeTriangle (BPoint point1, BPoint point2, BPoint point3, BRect bounds, ::pattern pattern=B_SOLID_HIGH) |
Stroke the triangle specified by points point1, point2, and point3 and enclosed by bounds. | |
void | StrokeTriangle (BPoint point1, BPoint point2, BPoint point3, ::pattern pattern=B_SOLID_HIGH) |
Stroke the triangle specified by points point1, point2, and point3. | |
void | FillTriangle (BPoint point1, BPoint point2, BPoint point3, ::pattern pattern=B_SOLID_HIGH) |
Fill the triangle specified by points point1, point2, and point3. | |
void | FillTriangle (BPoint point1, BPoint point2, BPoint point3, BRect bounds, ::pattern pattern=B_SOLID_HIGH) |
Fill the triangle specified by points point1, point2, and point3 and enclosed by bounds. | |
void | FillTriangle (BPoint point1, BPoint point2, BPoint point3, const BGradient &gradient) |
Fill the triangle specified by points point1, point2, and point3 with the specified gradient pattern. | |
void | FillTriangle (BPoint point1, BPoint point2, BPoint point3, BRect bounds, const BGradient &gradient) |
Fill the triangle specified by points point1, point2, and point3 and enclosed by bounds with the specified gradient pattern. | |
void | StrokeRect (BRect rect, ::pattern pattern=B_SOLID_HIGH) |
Stroke the rectangle specified by rect. | |
void | FillRect (BRect rect, ::pattern pattern=B_SOLID_HIGH) |
Fill the rectangle specified by rect. | |
void | FillRect (BRect rect, const BGradient &gradient) |
Fill the rectangle specified by rect with the specified gradient pattern. | |
void | FillRegion (BRegion *rectegion, ::pattern pattern=B_SOLID_HIGH) |
Fill region. | |
void | FillRegion (BRegion *rectegion, const BGradient &gradient) |
Fill region with the specified gradient pattern. | |
void | InvertRect (BRect rect) |
Inverts the colors within rect. | |
void | StrokeRoundRect (BRect rect, float xRadius, float yRadius, ::pattern pattern=B_SOLID_HIGH) |
Stroke the rounded rectangle with horizontal radius xRadius and vertical radius yRadius. | |
void | FillRoundRect (BRect rect, float xRadius, float yRadius, ::pattern pattern=B_SOLID_HIGH) |
Fill the rounded rectangle with horizontal radius xRadius and vertical radius yRadius. | |
void | FillRoundRect (BRect rect, float xRadius, float yRadius, const BGradient &gradient) |
Fill the rounded rectangle with horizontal radius xRadius and vertical radius yRadius with the specified gradient pattern. | |
void | StrokeEllipse (BPoint center, float xRadius, float yRadius, ::pattern pattern=B_SOLID_HIGH) |
Stroke the outline of an ellipse starting at center with a horizontal radius of xRadius and a vertical radius of yRadius. | |
void | StrokeEllipse (BRect rect, ::pattern pattern=B_SOLID_HIGH) |
Stroke the outline of an ellipse inscribed within rect. | |
void | FillEllipse (BPoint center, float xRadius, float yRadius, ::pattern pattern=B_SOLID_HIGH) |
Fill an ellipse starting at center with a horizontal radius of xRadius and a vertical radius of yRadius. | |
void | FillEllipse (BRect rect, ::pattern pattern=B_SOLID_HIGH) |
Fill an ellipse inscribed within rect. | |
void | FillEllipse (BPoint center, float xRadius, float yRadius, const BGradient &gradient) |
Fill an ellipse with the specified gradient pattern starting at center with a horizontal radius of xRadius and a vertical radius of yRadius. | |
void | FillEllipse (BRect rect, const BGradient &gradient) |
Fill an ellipse with the specified gradient pattern inscribed within rect. | |
void | StrokeArc (BPoint center, float xRadius, float yRadius, float startAngle, float arcAngle, ::pattern pattern=B_SOLID_HIGH) |
Stroke the outline of an arc starting at center with a horizontal radius of xRadius and a vertical radius of yRadius starting at startAngle and drawing arcAngle degrees. | |
void | StrokeArc (BRect rect, float startAngle, float arcAngle, ::pattern pattern=B_SOLID_HIGH) |
Stroke the outline of an arc inscribed within rect starting at startAngle and drawing arcAngle degrees. | |
void | FillArc (BPoint center, float xRadius, float yRadius, float startAngle, float arcAngle, ::pattern pattern=B_SOLID_HIGH) |
Fill an arc starting at center with a horizontal radius of xRadius and a vertical radius of yRadius starting at startAngle and drawing arcAngle degrees. | |
void | FillArc (BRect rect, float startAngle, float arcAngle, ::pattern pattern=B_SOLID_HIGH) |
Fill an arc inscribed within rect starting at startAngle and drawing arcAngle degrees. | |
void | FillArc (BPoint center, float xRadius, float yRadius, float startAngle, float arcAngle, const BGradient &gradient) |
Fill an arc with the specified gradient pattern starting at center with a horizontal radius of xRadius and a vertical radius of yRadius starting at startAngle and drawing arcAngle degrees. | |
void | FillArc (BRect rect, float startAngle, float arcAngle, const BGradient &gradient) |
Fill an arc with the specified gradient pattern inscribed within rect starting at startAngle and drawing arcAngle degrees. | |
void | StrokeBezier (BPoint *controlPoints, ::pattern pattern=B_SOLID_HIGH) |
Stroke a bezier curve. | |
void | FillBezier (BPoint *controlPoints, ::pattern pattern=B_SOLID_HIGH) |
Fill a bezier curve. | |
void | FillBezier (BPoint *controlPoints, const BGradient &gradient) |
Fill a bezier curve. | |
void | StrokeShape (BShape *shape, ::pattern pattern=B_SOLID_HIGH) |
Stroke shape. | |
void | FillShape (BShape *shape, ::pattern pattern=B_SOLID_HIGH) |
Fill shape. | |
void | FillShape (BShape *shape, const BGradient &gradient) |
Fill shape with the specified gradient pattern. | |
void | CopyBits (BRect src, BRect dst) |
Copy the bits from the src rectangle to the dst rectangle in the view's coordinate system. | |
void | DrawBitmapAsync (const BBitmap *aBitmap, BRect bitmapRect, BRect viewRect, uint32 options) |
Draws bitmap on the view within viewRect asynchronously. bitmap portion is scaled to fit viewRect. | |
void | DrawBitmapAsync (const BBitmap *aBitmap, BRect bitmapRect, BRect viewRect) |
Draws bitmap on the view within viewRect asynchronously. bitmap portion is scaled to fit viewRect. | |
void | DrawBitmapAsync (const BBitmap *aBitmap, BRect viewRect) |
Draws bitmap on the view within viewRect asynchronously. bitmap is scaled to fit viewRect. | |
void | DrawBitmapAsync (const BBitmap *aBitmap, BPoint where) |
Draws bitmap on the view offset by where asynchronously. | |
void | DrawBitmapAsync (const BBitmap *aBitmap) |
Draws bitmap on the view asynchronously. | |
void | DrawBitmap (const BBitmap *aBitmap, BRect bitmapRect, BRect viewRect, uint32 options) |
Draws bitmap on the view within viewRect. bitmap portion is scaled to fit viewRect. | |
void | DrawBitmap (const BBitmap *aBitmap, BRect bitmapRect, BRect viewRect) |
Draws bitmap on the view within viewRect. bitmap portion is scaled to fit viewRect. | |
void | DrawBitmap (const BBitmap *aBitmap, BRect viewRect) |
Draws bitmap on the view within viewRect. bitmap is scaled to fit viewRect. | |
void | DrawBitmap (const BBitmap *aBitmap, BPoint where) |
Draws bitmap on the view offset by where. | |
void | DrawBitmap (const BBitmap *aBitmap) |
Draws bitmap on the view. | |
void | DrawTiledBitmapAsync (const BBitmap *aBitmap, BRect viewRect, BPoint phase=B_ORIGIN) |
Draws bitmap on the view within viewRect asynchronously. If bitmap is smaller, it is cloned to fill remaining space in viewRect. | |
void | DrawTiledBitmap (const BBitmap *aBitmap, BRect viewRect, BPoint phase=B_ORIGIN) |
Draws bitmap on the view within viewRect. If bitmap is smaller, it is cloned to fill remaining space in viewRect. | |
void | DrawChar (char aChar) |
Draws character c onto to the view at the current pen position. | |
void | DrawChar (char aChar, BPoint location) |
Draws character c at the specified location in the view. | |
void | DrawString (const char *string, escapement_delta *delta=NULL) |
Draw string onto the view at the current pen position. | |
void | DrawString (const char *string, BPoint location, escapement_delta *delta=NULL) |
Draw string onto the view at the specified location in the view. | |
void | DrawString (const char *string, int32 length, escapement_delta *delta=NULL) |
Draw string up to length characters onto the view at the current pen position. | |
void | DrawString (const char *string, int32 length, BPoint location, escapement_delta *delta=0L) |
Draw string up to length characters onto the view at the specified location in the view. | |
void | DrawString (const char *string, const BPoint *locations, int32 locationCount) |
Draw string locationCount times at the specified locations. | |
void | DrawString (const char *string, int32 length, const BPoint *locations, int32 locationCount) |
Draw string up to length characters locationCount times at the specified locations. | |
void | Invalidate (BRect invalRect) |
Sends a message to App Server to redraw the portion of the view specified by invalRect. | |
void | Invalidate (const BRegion *invalRegion) |
Sends a message to App Server to redraw the portion of the view specified by region. | |
void | Invalidate () |
Sends a message to App Server to redraw the view. | |
void | DelayedInvalidate (bigtime_t delay) |
Sends a message to App Server to redraw the entire view after a certain, minimum, delay. Repeated calls to this method may be merged, but the view is guaranteed to be redrawn after the delay given in the first call of this method. | |
void | DelayedInvalidate (bigtime_t delay, BRect invalRect) |
Sends a message to App Server to redraw the portion of the view specified by invalRect after a certain, minimum, delay. Repeated calls to this method may be merged, but the invalidated rect is guaranteed to be redrawn after the minimum delay given by the first call of this method. | |
void | SetDiskMode (char *filename, long offset) |
Unimplemented. | |
void | BeginPicture (BPicture *a_picture) |
Begins sending drawing instructions to picture. | |
void | AppendToPicture (BPicture *a_picture) |
Appends drawing instructions to picture without clearing it first. | |
BPicture * | EndPicture () |
Ends the drawing instruction recording session and returns the BPicture object passed to BeginPicture() or AppendToPicture(). | |
void | DrawPicture (const BPicture *a_picture) |
Draws the picture at the view's current pen position. | |
void | DrawPicture (const BPicture *a_picture, BPoint where) |
Draws the picture at the location in the view specified by where. | |
void | DrawPicture (const char *filename, long offset, BPoint where) |
Draws the picture from the file specified by filename offset by offset bytes at the location in the view specified by where. | |
void | DrawPictureAsync (const BPicture *a_picture) |
Draws the picture at the view's current pen position. | |
void | DrawPictureAsync (const BPicture *a_picture, BPoint where) |
Draws the picture at the location in the view specified by where. | |
void | DrawPictureAsync (const char *filename, long offset, BPoint where) |
Draws the picture from the file specified by filename offset by offset bytes at the location in the view specified by where. | |
void | BeginLayer (uint8 opacity) |
Begins a drawing layer. | |
void | EndLayer () |
Finish a layer and blend it in with the view. | |
void | MoveBy (float dh, float dv) |
Moves the view deltaX pixels horizontally and deltaY pixels vertically in the parent view's coordinate system. | |
void | MoveTo (BPoint where) |
Move the view to the location specified by where in the parent view's coordinate system. | |
void | MoveTo (float x, float y) |
Move the view to the coordinates specified by x in the horizontal dimension and y in the vertical dimension in the parent view's coordinate system. | |
void | ResizeBy (float dh, float dv) |
Resize the view by deltaWidth horizontally and deltaHeight vertically without moving the top left corner of the view. | |
void | ResizeTo (float width, float height) |
Resize the view to the specified width and height. | |
void | ResizeTo (BSize size) |
Resize the view to the dimension specified by size. | |
virtual status_t | AllUnarchived (const BMessage *archive) |
Hook method called when all views have been unarchived. | |
virtual status_t | AllArchived (BMessage *archive) const |
Hook method called when all views have been archived. | |
virtual void | MouseDown (BPoint where) |
Hook method called when a mouse button is pressed. | |
virtual void | MouseUp (BPoint where) |
Hook method called when a mouse button is released. | |
virtual void | MouseMoved (BPoint where, uint32 code, const BMessage *dragMessage) |
Hook method called when the mouse is moved. | |
virtual void | WindowActivated (bool active) |
Hook method called when the attached window is activated or deactivated. | |
virtual void | KeyUp (const char *bytes, int32 numBytes) |
Hook method called when a keyboard key is released. | |
virtual void | Pulse () |
Hook method called when the view receives a B_PULSE message. | |
virtual void | TargetedByScrollView (BScrollView *scrollView) |
Hook method called when the view becomes the target of scrollView. | |
virtual void | DrawAfterChildren (BRect updateRect) |
Perform any drawing that needs to be done after child view have already been drawn. | |
void | BeginRectTracking (BRect startRect, uint32 style=B_TRACK_WHOLE_RECT) |
Displays an outline rectangle on the view and initiates tracking. | |
void | EndRectTracking () |
Ends tracking removing the outline rectangle from the view. | |
void | GetMouse (BPoint *location, uint32 *buttons, bool checkMessageQueue=true) |
Fills out the cursor location and the current state of the mouse buttons. | |
void | DragMessage (BMessage *message, BRect dragRect, BHandler *replyTo=NULL) |
Initiates a drag-and-drop session. | |
void | DragMessage (BMessage *message, BBitmap *bitmap, BPoint offset, BHandler *replyTo=NULL) |
Initiates a drag-and-drop session of an image. | |
void | DragMessage (BMessage *message, BBitmap *bitmap, drawing_mode dragMode, BPoint offset, BHandler *replyTo=NULL) |
Initiates a drag-and-drop session of an image with drawing_mode set by dragMode. | |
status_t | SetEventMask (uint32 mask, uint32 options=0) |
Sets whether or not the view can accept mouse and keyboard events when not in focus. | |
uint32 | EventMask () |
Returns the current event mask. | |
status_t | SetMouseEventMask (uint32 mask, uint32 options=0) |
Sets whether or not the view can accept mouse and keyboard events when not in focus from within MouseDown() until the following MouseUp() event. | |
void | ScrollBy (float dh, float dv) |
Scroll the view by deltaX horizontally and deltaY vertically. | |
void | ScrollTo (float x, float y) |
Scroll the view to the point specified by coordinates. | |
virtual void | ScrollTo (BPoint where) |
Scroll the view to the point specified by where. | |
BScrollBar * | ScrollBar (orientation direction) const |
Returns the BScrollBar object that has the BView set as its target. | |
virtual BAlignment | LayoutAlignment () |
Return the current BAlignemnt of the view. | |
void | SetExplicitMinSize (BSize size) |
Set this view's min size, to be used by MinSize(). | |
void | SetExplicitMaxSize (BSize size) |
Set this view's max size, to be used by MaxSize(). | |
void | SetExplicitPreferredSize (BSize size) |
Set this view's preferred size, to be used by PreferredSize(). | |
void | SetExplicitSize (BSize size) |
Set this view's size. | |
void | SetExplicitAlignment (BAlignment alignment) |
Set this view's alignment, to be used by Alignment(). | |
BSize | ExplicitMinSize () const |
Returns the explicit minimum size. | |
BSize | ExplicitMaxSize () const |
Returns the explicit maximum size. | |
BSize | ExplicitPreferredSize () const |
Returns the explicit preferred size. | |
BAlignment | ExplicitAlignment () const |
Returns the explicit alignment size. | |
virtual bool | HasHeightForWidth () |
Returns whether the layout of the view can calculate a height for a given width. | |
virtual void | GetHeightForWidth (float width, float *min, float *max, float *preferred) |
Returns the min, max and preferred height for a given width. | |
void | InvalidateLayout (bool descendants=false) |
Invalidate layout. | |
virtual void | SetLayout (BLayout *layout) |
Sets the layout of the view. | |
BLayout * | GetLayout () const |
Get the layout of the view. | |
void | EnableLayoutInvalidation () |
Enable layout invalidation. | |
void | DisableLayoutInvalidation () |
Disable layout invalidation. | |
bool | IsLayoutInvalidationDisabled () |
Returns whether or not layout invalidation is disabled. | |
bool | IsLayoutValid () const |
Returns whether or not the layout is valid. | |
void | ResetLayoutInvalidation () |
Service call for BView derived classes re-enabling InvalidateLayout() notifications. | |
BLayoutContext * | LayoutContext () const |
Returns the BLayoutContext for this View. | |
void | Layout (bool force) |
Layout the view. | |
void | Relayout () |
Relayout the view. | |
void | SetToolTip (const char *text) |
Set the tool tip of the view to text. | |
void | SetToolTip (BToolTip *tip) |
Set the tool tip of the view to the tip object. | |
BToolTip * | ToolTip () const |
Return the tool tip set to the view or NULL if not set. | |
void | ShowToolTip (BToolTip *tip=NULL) |
Show the tool tip at the current mouse position. | |
void | HideToolTip () |
Hide the view's tool tip. | |
Public Member Functions inherited from BHandler | |
BHandler (const char *name=NULL) | |
Construct a new handler with a name. | |
virtual | ~BHandler () |
Free the filters of this handler, as well as the list of observers. | |
virtual status_t | Perform (perform_code d, void *arg) |
Perform some action (Internal method defined for binary compatibility purposes). | |
BHandler (BMessage *data) | |
Construct a handler from an archived message. | |
BLooper * | Looper () const |
Return a pointer to the looper that this handler is associated with. | |
void | SetName (const char *name) |
Set or change the name of this handler. | |
const char * | Name () const |
Return the name of this handler. | |
virtual void | SetNextHandler (BHandler *handler) |
Set the next handler in the chain that the message is passed on to if this handler cannot process it. | |
BHandler * | NextHandler () const |
Return the next hander in the chain to which the message is passed on. | |
virtual void | AddFilter (BMessageFilter *filter) |
Add filter as a prerequisite to this handler. | |
virtual bool | RemoveFilter (BMessageFilter *filter) |
Remove filter from the filter list. | |
virtual void | SetFilterList (BList *filters) |
Set the internal list of filters to filters. | |
BList * | FilterList () |
Return a pointer to the list of filters. | |
bool | LockLooper () |
Lock the looper associated with this handler. | |
status_t | LockLooperWithTimeout (bigtime_t timeout) |
Lock the looper associated with this handler, with a time out value. | |
void | UnlockLooper () |
Unlock the looper. | |
status_t | StartWatching (BMessenger target, uint32 what) |
Subscribe this handler to watch a specific state change of a target. | |
status_t | StartWatchingAll (BMessenger target) |
Subscribe this handler to watch a target for all events. | |
status_t | StopWatching (BMessenger target, uint32 what) |
Unsubscribe this handler from watching a specific state. | |
status_t | StopWatchingAll (BMessenger target) |
Unsubscribe this handler from watching all states. | |
status_t | StartWatching (BHandler *observer, uint32 what) |
Subscribe an observer for a specific state change of this handler. | |
status_t | StartWatchingAll (BHandler *observer) |
Subscribe an observer for a all state changes. | |
status_t | StopWatching (BHandler *observer, uint32 what) |
Unsubscribe an observer from watching a specific state. | |
status_t | StopWatchingAll (BHandler *observer) |
Unsubscribe an observer from watching all states. | |
virtual void | SendNotices (uint32 what, const BMessage *notice=NULL) |
Emit a state change to the observers. | |
bool | IsWatched () const |
Check if there are any observers watching this handler. | |
Public Member Functions inherited from BArchivable | |
BArchivable () | |
Constructor. Does nothing. | |
BArchivable (BMessage *from) | |
Constructor. Does important behind-the-scenes work in the unarchiving process. | |
virtual | ~BArchivable () |
Destructor. Does nothing. | |
virtual status_t | AllArchived (BMessage *archive) const |
Method relating to the use of BArchiver . | |
virtual status_t | AllUnarchived (const BMessage *archive) |
Method relating to the use of BUnarchiver . | |
virtual status_t | Archive (BMessage *into, bool deep=true) const |
Archive the object into a BMessage. | |
virtual status_t | Perform (perform_code d, void *arg) |
Perform some action (Internal method defined for binary compatibility purposes). | |
Protected Member Functions | |
BMenu (BRect frame, const char *name, uint32 resizeMask, uint32 flags, menu_layout layout, bool resizeToFit) | |
Implemented by derived classes to create a new menu object. | |
void | GetItemMargins (float *_left, float *_top, float *_right, float *_bottom) const |
Fill out the margins into the passed in float pointers. | |
void | Hide () |
Hides the view without removing it from the view hierarchy. | |
menu_layout | Layout () const |
Returns the current menu_layout constant. | |
virtual void | LayoutInvalidated (bool descendants) |
Hook method called when the layout is invalidated. | |
void | SetItemMargins (float left, float top, float right, float bottom) |
Set the menu item margins. | |
virtual void | Show () |
Shows the view making it visible. | |
BMenuItem * | Track (bool startOpened=false, BRect *specialRect=NULL) |
Initiates tracking the cursor within the menu. | |
Protected Member Functions inherited from BView | |
virtual void | LayoutChanged () |
Hook function that is called when the layout if this view, or one of its children, has changed. | |
status_t | ScrollWithMouseWheelDelta (BScrollBar *, float) |
Handle the scroll wheel changing over scrollbars. | |
virtual bool | GetToolTipAt (BPoint point, BToolTip **_tip) |
Point _tip with the view's tool tip. | |
Archiving | |
virtual status_t | Archive (BMessage *archive, bool deep=true) const |
Archives the the BMenu object into the data message. | |
static BArchivable * | Instantiate (BMessage *archive) |
Creates a new BMenu object from an archive message. | |
Additional Inherited Members | |
Static Public Member Functions inherited from BView | |
static BArchivable * | Instantiate (BMessage *archive) |
Creates a new BView object from the data message. | |
Static Public Member Functions inherited from BHandler | |
static BArchivable * | Instantiate (BMessage *data) |
Static method to instantiate a handler from an archived message. | |
Static Public Member Functions inherited from BArchivable | |
static BArchivable * | Instantiate (BMessage *archive) |
Static member to restore objects from messages. | |
Displays a list of menu items including additional menus arranged hierarchically.
A newly created BMenu object doesn't contain any menu items, you need to call AddItem() or AddList() to add some.
In addition to BMenuItem objects you can also add additional BMenu objects in order to create a menu hierarchy. Unlike menus in other operating systems you can always select both the submenu and menu items, although selecting the submenu might not actually produce any action other than to close the menu. The name of a submenu is used to draw its label.
BMenu is the basis of several other Interface Kit classes including BMenuBar and BPopUpMenu. See BMenu::SetRadioMode() and BMenu::SetLabelFromMarked() for additional details on how BMenu and BPopUpMenu are related.
Menus arrange their items in one of three possible layouts:
B_ITEMS_IN_COLUMN | The menu items are stacked vertically in a column, one on top of another, as in a typical pop-up menu. |
B_ITEMS_IN_ROW | The menu items are laid out horizontally in a row, from end to end, as in a typical menu bar. |
B_ITEMS_IN_MATRIX | The menu items are arranged in a free-form arrangement that you create, such as a matrix. |
Either B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
can be passed into the default constructor, but, you should use the constructor that allows you to set the height and width of the menu in order to utilize the B_ITEMS_IN_MATRIX
layout.
Several methods will only work in some layouts as noted in the method description below.
BMenu::BMenu | ( | const char * | name, |
menu_layout | layout = B_ITEMS_IN_COLUMN |
||
) |
Creates a new menu object with the specified name and layout.
Don't pass B_ITEMS_IN_MATRIX
into layout with this method, use BMenu::BMenu(const char* name, float width, float height) instead.
name | The menu's name, serves as a label for submenus. |
layout | The menu layout, possibilities include:
|
BMenu::BMenu | ( | const char * | name, |
float | width, | ||
float | height | ||
) |
Creates a new menu object with a B_ITEMS_IN_MATRIX
layout and the specified name, width, and height.
name | The menu's name, serves as a label for submenus. |
width | The menu width. |
height | The menu height. |
BMenu::BMenu | ( | BMessage * | archive | ) |
Archive constructor.
archive | The message data to construct the menu from. |
|
virtual |
Destructor.
Also frees the memory used by any attached menu items and submenus.
|
protected |
Implemented by derived classes to create a new menu object.
This method is intended to be used by derived classes that don't simply wish to utilize different sorts of menu items or arrange them in a different way, but wish to invent a different kind of menu altogether.
If the layout is set to B_ITEMS_IN_MATRIX
the resizeToFit flag should be set to false
.
frame | The frame rectangle to create the menu in. |
name | The menu's name, serves as a label for submenus. |
resizingMode | The resizing mode flags, see BView for more details. |
flags | The view flags, see BView for more details. |
layout | The menu layout, possibilities include:
|
resizeToFit | Whether or not the menu should automatically resize itself to fit its contents, this will not work in B_ITEMS_IN_MATRIX layout. |
|
virtual |
Implemented by subclasses to add their own items to the menu.
This function is called when the menu is shown and will be continuously called until it returns false
. On the first call, state is B_INITIAL_ADD
. On subsequent calls state is B_PROCESSING
. If the function should stop adding items, such as if the user clicks off of it, the function will be called with state set to B_ABORT
.
state | Possibilities include:
|
true
if there is more to do, false
otherwise.bool BMenu::AddItem | ( | BMenu * | submenu | ) |
Add a submenu to the end of the list.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.submenu | The submenu to add. |
Adds a submenu in the specified frame rectangle within the menu.
B_ITEMS_IN_MATRIX
layout, it is an error to use this method for a menu in B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout.submenu | The submenu to add. |
frame | The frame rectangle where to add the submenu to the menu. |
Add a submenu at the specified index.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.submenu | The submenu to add. |
index | The index where to add the submenu to the menu. |
bool BMenu::AddItem | ( | BMenuItem * | item | ) |
Adds a menu item to the end of the list.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.item | The menu item to add. |
Adds a menu item in the specified frame rectangle within the menu.
B_ITEMS_IN_MATRIX
layout, it is an error to use this method for a menu in B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout.item | The menu item to add. |
frame | The frame rectangle where to add the item to the menu. |
Adds a menu item at the specified index.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.item | The menu item to add. |
index | The index where to add the item to the menu. |
Add a list of menu items at the specified index.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.list | The list of menu items to add. |
index | The index where to add the list to the menu. |
bool BMenu::AddSeparatorItem | ( | ) |
Adds a separator item to the end of the menu.
B_ITEMS_IN_COLUMN
layout, it is an error to use this method for a menu in B_ITEMS_IN_ROW
or B_ITEMS_IN_MATRIX
layout.
|
virtual |
Similar to AttachedToWindow() but this method is triggered after all child views have already been attached to a window.
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
virtual |
Similar to AttachedToWindow() but this method is triggered after all child views have already been detached from a window.
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
Archives the the BMenu object into the data message.
data | A pointer to the BMessage to archive the object into. |
deep | Whether or not to archive attached menu items as well. |
B_OK
if everything went well or an error code otherwise. B_OK | The object was archived successfully. |
B_NO_MEMORY | Ran out of memory while archiving the object. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
bool BMenu::AreTriggersEnabled | ( | ) | const |
Returns whether or not triggers are enabled.
true
if triggers are enabled, false
if triggers are disabled.
|
virtual |
Lays out the menu items and resizes the menu to fit.
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
int32 BMenu::CountItems | ( | ) | const |
Returns the number of items added to the menu.
|
virtual |
Hook method called when the object is detached from a window.
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
virtual |
|
virtual |
|
virtual |
Draw the menu background within the bounds of updateRect.
updateRect | The area to draw the background in. |
BMenuItem * BMenu::FindItem | ( | const char * | label | ) | const |
Returns a pointer to the menu item with the specified label.
label | The label of the menu item to find. |
NULL
if not found.Returns a pointer to the menu item with the specified command for its associated message.
command | The command of the associated message of the menu item to find. |
NULL
if not found.BMenuItem * BMenu::FindMarked | ( | ) |
Return a pointer to the first marked menu item.
The index starts at the left for a menu in B_ITEMS_IN_COLUMN
layout going right or at the top for a menu in B_ITEMS_IN_ROW
layout going down.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.NULL
if not found.int32 BMenu::FindMarkedIndex | ( | ) |
Return the index of the first marked menu item.
The index starts at the left for a menu in B_ITEMS_IN_COLUMN
layout going right or at the top for a menu in B_ITEMS_IN_ROW
layout going down.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.
|
virtual |
Hook method called when the view is moved.
newPosition | The point of the top left corner of the frame that the view has been moved to. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
virtual |
Hook method called when the view is resized.
newWidth | The new width of the view. |
newHeight | The new height of the view. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
protected |
Fill out the margins into the passed in float pointers.
_left | The left margin to fill out, can be NULL . |
_top | The top margin to fill out, can be NULL . |
_right | The right margin to fill out, can be NULL . |
_bottom | The bottom margin to fill out, can be NULL . |
|
virtual |
Fill out the preferred width and height of the view into the _width and _height parameters.
Derived classes should override this method to set the preferred size of object.
NULL
if you only want to get the other one.[out] | _width | Pointer to a float to store the width of the view. |
[out] | _height | Pointer to a float to store the height of the view. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
Reports the suites of messages and specifiers that derived classes understand.
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
protectedvirtual |
Hides the view without removing it from the view hierarchy.
Calls to Hide() and Show() are cumulative. A visible view becomes hidden once the number of Hide() calls exceeds the number of Show() calls.
Reimplemented from BView.
Reimplemented in BMenuBar.
Returns the index of the specified submenu.
The index starts at the left for a menu in B_ITEMS_IN_COLUMN
layout going right or at the top for a menu in B_ITEMS_IN_ROW
layout going down.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.B_ERROR
of not found.Returns the index of the specified menu item.
The index starts at the left for a menu in B_ITEMS_IN_COLUMN
layout going right or start at the top for a menu in B_ITEMS_IN_ROW
layout going down.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.B_ERROR
of not found.
|
static |
bool BMenu::IsEnabled | ( | ) | const |
Returns whether or not the menu is enabled.
true
if menu is enabled, false
if it is disabled.bool BMenu::IsLabelFromMarked | ( | ) |
Returns whether or not the menu is in label-from-marked mode.
true
if menu is in label-from-marked mode, false
if not.bool BMenu::IsRadioMode | ( | ) | const |
Returns whether or not the menu is in radio mode.
true
if menu is in radio mode, false
if not.bool BMenu::IsRedrawAfterSticky | ( | ) | const |
Returns whether or not the menu is in redraw-after-sticky mode.
true
if menu is in redraw-after-sticky mode, false
if not.Returns a pointer to the menu item at the specified index.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.NULL
if not found.
|
virtual |
Hook method that is called when a keyboard key is pressed.
Handles keyboard navigation and triggers.
bytes | The bytes of the key combination pressed. |
numBytes | The number of bytes in bytes. |
Reimplemented from BView.
|
protected |
Returns the current menu_layout constant.
|
protectedvirtual |
Hook method called when the layout is invalidated.
descendants | Whether or not child views have also been invalidated. |
Reimplemented from BView.
|
virtual |
Makes the view the current focus view of the window or gives up being the window's focus view.
The focus view handles selections and KeyDown events when the the attached window is active. There can be only one focus view at a time per window.
When called with focus set to true
this method first calls MakeFocus() on the previously focused view with focus set to false
.
The focus doesn't automatically change when MouseDown() is called so calling MakeFocus() is the only way to make a view the focus view of a window. Classes derived from BView that can display the current selection, or that can accept pasted data should call MakeFocus() in their MouseDown() method to update the focus view of the window on click.
If the view isn't attached to a window this method has no effect.
focus | true to set focus, false to remove it. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
float BMenu::MaxContentWidth | ( | ) | const |
Return the maximum width of the menu items' content area.
|
virtual |
Return the maximum size of the view.
Reimplemented from BView.
Reimplemented in BMenuBar.
|
virtual |
Handles a message received by the associated looper.
Responds to mouse wheel events scrolling the menu if it is too long to fit in the window. Hold B_SHIFT_KEY
to cause the menu to scroll faster.
message | The message received by the associated looper. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
virtual |
Return the minimum size of the view.
Reimplemented from BView.
Reimplemented in BMenuBar.
Move a menu item to a new position in the menu.
This is equivalent to removing the item at the old index then inserting it at the new one.
|
virtual |
Perform some action. (Internal Method)
This method is available to allow classes to be extended while maintaining binary compatibility.
The following perform codes are recognized:
PERFORM_CODE_MIN_SIZE:
PERFORM_CODE_MAX_SIZE:
PERFORM_CODE_PREFERRED_SIZE:
PERFORM_CODE_LAYOUT_ALIGNMENT:
PERFORM_CODE_HAS_HEIGHT_FOR_WIDTH:
PERFORM_CODE_GET_HEIGHT_FOR_WIDTH:
PERFORM_CODE_SET_LAYOUT:
PERFORM_CODE_INVALIDATE_LAYOUT:
PERFORM_CODE_DO_LAYOUT:
PERFORM_CODE_GET_TOOL_TIP_AT:
PERFORM_CODE_ALL_UNARCHIVED:
PERFORM_CODE_ALL_ARCHIVED:
code | The perform code. |
_data | A pointer to store some data. |
Reimplemented from BView.
Reimplemented in BPopUpMenu, and BMenuBar.
|
virtual |
Return the preferred size of the view.
Reimplemented from BView.
Reimplemented in BMenuBar.
bool BMenu::RemoveItem | ( | BMenu * | submenu | ) |
Remove and delete a submenu from the menu.
submenu | The submenu to remove. |
bool BMenu::RemoveItem | ( | BMenuItem * | item | ) |
Remove and delete the specified item from the menu.
Remove the item at the specified index from the menu.
The menu item object is not deleted.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.index | The index of where to remove the menu item. |
NULL
if not found.Remove count number of items from the menu starting at the specified index and delete them if deleteItems is true
.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.index | The index of where to start removing menu items. |
count | The number of items to remove. |
deleteItems | Whether or not to delete the items after removing them. |
|
virtual |
Resizes the view to its preferred size keeping the position of the left top corner constant.
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
virtual |
Determine the proper handler for a scripting message.
message | The scripting message to determine the handler. |
index | The index of the specifier. |
specifier | The message which contains the specifier. |
what | The 'what' field of the specifier message. |
property | The name of the target property. |
Reimplemented from BView.
Reimplemented in BMenuBar, and BPopUpMenu.
|
virtual |
Enables or disables the menu.
enable | true to enable, false to disable. |
|
protected |
Set the menu item margins.
left | The left margin to set. |
top | The top margin to set. |
right | The right margin to set. |
bottom | The bottom margin to set. |
void BMenu::SetLabelFromMarked | ( | bool | on | ) |
Sets whether or not the label of the menu is set according to the marked item.
Turning label-from-marked mode on also turns radio mode on.
on | true to turn label-from-marked mode on, false to turn it off. |
|
virtual |
Sets the maximum width of the menu items' content area.
This is the maximum width that a menu item can draw in. Note that menu items have built-in margins on the left and right sides that are not included as part of the maximum content width.
width | The maximum width for the menu item contents to draw in. |
|
virtual |
Turns radio mode on or off.
Turning radio mode off also turns off label-from-marked mode.
Radio mode means that only one menu item can be set as marked at a time. Marking a menu item automatically unmarks all other menu items and draws a check mark on the left side of the marked menu item. You don't have to call BMenuItem::SetMarked() yourself for a menu in radio mode, this is done for you automatically.
Radio mode does not work recursively, only the current menu is considered. If you want to make a menu work in radio mode recursively you'll have to turn radio mode off and iterate through each menu marking and unmarking the items yourself.
on | true to turn radio mode on, false to turn it off. |
Set the target to handler for each item in the menu.
This is a convenient way to set the target for all the items in a menu.
handler | The BHandler object to set the target of the menu item to. |
This method doesn't descend into submenus recursively and only acts on items that have already been added to the menu.
B_OK
on success or an error code on error.
|
virtual |
Set the target to messenger for each item in the menu.
This is a convenient way to set the target for all the items in a menu.
This method doesn't descend into submenus recursively and only acts on items that have already been added to the menu.
messenger | The BMessenger object to set the target of the menu item to. |
B_OK
on success or an error code on error.void BMenu::SetTrackingHook | ( | menu_tracking_hook | func, |
void * | state | ||
) |
Sets a hook function that is called when tracking begins.
func | The hook function to call. |
state | A variable passed to the hook function. |
|
virtual |
Enables or disables triggers.
enable | true to enable triggers, false to disable triggers. |
|
protectedvirtual |
Shows the view making it visible.
Calls to Hide() and Show() are cumulative. A hidden view becomes visible again once the number of Show() calls matches the number of Hide() calls.
Reimplemented from BView.
Reimplemented in BMenuBar.
Sort items in the menu.
compare | Function used to compare items |
Sort the items in the menu according to the order defined by the compare function. The function should return -1 if the first item should be sorted before the second, 1 if it should be sorted after, and 0 if the items are equal.
The relative order between equal items is preserved, that is, if an item was before an equal item in the list, it will still be before it when the sorting is completed.
Returns a pointer to a submenu at the specified index.
B_ITEMS_IN_COLUMN
or B_ITEMS_IN_ROW
layout, it is an error to use this method for a menu in B_ITEMS_IN_MATRIX
layout.NULL
if not found.BMenuItem * BMenu::Superitem | ( | ) | const |
Returns the pointer to the menu item that this menu it attached to.
NULL
if not found.BMenu * BMenu::Supermenu | ( | ) | const |
Returns the pointer to the menu that this menu it attached to.
NULL
if not found.Swap the positions of two items in the menu.
Initiates tracking the cursor within the menu.
This method passes tracking control to submenus hierarchically depending on where the user moves their mouse.
You only need to call this method yourself if you are implementing a menu that needs to track the cursor under nonstandard circumstances.
sticky | If true Track() leaves the menu open even after the mouse button is no longer held down. |
clickToOpenRect | If sticky is true , leave the menu open even if the user releases the mouse button while the cursor is inside clickToOpenRect. |
NULL
if the user didn't invoke an item.