1
0
Fork 0

FG1000: Keyboard input for GCU 47X

From Julio Santa Cruz
This commit is contained in:
Stuart Buchanan 2020-07-07 13:28:32 +01:00
parent 486797d6c6
commit 78e9eff433
7 changed files with 58 additions and 7 deletions

View file

@ -129,6 +129,13 @@ var AirportInfoController =
}
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleKeyInput : func (value) {
if (me._currentGroup == AirportInfoController.UIGROUP.APT) {
me.page.airportEntry.keyPress(value);
return emesary.Transmitter.ReceiptStatus_Finished;
}
return emesary.Transmitter.ReceiptStatus_NotProcessed;
},
handleFMSInner : func(value) {
if (me.crsrToggle == 1) {
if (me._currentGroup == AirportInfoController.UIGROUP.APT) {

View file

@ -320,6 +320,17 @@ var DirectToController =
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleKeyInput : func (value) {
if (! me.dto_displayed) return emesary.Transmitter.ReceiptStatus_NotProcessed;
if (me._waypointSubmenuVisible) return emesary.Transmitter.ReceiptStatus_NotProcessed;
if (me._cursorElements[me._selectedElement].isEditable()) {
me._cursorElements[me._selectedElement].keyPress(value);
}
return emesary.Transmitter.ReceiptStatus_Finished;
},
# Reset controller if required when the page is displayed or hidden
# Note that we explicitly do NOT RegisterWithEmesary/DeRegisterWithEmesary!

View file

@ -132,7 +132,10 @@ var IntersectionInfoController =
me._page.dataEntry.unhighlightElement();
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleKeyInput : func (value) {
me._page.dataEntry.keyPress(value);
return emesary.Transmitter.ReceiptStatus_Finished;
},
# Reset controller if required when the page is displayed or hidden
ondisplay : func() {
me.RegisterWithEmesary();

View file

@ -134,7 +134,11 @@ var NDBInfoController =
me._page.dataEntry.unhighlightElement();
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleKeyInput : func (value) {
me._page.dataEntry.keyPress(value);
return emesary.Transmitter.ReceiptStatus_Finished;
},
# Reset controller if required when the page is displayed or hidden
ondisplay : func() {
me.RegisterWithEmesary();

View file

@ -39,6 +39,10 @@ var VORInfoController =
}
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleKeyInput : func (value) {
me._page.dataEntry.keyPress(value);
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleFMSInner : func(value) {
if (me._crsrToggle == 1) {
me._page.dataEntry.incrSmall(value);

View file

@ -266,6 +266,12 @@ var WaypointEntryController =
me.loadDestination(me.page.IDEntry.getValue());
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleKeyInput : func (value) {
if (! me._wpentry_displayed) return emesary.Transmitter.ReceiptStatus_NotProcessed;
if (me._selectedElement == 0) return emesary.Transmitter.ReceiptStatus_NotProcessed;
me._cursorElements[me._selectedElement].keyPress(value);
return emesary.Transmitter.ReceiptStatus_Finished;
},
# Reset controller if required when the page is displayed or hidden
# Note that we explicitly do NOT RegisterWithEmesary/DeRegisterWithEmesary!

View file

@ -144,11 +144,7 @@ var DataEntryElement =
me.highlightElement();
me._dataEntryPos = -1;
},
incrSmall : func(value) {
# Change the value of this element, or start editing it if we're not already
# doing so.
if (me._dataEntryPos == -1) {
_startEdit: func() {
# Start editing by hiding the top level element, and displaying and
# resetting the character entry fields.
me._dataEntryPos = 0;
@ -162,6 +158,26 @@ var DataEntryElement =
# Highlight the first character element to indicate we're editing it
me._highlightCharElement();
},
keyPress: func(value) {
if (me._dataEntryPos == -1) {
me._startEdit();
}
var charSym = me._dataEntrySymbol[me._dataEntryPos];
charSym.setText(value);
if ( me._dataEntryPos == me._size -1 ) return;
me._unhighlightCharElement();
me._dataEntryPos = me._dataEntryPos + 1;
me._highlightCharElement();
},
incrSmall : func(value) {
# Change the value of this element, or start editing it if we're not already
# doing so.
if (me._dataEntryPos == -1) {
me._startEdit();
} else {
var charSym = me._dataEntrySymbol[me._dataEntryPos];
var incr_or_decr = (value > 0) ? 1 : -1;