00001 #ifndef NODE_FIELDMEN_H
00002 #define NODE_FIELDMEN_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00036 #include <string>
00037 #include <iosfwd>
00038 #include <list>
00039
00040 class GltRegistry;
00041 class GltFields;
00042
00050 class GltRegistryMenu
00051 {
00052 public:
00053
00055 GltRegistryMenu(GltRegistry ®istry);
00057 ~GltRegistryMenu();
00058
00059
00060
00061
00063 bool OnKeyboard(unsigned char key, int x, int y);
00065 bool OnSpecial(int key, int x, int y);
00066
00067
00068
00069
00071 void reset();
00072
00074 std::string menu() const;
00075
00077 bool &active();
00078
00079
00080
00081
00083 bool set(const std::string &name,const std::string &value);
00084
00085 private:
00086
00087 GltRegistry &_registry;
00088
00089 bool _active;
00090 int _position;
00091 GltFields *_current;
00092
00093 std::list< std::pair<GltFields *,int> > _stack;
00094
00095 bool pop();
00096 bool push();
00097 };
00098
00099 #endif