diff --git a/headers/os/interface/MenuField.h b/headers/os/interface/MenuField.h index a6fb4bdacf..652e768aab 100644 --- a/headers/os/interface/MenuField.h +++ b/headers/os/interface/MenuField.h @@ -1,6 +1,6 @@ /* - * Copyright 2006-2009, Haiku, Inc. All Rights Reserved. - * Distributed under the terms of the MIT License. + * Copyright 2006-2009, Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT license. */ #ifndef _MENU_FIELD_H #define _MENU_FIELD_H @@ -16,131 +16,134 @@ class BMenuBar; class BMenuField : public BView { public: - BMenuField(BRect frame, const char* name, - const char* label, BMenu* menu, - uint32 resize = B_FOLLOW_LEFT|B_FOLLOW_TOP, - uint32 flags = B_WILL_DRAW | B_NAVIGABLE); - BMenuField(BRect frame, const char* name, - const char* label, BMenu* menu, - bool fixed_size, - uint32 resize = B_FOLLOW_LEFT|B_FOLLOW_TOP, - uint32 flags = B_WILL_DRAW | B_NAVIGABLE); - BMenuField(const char* name, - const char* label, BMenu* menu, - BMessage* message = NULL, - uint32 flags = B_WILL_DRAW | B_NAVIGABLE); - BMenuField(const char* label, - BMenu* menu, BMessage* message = NULL); - BMenuField(BMessage* data); - virtual ~BMenuField(); + BMenuField(BRect frame, const char* name, + const char* label, BMenu* menu, + uint32 resize = B_FOLLOW_LEFT|B_FOLLOW_TOP, + uint32 flags = B_WILL_DRAW | B_NAVIGABLE); + BMenuField(BRect frame, const char* name, + const char* label, BMenu* menu, + bool fixed_size, + uint32 resize = B_FOLLOW_LEFT|B_FOLLOW_TOP, + uint32 flags = B_WILL_DRAW | B_NAVIGABLE); + BMenuField(const char* name, + const char* label, BMenu* menu, + BMessage* message = NULL, + uint32 flags = B_WILL_DRAW | B_NAVIGABLE); + BMenuField(const char* label, + BMenu* menu, BMessage* message = NULL); + BMenuField(BMessage* data); + virtual ~BMenuField(); - static BArchivable* Instantiate(BMessage* archive); - virtual status_t Archive(BMessage* archive, bool deep = true) const; + static BArchivable* Instantiate(BMessage* archive); + virtual status_t Archive(BMessage* archive, + bool deep = true) const; - virtual void Draw(BRect update); - virtual void AttachedToWindow(); - virtual void AllAttached(); - virtual void MouseDown(BPoint where); - virtual void KeyDown(const char* bytes, int32 numBytes); - virtual void MakeFocus(bool state); - virtual void MessageReceived(BMessage* message); - virtual void WindowActivated(bool state); - virtual void MouseUp(BPoint pt); - virtual void MouseMoved(BPoint pt, uint32 code, - const BMessage* dragMessage); - virtual void DetachedFromWindow(); - virtual void AllDetached(); - virtual void FrameMoved(BPoint new_position); - virtual void FrameResized(float new_width, float new_height); + virtual void Draw(BRect update); + virtual void AttachedToWindow(); + virtual void AllAttached(); + virtual void MouseDown(BPoint where); + virtual void KeyDown(const char* bytes, int32 numBytes); + virtual void MakeFocus(bool state); + virtual void MessageReceived(BMessage* message); + virtual void WindowActivated(bool state); + virtual void MouseUp(BPoint where); + virtual void MouseMoved(BPoint where, uint32 transit, + const BMessage* dragMessage); + virtual void DetachedFromWindow(); + virtual void AllDetached(); + virtual void FrameMoved(BPoint where); + virtual void FrameResized(float width, float height); - BMenu* Menu() const; - BMenuBar* MenuBar() const; - BMenuItem* MenuItem() const; + BMenu* Menu() const; + BMenuBar* MenuBar() const; + BMenuItem* MenuItem() const; - virtual void SetLabel(const char* label); - const char* Label() const; + virtual void SetLabel(const char* label); + const char* Label() const; - virtual void SetEnabled(bool on); - bool IsEnabled() const; + virtual void SetEnabled(bool on); + bool IsEnabled() const; - virtual void SetAlignment(alignment label); - alignment Alignment() const; - virtual void SetDivider(float dividing_line); - float Divider() const; + virtual void SetAlignment(alignment label); + alignment Alignment() const; + virtual void SetDivider(float dividing_line); + float Divider() const; - void ShowPopUpMarker(); - void HidePopUpMarker(); + void ShowPopUpMarker(); + void HidePopUpMarker(); - virtual BHandler* ResolveSpecifier(BMessage* message, - int32 index, BMessage* specifier, - int32 form, const char* property); - virtual status_t GetSupportedSuites(BMessage* data); + virtual BHandler* ResolveSpecifier(BMessage* message, + int32 index, BMessage* specifier, + int32 form, const char* property); + virtual status_t GetSupportedSuites(BMessage* data); - virtual void ResizeToPreferred(); - virtual void GetPreferredSize(float* width, float* height); + virtual void ResizeToPreferred(); + virtual void GetPreferredSize(float* width, float* height); - virtual BSize MinSize(); - virtual BSize MaxSize(); - virtual BSize PreferredSize(); + virtual BSize MinSize(); + virtual BSize MaxSize(); + virtual BSize PreferredSize(); - virtual void InvalidateLayout(bool descendants = false); + virtual void InvalidateLayout(bool descendants = false); - BLayoutItem* CreateLabelLayoutItem(); - BLayoutItem* CreateMenuBarLayoutItem(); + BLayoutItem* CreateLabelLayoutItem(); + BLayoutItem* CreateMenuBarLayoutItem(); - - /*----- Private or reserved -----------------------------------------*/ - virtual status_t Perform(perform_code d, void* arg); + virtual status_t Perform(perform_code d, void* arg); protected: - virtual void DoLayout(); + virtual void DoLayout(); private: - class LabelLayoutItem; - class MenuBarLayoutItem; - struct LayoutData; + // FBC padding + virtual void _ReservedMenuField1(); + virtual void _ReservedMenuField2(); + virtual void _ReservedMenuField3(); - friend class _BMCMenuBar_; - friend class LabelLayoutItem; - friend class MenuBarLayoutItem; - friend class LayoutData; + // Forbidden + BMenuField& operator=(const BMenuField& other); - virtual void _ReservedMenuField1(); - virtual void _ReservedMenuField2(); - virtual void _ReservedMenuField3(); +private: + class LabelLayoutItem; + class MenuBarLayoutItem; + struct LayoutData; - BMenuField& operator=(const BMenuField& other); + friend class _BMCMenuBar_; + friend class LabelLayoutItem; + friend class MenuBarLayoutItem; + friend class LayoutData; - void InitObject(const char* label); - void InitObject2(); - void DrawLabel(BRect bounds, BRect update); - static void InitMenu(BMenu* menu); + void InitObject(const char* label); + void InitObject2(); + void DrawLabel(BRect bounds, BRect update); + static void InitMenu(BMenu* menu); - int32 _MenuTask(); - static int32 _thread_entry(void *arg); + int32 _MenuTask(); + static int32 _thread_entry(void *arg); - void _UpdateFrame(); - void _InitMenuBar(BMenu* menu, - BRect frame, bool fixedSize); + void _UpdateFrame(); + void _InitMenuBar(BMenu* menu, + BRect frame, bool fixedSize); - void _ValidateLayoutData(); - float _MenuBarOffset() const; - float _MenuBarWidth() const; + void _ValidateLayoutData(); + float _MenuBarOffset() const; + float _MenuBarWidth() const; - char* fLabel; - BMenu* fMenu; - BMenuBar* fMenuBar; - alignment fAlign; - float fDivider; - bool fEnabled; - bool fSelected; - bool fTransition; - bool fFixedSizeMB; - thread_id fMenuTaskID; +private: + char* fLabel; + BMenu* fMenu; + BMenuBar* fMenuBar; + alignment fAlign; + float fDivider; + bool fEnabled; + bool fSelected; + bool fTransition; + bool fFixedSizeMB; + thread_id fMenuTaskID; - LayoutData* fLayoutData; + LayoutData* fLayoutData; - uint32 _reserved[3]; + uint32 _reserved[3]; }; #endif // _MENU_FIELD_H