#include <simgear/structure/subsystem_mgr.hxx>
#include <simgear/misc/sg_path.hxx>
-#include <string.h>
-#include <functional>
#include <vector>
#include <map>
-
-class SGBinding;
+#include <memory> // for auto_ptr on some systems
+#include <cstring> // for strcmp in lstr() (in this header, alas)
class FGMenuBar;
class FGDialog;
// Read all the configuration files in a directory.
void readDir (const SGPath& path);
- FGMenuBar * _menubar;
+ std::auto_ptr<FGMenuBar> _menubar;
FGDialog * _active_dialog;
std::map<std::string,FGDialog *> _active_dialogs;
- std::map<std::string,SGPropertyNode_ptr> _dialog_props;
+
+ typedef std::map<std::string, SGPath> NamePathDict;
+ // mapping from dialog names to the corresponding XML property list
+ // which defines them
+ NamePathDict _dialog_names;
+
+ // cache of loaded dialog proeprties
+ typedef std::map<std::string,SGPropertyNode_ptr> NameDialogDict;
+ NameDialogDict _dialog_props;
};