00001 #ifndef _MENU_
00002 #define _MENU_
00003
00004 #ifdef _MSC_VER // if the compiler is from Microsoft
00005 #pragma warning(disable:4786)
00006 #endif
00007
00008 #include <string>
00009 #include <vector>
00010
00011 using namespace std;
00012
00020 class Menu {
00021 public:
00026 Menu();
00030 virtual ~Menu();
00031
00037 void addOption(string const& option);
00038
00044 vector<string> const& getOptions() const;
00045
00050 virtual void moveUp();
00051
00056 virtual void moveDown();
00057
00063 virtual unsigned int getSelectedIndex() const;
00064
00070 virtual string const& getSelectedItem() const;
00071
00072 protected:
00076 vector<string> options;
00077
00081 unsigned int selectedItem;
00082 };
00083
00084 #endif