1# Copyright 2018 Stuart Buchanan 2# This file is part of FlightGear. 3# 4# FlightGear is free software: you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation, either version 2 of the License, or 7# (at your option) any later version. 8# 9# FlightGear is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with FlightGear. If not, see <http://www.gnu.org/licenses/>. 16# 17# AirportApproach Controller 18var AirportApproachController = 19{ 20 new : func (page, svg) 21 { 22 var obj = { 23 parents : [ AirportApproachController, MFDPageController.new(page) ], 24 _crsrToggle : 0, 25 _recipient : nil, 26 _page : page, 27 }; 28 29 return obj; 30 }, 31 32 33 # Input Handling 34 handleCRSR : func() { 35 me._crsrToggle = (! me._crsrToggle); 36 if (me._crsrToggle) { 37 } else { 38 me._page.hideCRSR(); 39 } 40 return emesary.Transmitter.ReceiptStatus_Finished; 41 }, 42 handleFMSInner : func(value) { 43 if (me._crsrToggle == 1) { 44 # Scroll through whatever is the current list 45 return emesary.Transmitter.ReceiptStatus_Finished; 46 } else { 47 # Pass to the page group controller to display and scroll through the page group menu 48 return me._page.mfd.SurroundController.handleFMSInner(value); 49 } 50 }, 51 handleFMSOuter : func(value) { 52 if (me._crsrToggle == 1) { 53 return emesary.Transmitter.ReceiptStatus_Finished; 54 } else { 55 # Pass to the page group controller to display and scroll through the page group menu 56 return me._page.mfd.SurroundController.handleFMSOuter(value); 57 } 58 }, 59 handleEnter : func(value) { 60 if (me._crsrToggle == 1) { 61 return emesary.Transmitter.ReceiptStatus_Finished; 62 } else { 63 return emesary.Transmitter.ReceiptStatus_NotProcessed; 64 } 65 }, 66 67 # Reset controller if required when the page is displayed or hidden 68 ondisplay : func() { 69 me.RegisterWithEmesary(); 70 }, 71 offdisplay : func() { 72 me.DeRegisterWithEmesary(); 73 }, 74 75}; 76