NewGUI::NewGUI () :
_active_dialog(0)
{
-#if defined(SG_MAC)
- if (fgGetBool("/sim/menubar/native", true)) {
- _menubar.reset(new FGCocoaMenuBar);
- return;
- }
-#endif
- _menubar.reset(new FGPUIMenuBar);
}
NewGUI::~NewGUI ()
{
- _dialog_props.clear();
for (_itt_t it = _colors.begin(); it != _colors.end(); ++it)
delete it->second;
}
void
NewGUI::init ()
{
+#if defined(SG_MAC)
+ if (fgGetBool("/sim/menubar/native", true)) {
+ _menubar.reset(new FGCocoaMenuBar);
+ }
+#endif
+ if (!_menubar.get()) {
+ _menubar.reset(new FGPUIMenuBar);
+ }
+
+ fgTie("/sim/menubar/visibility", this,
+ &NewGUI::getMenuBarVisible, &NewGUI::setMenuBarVisible);
+
setStyle();
SGPath p(globals->get_fg_root(), "gui/dialogs");
readDir(p);
_menubar->init();
}
+void
+NewGUI::shutdown()
+{
+ fgUntie("/sim/menubar/visibility");
+ _menubar.reset();
+ _dialog_props.clear();
+}
+
void
NewGUI::reinit ()
{
void
NewGUI::bind ()
{
- fgTie("/sim/menubar/visibility", this,
- &NewGUI::getMenuBarVisible, &NewGUI::setMenuBarVisible);
}
void
NewGUI::unbind ()
{
- fgUntie("/sim/menubar/visibility");
}
void