-////////////// end freq search statics ///////////////
-
-// ------------------------ AK ------------------------------------------
-static puDialogBox *ATCMenuBox = 0;
-static puFrame *ATCMenuFrame = 0;
-static puText *ATCMenuBoxMessage = 0;
-static puButtonBox *ATCOptionsList = 0;
-// ----------------------------------------------------------------------
-
-// AK
-static void AKATCDialogOK(puObject *)
-{
- switch(ATCOptionsList->getValue()) {
- case 0:
- //cout << "Option 0 chosen\n";
- fgSetBool("/sim/atc/opt0",true);
- break;
- case 1:
- //cout << "Option 1 chosen\n";
- fgSetBool("/sim/atc/opt1",true);
- break;
- case 2:
- //cout << "Option 2 chosen\n";
- fgSetBool("/sim/atc/opt2",true);
- break;
- case 3:
- //cout << "Option 2 chosen\n";
- fgSetBool("/sim/atc/opt3",true);
- break;
- default:
- break;
- }
- FG_POP_PUI_DIALOG( ATCMenuBox );
-}
-
-// AK
-static void AKATCDialogCancel(puObject *)
-{
- FG_POP_PUI_DIALOG( ATCMenuBox );
-}
-
-// DCL
-static void ATCDialogCancel(puObject *)
-{
- //ATCDialogInput->rejectInput();
- FG_POP_PUI_DIALOG( atcDialog );
-}
-
-// DCL
-static void ATCDialogOK (puObject *me)
-{
- // Note that currently the dialog is hardwired to comm1 only here.
- switch(globals->get_ATC_mgr()->GetComm1ATCType()) {
- case INVALID:
- break;
- case ATIS:
- break;
- case TOWER: {
- /*
- FGTower* twr = (FGTower*)globals->get_ATC_mgr()->GetComm1ATCPointer();
- switch(atcDialogCommunicationOptions->getValue()) {
- case 0:
- //cout << "Option 0 chosen\n";
- twr->RequestLandingClearance("charlie foxtrot sierra");
- break;
- case 1:
- //cout << "Option 1 chosen\n";
- twr->RequestDepartureClearance("charlie foxtrot sierra");
- break;
- case 2:
- //cout << "Option 2 chosen\n";
- twr->ReportRunwayVacated("charlie foxtrot sierra");
- break;
- default:
- break;
- }
- */
- break;
- }
- case GROUND:
- break;
- case APPROACH:
- break;
- default:
- break;
- }
-
- ATCDialogCancel(me);
- //if(error) mkDialog(s.c_str());
-}
-
-// DCL
-static void ATCDialog(puObject *cb)
-{
- FG_PUSH_PUI_DIALOG(atcDialog);
-}
-
-// DCL
-void ATCDialogInit()
-{
- char defaultATCLabel[] = "Enter desired option to communicate with ATC:";
- char *s;
-
- // Option lists hardwired per ATC type
- towerOptions[0] = new char[strlen(t0)+1];
- strcpy(towerOptions[0], t0);
- //towerOptions[1] = new char[strlen(t1)+1];
- //strcpy(towerOptions[1], t1);
- //towerOptions[2] = new char[strlen(t2)+1];
- //strcpy(towerOptions[2], t2);
- towerOptions[1] = NULL;
-
- atcDialog = new puDialogBox (150, 50);
- {
- atcDialogFrame = new puFrame (0, 0, 500, 250);
-
- atcDialogMessage = new puText (250, 220);
- atcDialogMessage -> setDefaultValue (defaultATCLabel);
- atcDialogMessage -> getDefaultValue (&s);
- atcDialogMessage -> setLabel (s);
- atcDialogMessage -> setLabelPlace (PUPLACE_TOP_CENTERED);
-
- atcDialogCommunicationOptions = new puButtonBox (50, 50, 450, 210, NULL, true);
-
- atcDialogOkButton = new puOneShot (50, 10, 110, 50);
- atcDialogOkButton -> setLegend (gui_msg_OK);
- atcDialogOkButton -> makeReturnDefault (TRUE);
- atcDialogOkButton -> setCallback (ATCDialogOK);
-
- atcDialogCancelButton = new puOneShot (140, 10, 210, 50);
- atcDialogCancelButton -> setLegend (gui_msg_CANCEL);
- atcDialogCancelButton -> setCallback (ATCDialogCancel);
-
- }
- FG_FINALIZE_PUI_DIALOG(atcDialog);
-
- // Add ATC-dialog to the command list
- globals->get_commands()->addCommand("ATC-dialog", do_ATC_dialog);
-}
-
-///////////////////////////////////////////////////////////////////////
-//
-// ATCDoDialog is in a state of flux at the moment
-// Stations other than approach are handled by DCL's simple code
-// Approach is handled by AK's fancy dynamic-list code
-// Hopefully all interactive stations should go to AK's code eventually
-//
-///////////////////////////////////////////////////////////////////////
-void ATCDoDialog(atc_type type) {
- switch(type) {
- case INVALID:
- atcDialogCommunicationOptions->newList(NULL);
- atcDialogMessage->setLabel("Not tuned in to any ATC service.");
- break;
- case ATIS:
- atcDialogCommunicationOptions->newList(NULL);
- atcDialogMessage->setLabel("Tuned in to ATIS: no communication possible.");
- break;
- case TOWER:
- atcDialogCommunicationOptions->newList(towerOptions);
- atcDialogMessage->setLabel("Tuned in to Tower - select communication to transmit:");
- break;
- case GROUND:
- atcDialogCommunicationOptions->newList(NULL);
- atcDialogMessage->setLabel("Tuned in to Ground - select communication to transmit:");
- break;
- case APPROACH:
- current_atcdialog->DoDialog();
- break;
- default:
- atcDialogCommunicationOptions->newList(NULL);
- atcDialogMessage->setLabel("Tuned in to unknown ATC service - enter transmission:");
- break;
- }
-
- // Third - display the dialog without pausing sim.
- if(type != APPROACH) {
- ATCDialog(NULL);
- }
-}