Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

node/fieldmen.h

Go to the documentation of this file.
00001 #ifndef NODE_FIELDMEN_H
00002 #define NODE_FIELDMEN_H
00003 
00004 /*
00005 
00006   GLT OpenGL C++ Toolkit (LGPL)
00007   Copyright (C) 2000-2002 Nigel Stewart  
00008 
00009   Email: nigels.com@gmail.com   
00010   WWW:   http://www.nigels.com/glt/
00011 
00012   This library is free software; you can redistribute it and/or
00013   modify it under the terms of the GNU Lesser General Public
00014   License as published by the Free Software Foundation; either
00015   version 2.1 of the License, or (at your option) any later version.
00016 
00017   This library is distributed in the hope that it will be useful,
00018   but WITHOUT ANY WARRANTY; without even the implied warranty of
00019   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00020   Lesser General Public License for more details.
00021 
00022   You should have received a copy of the GNU Lesser General Public
00023   License along with this library; if not, write to the Free Software
00024   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 &registry);
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

Generated on Tue Nov 5 11:11:05 2002 for GLT by doxygen1.2.18