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