2 #define __NEW_GUI_HXX 1
5 # error This library requires C++
10 #include <simgear/compiler.h> // for SG_USING_STD
11 #include <simgear/misc/props.hxx>
19 #include <Main/fgfs.hxx>
22 class NewGUI : public FGSubsystem
29 virtual void update (double delta_time_sec);
31 virtual void display (const string &name);
33 virtual void updateProperties ();
34 virtual void applyProperties ();
35 virtual void closeActiveObject ();
39 puObject * makeObject (SGPropertyNode * props,
40 int parentWidth, int parentHeight);
42 void setupObject (puObject * object, SGPropertyNode * props);
44 void setupGroup (puGroup * group, SGPropertyNode * props,
45 int width, int height, bool makeFrame = false);
47 map<string,SGPropertyNode_ptr> _objects;
48 puObject * _activeObject;
50 struct PropertyObject {
51 PropertyObject (puObject * object, SGPropertyNode_ptr node);
53 SGPropertyNode_ptr node;
56 vector<PropertyObject> _propertyObjects;
60 #endif // __NEW_GUI_HXX