X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2FKLN89%2Fkln89_page_cal.hxx;h=d77806e96af0754510751bcb9108bcd81b6f4369;hb=c5c895dae250898d667ae29641c51a550be7ee90;hp=985c9cd22078b83c02a9cc280bb58963cf83473a;hpb=c9813d1b5d79b4aad13c263690a0223086af25ac;p=flightgear.git diff --git a/src/Instrumentation/KLN89/kln89_page_cal.hxx b/src/Instrumentation/KLN89/kln89_page_cal.hxx index 985c9cd22..d77806e96 100644 --- a/src/Instrumentation/KLN89/kln89_page_cal.hxx +++ b/src/Instrumentation/KLN89/kln89_page_cal.hxx @@ -3,7 +3,7 @@ // // Written by David Luff, started 2005. // -// Copyright (C) 2005 - David C Luff - david.luff@nottingham.ac.uk +// Copyright (C) 2005 - David C Luff: daveluff --AT-- ntlworld --D0T-- com // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -33,10 +33,46 @@ public: ~KLN89CalPage(); void Update(double dt); + + void CrsrPressed(); + void ClrPressed(); + void Knob2Left1(); + void Knob2Right1(); + + void LooseFocus(); private: unsigned int _nFp0; // flightplan no. displayed on page 1 (_subPage == 0). double _ground_speed_ms; // Assumed ground speed for ete calc on page 1 (user can alter this). + + // CAL3 (alarm) page + ClockTime _alarmTime; + ClockTime _alarmIn; + // _alarmAnnotate shows that the alarm has been set at least once + // so the time should now be always annotated (there seems to be + // no way to remove it once set once!). + bool _alarmAnnotate; + // _alarmSet indicates that the alarm has been changed by the user + // and should be set in the main unit when the page looses focus + // (I don't think the alarm goes off unless the user leaves the + // CAL3 page after setting it). + bool _alarmSet; + + // Calculate the alarm time based on the alarm-in value + void CalcAlarmTime(); + // Calculate alarm-in based on the alarm time. + void CalcAlarmIn(); + + // Calculate the difference between 2 hr:min times. + // It is assumed that the second time is always later than the first one + // ie. that the day has wrapped if the second one is less, + // but is limited to intervals of < 24hr. + void TimeDiff(int hr1, int min1, int hr2, int min2, int &hrDiff, int &minDiff); }; + +inline ostream& operator<< (ostream& out, const ClockTime& t) { + return(out << t._hr << ':' << t._min); +} + #endif // _KLN89_PAGE_CAL