From e08148fdcfd6c0eea1446261f0284abdf0ef2589 Mon Sep 17 00:00:00 2001 From: Inuyaksa <inuyaksa@yahoo.com> Date: Fri, 22 Jan 2021 00:44:16 +0100 Subject: [PATCH] PROG pages fix layouts to manual - PROG APPROACH/DONE pages added --- Models/Instruments/MCDU/MCDU.nas | 99 ++++++++++++++++++++++++-------- 1 file changed, 74 insertions(+), 25 deletions(-) diff --git a/Models/Instruments/MCDU/MCDU.nas b/Models/Instruments/MCDU/MCDU.nas index 4601d4cd..b982ad04 100644 --- a/Models/Instruments/MCDU/MCDU.nas +++ b/Models/Instruments/MCDU/MCDU.nas @@ -3576,7 +3576,8 @@ var canvas_MCDU_base = { me["Simple_L6"].setFontSize(small); } - } else if (page == "PROGPREF" or page == "PROGTO" or page == "PROGCLB" or page == "PROGCRZ" or page == "PROGDES") { + } else if (page == "PROGPREF" or page == "PROGTO" or page == "PROGCLB" or page == "PROGCRZ" or page == "PROGDES" or page == "PROGAPPR" or page == "PROGDONE") { + if (fmgc.FMGCInternal.phase == 0) { setprop("/MCDU[" ~ i ~ "]/page", "PROGPREF"); page = "PROGPREF"; @@ -3589,10 +3590,16 @@ var canvas_MCDU_base = { } else if (fmgc.FMGCInternal.phase == 3) { setprop("/MCDU[" ~ i ~ "]/page", "PROGCRZ"); page = "PROGCRZ"; - } else if (fmgc.FMGCInternal.phase == 4 or fmgc.FMGCInternal.phase == 5 or fmgc.FMGCInternal.phase == 6) { + } else if (fmgc.FMGCInternal.phase == 4) { setprop("/MCDU[" ~ i ~ "]/page", "PROGDES"); page = "PROGDES"; - } + } else if (fmgc.FMGCInternal.phase == 5 or fmgc.FMGCInternal.phase == 6) { + setprop("/MCDU[" ~ i ~ "]/page", "PROGAPPR"); + page = "PROGAPPR"; + } else if (fmgc.FMGCInternal.phase == 7) { + setprop("/MCDU[" ~ i ~ "]/page", "PROGDONE"); + page = "PROGDONE"; + } if (!pageSwitch[i].getBoolValue()) { me["Simple"].show(); @@ -3622,18 +3629,22 @@ var canvas_MCDU_base = { colortext[0] = "CRUISE"; } else if (page == "PROGDES") { colortext[0] = "DESCENT"; + } else if (page == "PROGAPPR") { + colortext[0] = "APPROACH"; + } else if (page == "PROGDONE") { + colortext[0] = "DONE"; } - colortext[1] = (fmgc.FMGCInternal.flightNumSet) ? fmgc.FMGCInternal.flightNum ~ " " : ""; # push title a little left + colortext[1] = (fmgc.FMGCInternal.flightNumSet and page != "PROGDONE") ? fmgc.FMGCInternal.flightNum : ""; - me["Simple_Title"].setText(colortext[0] ~ sprintf("%" ~ (size(colortext[1])+1) ~ "s"," ")); - me["Simple_Title2"].setText(sprintf("%" ~ (size(colortext[0])+1) ~ "s"," ") ~ colortext[1]); + me["Simple_Title"].setText(sprintf(" %-21s",colortext[0])); + me["Simple_Title2"].setText(sprintf("%12s %-11s","",colortext[1])); me["Simple_Title"].show(); - me["Simple_Title"].setColor(GREEN); + me["Simple_Title"].setColor((page != "PROGDONE") ? GREEN : WHITE); me["Simple_Title2"].show(); me["Simple_Title2"].setColor(WHITE); - me["Simple_PageNum"].setText("X/X"); + #me["Simple_PageNum"].setText("X/X"); me["Simple_PageNum"].hide(); me["ArrowLeft"].hide(); me["ArrowRight"].hide(); @@ -3652,35 +3663,50 @@ var canvas_MCDU_base = { me.fontLeft(default, default, symbol, default, default, default); me.fontLeftS(default, default, default, default, default, default); - me.fontRight(default, symbol, symbol, symbol, default, default); + me.fontRight(default, default, symbol, symbol, default, default); me.fontRightS(default, default, default, default, default, default); - - if (page == "PROGCRZ") { - me.showLeftS(0, 0, -1, 0, 0, 0); - me.showCenterS(0, 0, 1, 0, 0, 0); - #me.showRight(0, 0, 1, 0, 0, 0); #Add when implement cruise phase - me.fontLeft(0, 0, default, 0, 0, 0); - } else if (page == "PROGDES") { - me.showRight(0, 1, 0, 0, 0, 0); - } - + me.fontSizeLeft(normal, normal, small, small, normal, small); me.fontSizeLeftS(small, small, small, small, small, small); me.fontSizeRight(normal, small, small, small, normal, small); me.fontSizeRightS(small, small, small, small, small, small); me.fontSizeCenter(small, small, small, small, small, normal); - me.fontSizeCenterS(normal, small, small, small, small, small); + me.fontSizeCenterS(normal, small, small, small, small, small); me["Simple_C1S"].setFontSize(small); me.colorLeft("blu", "wht", "blu", "wht", "wht", "blu"); me.colorLeftS("wht", "wht", "wht", "wht", "wht", "wht"); me.colorLeftArrow("wht", "wht", "wht", "wht", "wht", "wht"); - me.colorRight("mag", "blu", "blu", "blu", "grn", "grn"); + me.colorRight("mag", "grn", "blu", "blu", "grn", "grn"); me.colorRightS("wht", "wht", "wht", "wht", "wht", "wht"); me.colorRightArrow("wht", "wht", "wht", "wht", "wht", "wht"); me.colorCenter("grn", "wht", "wht", "wht", "wht", "grn"); me.colorCenterS("wht", "wht", "wht", "wht", "wht", "wht"); + + if (page == "PROGCRZ") { + me.showLeftS(0, 0, -1, 0, 0, 0); + me.showCenterS(0, 0, 1, 0, 0, 0); + #me.showRight(0, 0, 1, 0, 0, 0); #Add when implement cruise phase + me.fontLeft(0, 0, default, 0, 0, 0); + } else if (page == "PROGDES" or page == "PROGAPPR") { + me.showCenter(0, 1, 0, 0, 0, 0); + me.showRight(0, 1, 0, 0, 0, 0); + #me["Simple_C2"].setFontSize(normal); + me["Simple_R2"].setFontSize(normal); + } + #else if (page == "PROGAPPR") { # A/C without GPS + # me["Simple_L5S"].setFontSize(small); + # me["Simple_L5S"].setColor(GREEN); + # me["Simple_L5"].setFontSize(small); + # me["Simple_L5"].setColor(GREEN); + # me["Simple_R5S"].setFontSize(small); + # me["Simple_R5S"].setColor(WHITE); + # me["Simple_R5S"].show(); + # me["Simple_R5"].setFontSize(small); + # me["Simple_R5"].setColor(WHITE); + # me.showLeftArrow(-1, 1, -1, -1, -1, -1); + #} pageSwitch[i].setBoolValue(1); } @@ -3692,7 +3718,7 @@ var canvas_MCDU_base = { me["Simple_L1"].setText(sprintf("%s", "FL" ~ fmgc.FMGCInternal.crzProg)); } } else { - me["Simple_L1"].setText("----"); + me["Simple_L1"].setText("-----"); } me["Simple_L2"].setText(" REPORT"); if (page == "PROGCRZ") { @@ -3711,19 +3737,42 @@ var canvas_MCDU_base = { me["Simple_L4S"].setText(" BRG /DIST"); me["Simple_L5S"].setText(" PREDICTIVE"); me["Simple_L6S"].setText("REQUIRED"); - me["Simple_R1"].setText("FL398"); - me["Simple_R2"].setText("VDEV = + 750 FT"); + + if (page != "PROGDONE") { + me["Simple_R1"].setText("FL398 "); + } else { + me["Simple_R1"].setText("----- "); + me["Simple_L1"].setColor(AMBER); + me["Simple_C1"].setColor(WHITE); + me["Simple_R1"].setColor(WHITE); + me["Simple_R5"].hide(); + } + + if (page == "PROGDES" or page == "PROGAPPR") { + var vdev = 750; #CHECKME i dunno the meaning, but I found this value in the source + var vdev_sign = (vdev>=0) ? "+" : "-"; + me["Simple_R2"].setText(sprintf("%s%04d ",vdev_sign,abs(vdev))); + me["Simple_C2"].setText(sprintf("%30s","VDEV= FT ")); + } + me["Simple_R4"].setText("[ ]"); me["Simple_R5"].setText("GPS PRIMARY"); me["Simple_R6"].setText("----"); me["Simple_R1S"].setText("REC MAX "); me["Simple_R6S"].setText("ESTIMATED"); - me["Simple_C1"].setText("----"); + me["Simple_C1"].setText("-----"); me["Simple_C1S"].setText("OPT"); me["Simple_C3S"].setText("CONFIRM UPDATE AT"); me["Simple_C4"].setText(" TO"); me["Simple_C6S"].setText("ACCUR"); me["Simple_C6"].setText("HIGH"); + + #if (page == "PROGAPPR") { # A/C without GPS + # me["Simple_L5"].setText(sprintf(" DIR DIST TO DEST=%6d",0)); + # me["Simple_L5S"].setText(sprintf("REQD DIST TO LAND=%6d",0)); + # me["Simple_R5"].setText("MN"); + # me["Simple_R5S"].setText("MN"); + #} } else if (page == "PERFTO") { if (!pageSwitch[i].getBoolValue()) {