-static puDialogBox *YNdialogBox = 0;
-static puFrame *YNdialogFrame = 0;
-static puText *YNdialogBoxMessage = 0;
-static puOneShot *YNdialogBoxOkButton = 0;
-static puOneShot *YNdialogBoxNoButton = 0;
-
-static char msg_OK[] = "OK";
-static char msg_NO[] = "NO";
-static char msg_YES[] = "YES";
-static char msg_CANCEL[] = "Cancel";
-static char msg_RESET[] = "Reset";
-
-char *gui_msg_OK; // "OK"
-char *gui_msg_NO; // "NO"
-char *gui_msg_YES; // "YES"
-char *gui_msg_CANCEL; // "CANCEL"
-char *gui_msg_RESET; // "RESET"
-
-static char global_dialog_string[256];
-
-// from cockpit.cxx
-extern void fgLatLonFormatToggle( puObject *);
-
-
-/* ================ General Purpose Functions ================ */
-
-// Intercept the Escape Key
-void ConfirmExitDialog(void)
-{
- FG_PUSH_PUI_DIALOG( YNdialogBox );
-}
-
-// General Purpose Message Box
-void mkDialog (const char *txt)
-{
- strncpy(global_dialog_string, txt, 256);
- dialogBoxMessage->setLabel(global_dialog_string);
- FG_PUSH_PUI_DIALOG( dialogBox );
-}
-
-// Toggle the Menu and Mouse display state
-void guiToggleMenu(void)
-{
- if( gui_menu_on ) {
- // printf("Hiding Menu\n");
- mainMenuBar->hide ();
-#if defined(WIN32_CURSOR_TWEAKS)
- if( mouse_mode == MOUSE_POINTER )
- TurnCursorOff();
-#endif // #ifdef WIN32_CURSOR_TWEAKS
- } else {
- // printf("Showing Menu\n");
- mainMenuBar->reveal();
-#ifdef WIN32
- TurnCursorOn();
-#endif // #ifdef WIN32
- }
- gui_menu_on = ~gui_menu_on;
-}
-
-/* -----------------------------------------------------------------------
-the Gui callback functions
-____________________________________________________________________*/
-
-
-// Hier Neu :-) This is my newly added code
-// Added by David Findlay <nedz@bigpond.com>
-// on Sunday 3rd of December
-
-// Start new Save Dialog Box
-static puDialogBox *SaveDialog = 0;
-static puFrame *SaveDialogFrame = 0;
-static puText *SaveDialogMessage = 0;
-static puInput *SaveDialogInput = 0;
-
-static puOneShot *SaveDialogOkButton = 0;
-static puOneShot *SaveDialogCancelButton = 0;
-// static puOneShot *SaveDialogResetButton = 0;
-
-// Default save filename
-static char saveFile[256] = "fgfs.sav";
-
-// Cancel Button
-void SaveDialogCancel(puObject *) {
- FG_POP_PUI_DIALOG( SaveDialog );
-}
-
-// If press OK do this
-void SaveDialogOk(puObject*) {
-
- FG_POP_PUI_DIALOG( SaveDialog );
-
- char *s;
- SaveDialogInput->getValue(&s);
-
- ofstream output(s);
- cout << saveFile << endl;
- if (output.good() && fgSaveFlight(output)) {
- output.close();
- mkDialog("Saved flight");
- SG_LOG(SG_INPUT, SG_INFO, "Saved flight");
- } else {
- mkDialog("Cannot save flight");
- SG_LOG(SG_INPUT, SG_ALERT, "Cannot save flight");
- }
-}
-
-// Create Dialog
-static void saveFlight(puObject *cv) {
- SaveDialog = new puDialogBox (150, 50);
- {
- SaveDialogFrame = new puFrame (0,0,350, 150);
- SaveDialogMessage = new puText (
- (150 - puGetStringWidth( puGetDefaultLabelFont(), "File Name:" ) / 2), 110);
- SaveDialogMessage -> setLabel ("File Name:");
-
- SaveDialogInput = new puInput (50, 70, 300, 100);
- SaveDialogInput -> setValue (saveFile);
- SaveDialogInput -> acceptInput();
-
- SaveDialogOkButton = new puOneShot (50, 10, 110, 50);
- SaveDialogOkButton -> setLegend (gui_msg_OK);
- SaveDialogOkButton -> setCallback ( SaveDialogOk );
- SaveDialogOkButton -> makeReturnDefault(TRUE);
-
- SaveDialogCancelButton = new puOneShot (140, 10, 210, 50);
- SaveDialogCancelButton -> setLegend (gui_msg_CANCEL);
- SaveDialogCancelButton -> setCallback ( SaveDialogCancel );
- }
- FG_FINALIZE_PUI_DIALOG( SaveDialog );
-
- SaveDialog -> reveal();
-}
-
-// Load Dialog Start
-static puDialogBox *LoadDialog = 0;
-static puFrame *LoadDialogFrame = 0;
-static puText *LoadDialogMessage = 0;
-static puInput *LoadDialogInput = 0;
-
-static puOneShot *LoadDialogOkButton = 0;
-static puOneShot *LoadDialogCancelButton = 0;
-// static puOneShot *LoadDialogResetButton = 0;
-
-// Default load filename
-static char loadFile[256] = "fgfs.sav";
-
-// Do this if the person click okay
-void LoadDialogOk(puObject *) {
-
- FG_POP_PUI_DIALOG( LoadDialog );
-
- char *l;
- LoadDialogInput->getValue(&l);
-
- ifstream input(l);
- if (input.good() && fgLoadFlight(input)) {
- input.close();
- mkDialog("Loaded flight");
- SG_LOG(SG_INPUT, SG_INFO, "Restored flight");
- } else {
- mkDialog("Failed to load flight");
- SG_LOG(SG_INPUT, SG_ALERT, "Cannot load flight");
- }
-}
-
-// Do this is the person presses cancel
-void LoadDialogCancel(puObject *) {
- FG_POP_PUI_DIALOG( LoadDialog );
-}
-
-// Create Load Dialog
-static void loadFlight(puObject *cb)
-{
- LoadDialog = new puDialogBox (150, 50);
- {
- LoadDialogFrame = new puFrame (0,0,350, 150);
- LoadDialogMessage = new puText (
- (150 - puGetStringWidth( puGetDefaultLabelFont(), "File Name:" ) / 2), 110);
- LoadDialogMessage -> setLabel ("File Name:");
-
- LoadDialogInput = new puInput (50, 70, 300, 100);
- LoadDialogInput -> setValue (loadFile);
- LoadDialogInput -> acceptInput();
-
- LoadDialogOkButton = new puOneShot (50, 10, 110, 50);
- LoadDialogOkButton -> setLegend (gui_msg_OK);
- LoadDialogOkButton -> setCallback ( LoadDialogOk );
- LoadDialogOkButton -> makeReturnDefault(TRUE);
-
- LoadDialogCancelButton = new puOneShot (140, 10, 210, 50);
- LoadDialogCancelButton -> setLegend (gui_msg_CANCEL);
- LoadDialogCancelButton -> setCallback ( LoadDialogCancel );
- }
- FG_FINALIZE_PUI_DIALOG( LoadDialog );
-
- LoadDialog -> reveal();
-}
-
-// This is the accessor function
-void guiTogglePanel(puObject *cb)
-{
- if (fgGetBool("/sim/panel/visibility"))
- fgSetBool("/sim/panel/visibility", false);
- else
- fgSetBool("/sim/panel/visibility", true);
-
- fgReshape(fgGetInt("/sim/startup/xsize"),
- fgGetInt("/sim/startup/ysize"));
-}
-
-//void MenuHideMenuCb(puObject *cb)
-void hideMenuCb (puObject *cb)
-{
- guiToggleMenu();
-}
-
-void goodBye(puObject *)
-{
- // SG_LOG( SG_INPUT, SG_ALERT,
- // "Program exiting normally at user request." );
- cout << "Program exiting normally at user request." << endl;
-
-#ifdef FG_NETWORK_OLK
- if ( fgGetBool("/sim/networking/network-olk") ) {
- if ( net_is_registered == 0 ) fgd_send_com( "8", FGFS_host);
- }
-#endif
-
- // close all external I/O connections
- fgIOShutdownAll();
-
- exit(0);
-}
-