#include "GL/glx.h"
#endif
-#include "menubar.hxx"
-#include "dialog.hxx"
+#include "FGPUIMenuBar.hxx"
+
+#if defined(SG_MAC)
+#include "FGCocoaMenuBar.hxx"
+#endif
+
+#include "FGPUIDialog.hxx"
#include "FGFontCache.hxx"
#include "FGColor.hxx"
-NewGUI::NewGUI ()
- : _menubar(new FGMenuBar),
- _active_dialog(0)
+NewGUI::NewGUI () :
+ _active_dialog(0)
{
+#if defined(SG_MAC)
+ _menubar.reset(new FGCocoaMenuBar);
+#else
+ _menubar.reset(new FGPUIMenuBar);
+#endif
}
NewGUI::~NewGUI ()
{
- delete _menubar;
_dialog_props.clear();
for (_itt_t it = _colors.begin(); it != _colors.end(); ++it)
delete it->second;
NewGUI::reset (bool reload)
{
map<string,FGDialog *>::iterator iter;
- vector<string> dlg;
+ std::vector<string> dlg;
// close all open dialogs and remember them ...
for (iter = _active_dialogs.begin(); iter != _active_dialogs.end(); ++iter)
dlg.push_back(iter->first);
setStyle();
unbind();
- delete _menubar;
- _menubar = new FGMenuBar;
+#if !defined(SG_MAC)
+ _menubar.reset(new FGPUIMenuBar);
+#endif
if (reload) {
_dialog_props.clear();
return false;
} else {
if(!_active_dialogs[name])
- _active_dialogs[name] = new FGDialog(_dialog_props[name]);
+ _active_dialogs[name] = new FGPUIDialog(_dialog_props[name]);
return true;
}
}
FGMenuBar *
NewGUI::getMenuBar ()
{
- return _menubar;
+ return _menubar.get();
}
bool