29 #ifndef PT_FORMS_MENUBAR_H
30 #define PT_FORMS_MENUBAR_H
32 #include <Pt/Forms/Api.h>
33 #include <Pt/Forms/MenuBase.h>
34 #include <Pt/Forms/MenuBarItem.h>
35 #include <Pt/Forms/Button.h>
36 #include <Pt/Forms/Control.h>
37 #include <Pt/Forms/FlowLayout.h>
38 #include <Pt/SmartPtr.h>
48 class PT_FORMS_API MenuBar :
public Control
58 void addItem(MenuBarItem& item);
60 void removeItem(MenuBarItem& item);
62 const Pt::Gfx::Brush& background()
const;
64 void setBackground(
const Pt::Gfx::Brush& b);
72 virtual Pt::Forms::Widget* onFindMenu(
const Pt::Gfx::PointF& screenPos);
74 virtual void onAddMenu(MenuMenuItem& item);
76 virtual void onRemoveMenu(MenuMenuItem& item);
78 virtual void onOpenMenu(MenuMenuItem& item);
80 virtual void onCloseMenu(MenuMenuItem& item);
82 virtual void onCancel();
84 virtual void onInvalidate();
86 virtual Pt::Gfx::SizeF onMeasure(
const Pt::Forms::SizePolicy& policy);
90 virtual void onPaint(PaintSurface& surface,
const Pt::Gfx::RectF& rect);
92 virtual bool onMouseEvent(
const Pt::Forms::MouseEvent& ev);
94 virtual bool onTouchEvent(
const Pt::Forms::TouchEvent& ev);
96 void onItemClicked(MenuBaseItem& item);
98 void onProcessMouseEvent(
const Pt::Forms::MouseEvent& ev);
101 Pt::Forms::FlowLayout _layout;
102 MenuMenuItem* _currentItem;
105 Pt::Gfx::Brush _brush;
Rect with floating-point coordinates.
Definition: Rect.h:44
Attributes for the drawing of outlines.
Definition: Pen.h:52
Size with floating-point width and height.
Definition: Size.h:44
Point with floating-point X and Y coordinates.
Definition: Point.h:44