2 #include <mof/widget/Widget.hpp>
3 #include <boost/function/function0.hpp>
4 #include <mof/FactoryMethod.hpp>
5 #include <mof/widget/Layout.hpp>
13 inline void emptyFunc(){}
17 mof::FactoryMethod<WidgetView> view;
18 boost::function0<void> action;
22 const mof::FactoryMethod<WidgetView>& view_ ,
23 const boost::function0<void>& action_
25 : view(view_) , action(action_)
31 const mof::FactoryMethod<WidgetView>& view_
33 : view(view_) , action(emptyFunc)
39 class Menu : public Widget
42 Menu(const MenuItem& front , const MenuItem& back );
45 const MenuItem& front ,
46 const MenuItem& back ,
47 const FactoryMethod<Layout>& layout
51 virtual FrameNumber show(bool imidiately = false);
52 virtual FrameNumber hide(bool imidiately = false);
53 virtual const std::shared_ptr<WidgetView> getView( ) const;
54 virtual std::shared_ptr<WidgetView> getView( );
55 virtual void update();
57 virtual FrameNumber up();
58 virtual FrameNumber down();
59 virtual FrameNumber left();
60 virtual FrameNumber right();
61 virtual FrameNumber performAction() const;
62 int getSelectedIndex() const;
65 std::unique_ptr<Impl> m_pImpl;