// new_gui.hxx - XML-configurable GUI subsystem. #ifndef __NEW_GUI_HXX #define __NEW_GUI_HXX 1 #ifndef __cplusplus # error This library requires C++ #endif #include #include // for SG_USING_STD #include #include SG_USING_STD(vector); #include SG_USING_STD(map); #include
#include
class FGMenuBar; class FGDialog; class FGBinding; class NewGUI : public FGSubsystem { public: NewGUI (); virtual ~NewGUI (); virtual void init (); virtual void bind (); virtual void unbind (); virtual void update (double delta_time_sec); virtual void display (const string &name); virtual void setCurrentWidget (FGDialog * widget); virtual FGDialog * getCurrentWidget (); virtual FGMenuBar * getMenuBar (); protected: virtual bool getMenuBarVisible () const; virtual void setMenuBarVisible (bool visible); private: void readDir (const char * path); FGMenuBar * _menubar; FGDialog * _current_widget; map _widgets; }; #endif // __NEW_GUI_HXX // end of new_gui.hxx