Companion global variables refactor (#5328)

* Companion Global Variables refactor to support changes to radio in 2.2

* Update model print for global variables refactor

* Check and if necessary update all flight modes gvar after updating min or max

* Fix loop limit

* Add clear single gvar context menu
Add gvar popup values to model print
Minor fixes
This commit is contained in:
Neil Horne
2017-11-11 08:56:30 +01:00
committed by Bertrand Songis
parent 69afa9d0f8
commit 8e9d370770
8 changed files with 452 additions and 66 deletions
+50 -4
View File
@@ -307,18 +307,64 @@ QString MultiModelPrinter::printFlightModes()
if ((gvars && firmware->getCapability(GvarsFlightModes)) || firmware->getCapability(RotaryEncoders)) {
MultiColumns columns(modelPrinterMap.size());
columns.append("<table cellspacing='0' cellpadding='1' width='100%' border='0' style='border-collapse:collapse'>");
columns.append("<tr><td><b>" + tr("Flight mode") + "</b></td>");
columns.append("<tr><td><b>" + tr("Global variables") + "</b></td>");
if (firmware->getCapability(GvarsFlightModes)) {
for (int i=0; i<gvars; i++) {
columns.append("<td><b>" + tr("GV%1").arg(i+1) + "</b><br/>");
COMPARE(model->gvars_names[i]);
columns.append("</td>");
columns.append("<td><b>" + tr("GV%1").arg(i+1) + "</b></td>");
}
}
for (int i=0; i<firmware->getCapability(RotaryEncoders); i++) {
columns.append("<td><b>" + tr("RE%1").arg(i+1) + "</b></td>");
}
columns.append("</tr>");
if (firmware->getCapability(GvarsFlightModes)) {
columns.append("<tr><td><b>Name</b></td>");
for (int i=0; i<gvars; i++) {
columns.append("<td>");
COMPARE(model->gvarData[i].name);
columns.append("</td>");
}
columns.append("</tr>");
columns.append("<tr><td><b>Unit</b></td>");
for (int i=0; i<gvars; i++) {
columns.append("<td>");
COMPARE(modelPrinter->printGlobalVarUnit(i));
columns.append("</td>");
}
columns.append("</tr>");
columns.append("<tr><td><b>Prec</b></td>");
for (int i=0; i<gvars; i++) {
columns.append("<td>");
COMPARE(modelPrinter->printGlobalVarPrec(i));
columns.append("</td>");
}
columns.append("</tr>");
columns.append("<tr><td><b>Min</b></td>");
for (int i=0; i<gvars; i++) {
columns.append("<td>");
COMPARE(modelPrinter->printGlobalVarMin(i));
columns.append("</td>");
}
columns.append("</tr>");
columns.append("<tr><td><b>Max</b></td>");
for (int i=0; i<gvars; i++) {
columns.append("<td>");
COMPARE(modelPrinter->printGlobalVarMax(i));
columns.append("</td>");
}
columns.append("</tr>");
columns.append("<tr><td><b>Popup</b></td>");
for (int i=0; i<gvars; i++) {
columns.append("<td>");
COMPARE(modelPrinter->printGlobalVarPopup(i));
columns.append("</td>");
}
columns.append("</tr>");
}
columns.append("<tr><td><b>" + tr("Flight mode") + "</b></td></tr>");
for (int i=0; i<firmware->getCapability(FlightModes); i++) {
columns.append("<tr><td><b>" + tr("FM%1").arg(i) + "</b>&nbsp;");
COMPARE(model->flightModeData[i].name);