Possibility to PUSH_FRONT a field in a form

This commit is contained in:
Bertrand Songis
2020-03-11 19:23:18 +01:00
parent 16e71d80b8
commit 2586940867
10 changed files with 26 additions and 26 deletions
+2 -2
View File
@@ -130,11 +130,11 @@ void ModelFlightModesPage::build(FormWindow * window)
new NumberEdit(group, grid.getFieldSlot(2, 0), 0, DELAY_MAX,
GET_DEFAULT(g_model.flightModeData[i].fadeIn),
SET_VALUE(g_model.flightModeData[i].fadeIn, newValue),
PREC1);
0, PREC1);
new NumberEdit(group, grid.getFieldSlot(2, 1), 0, DELAY_MAX,
GET_DEFAULT(g_model.flightModeData[i].fadeOut),
SET_VALUE(g_model.flightModeData[i].fadeOut, newValue),
PREC1);
0, PREC1);
grid.nextLine();
grid.spacer();
@@ -174,7 +174,7 @@ class LogicalSwitchEditPage: public Page {
// Duration
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_DURATION);
auto edit = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), 0, MAX_LS_DURATION, GET_SET_DEFAULT(cs->duration), PREC1);
auto edit = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), 0, MAX_LS_DURATION, GET_SET_DEFAULT(cs->duration), 0, PREC1);
edit->setZeroText("---");
grid.nextLine();
@@ -184,7 +184,7 @@ class LogicalSwitchEditPage: public Page {
new StaticText(logicalSwitchOneWindow, grid.getFieldSlot(), STR_NA);
}
else {
auto edit = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), 0, MAX_LS_DELAY, GET_SET_DEFAULT(cs->delay), PREC1);
auto edit = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), 0, MAX_LS_DELAY, GET_SET_DEFAULT(cs->delay), 0, PREC1);
edit->setZeroText("---");
}
grid.nextLine();
+4 -4
View File
@@ -160,7 +160,7 @@ class MixEditWindow : public Page {
edit = new NumberEdit(window, grid.getFieldSlot(2, 0), 0, DELAY_MAX,
GET_DEFAULT(mix->delayUp),
SET_VALUE(mix->delayUp, newValue),
PREC1);
0, PREC1);
edit->setSuffix("s");
grid.nextLine();
@@ -169,7 +169,7 @@ class MixEditWindow : public Page {
edit = new NumberEdit(window, grid.getFieldSlot(2, 0), 0, DELAY_MAX,
GET_DEFAULT(mix->delayDown),
SET_VALUE(mix->delayDown, newValue),
PREC1);
0, PREC1);
edit->setSuffix("s");
grid.nextLine();
@@ -178,7 +178,7 @@ class MixEditWindow : public Page {
edit = new NumberEdit(window, grid.getFieldSlot(2, 0), 0, DELAY_MAX,
GET_DEFAULT(mix->speedUp),
SET_VALUE(mix->speedUp, newValue),
PREC1);
0, PREC1);
edit->setSuffix("s");
grid.nextLine();
@@ -187,7 +187,7 @@ class MixEditWindow : public Page {
edit = new NumberEdit(window, grid.getFieldSlot(2, 0), 0, DELAY_MAX,
GET_DEFAULT(mix->speedDown),
SET_VALUE(mix->speedDown, newValue),
PREC1);
0, PREC1);
edit->setSuffix("s");
grid.nextLine();
+3 -3
View File
@@ -59,7 +59,7 @@ class OutputEditWindow : public Page {
// Offset
new StaticText(window, grid.getLabelSlot(), TR_LIMITS_HEADERS_SUBTRIM);
new NumberEdit(window, grid.getFieldSlot(), -1000, +1000, GET_SET_DEFAULT(output->offset), PREC1);
new NumberEdit(window, grid.getFieldSlot(), -1000, +1000, GET_SET_DEFAULT(output->offset), 0, PREC1);
grid.nextLine();
// Min
@@ -67,7 +67,7 @@ class OutputEditWindow : public Page {
new NumberEdit(window, grid.getFieldSlot(), -limit, 0,
GET_VALUE(output->min - 1000),
SET_VALUE(output->min, newValue + 1000),
PREC1);
0, PREC1);
grid.nextLine();
// Max
@@ -75,7 +75,7 @@ class OutputEditWindow : public Page {
new NumberEdit(window, grid.getFieldSlot(), 0, +limit,
GET_VALUE(output->max + 1000),
SET_VALUE(output->max, newValue - 1000),
PREC1);
0, PREC1);
grid.nextLine();
// Direction
+3 -3
View File
@@ -119,7 +119,7 @@ class FailSafeBody : public FormGroup {
new NumberEdit(this, grid.getFieldSlot(3, 0), -lim, lim,
GET_DEFAULT(calcRESXto1000(g_model.failsafeChannels[ch])),
SET_VALUE(g_model.failsafeChannels[ch], newValue),
PREC1);
0, PREC1);
// Channel bargraph
new ChannelFailsafeBargraph(this, {150, grid.getWindowHeight(), 150, PAGE_LINE_HEIGHT}, moduleIdx, ch);
@@ -506,7 +506,7 @@ class TrainerModuleWindow : public FormGroup {
auto edit = new NumberEdit(this, grid.getFieldSlot(3, 0), 125, 35 * 5 + 225,
GET_DEFAULT(g_model.trainerData.frameLength * 5 + 225),
SET_VALUE(g_model.trainerData.frameLength, (newValue - 225) / 5),
PREC1);
0, PREC1);
edit->setStep(5);
edit->setSuffix(STR_MS);
@@ -748,7 +748,7 @@ class ModuleWindow : public FormGroup {
auto edit = new NumberEdit(this, grid.getFieldSlot(3, 0), 125, 35 * 5 + 225,
GET_DEFAULT(g_model.moduleData[moduleIdx].ppm.frameLength * 5 + 225),
SET_VALUE(g_model.moduleData[moduleIdx].ppm.frameLength, (newValue - 225) / 5),
PREC1);
0, PREC1);
edit->setStep(5);
edit->setSuffix(STR_MS);
+3 -3
View File
@@ -257,7 +257,7 @@ class SensorEditWindow : public Page {
else {
new StaticText(sensorParametersWindow, grid.getLabelSlot(), STR_OFFSET);
new NumberEdit(sensorParametersWindow, grid.getFieldSlot(), -30000, 30000, GET_SET_DEFAULT(sensor->custom.offset),
(sensor->prec > 0) ? (sensor->prec == 2 ? PREC2 : PREC1) : 0);
0, (sensor->prec > 0) ? (sensor->prec == 2 ? PREC2 : PREC1) : 0);
}
grid.nextLine();
}
@@ -541,8 +541,8 @@ void ModelTelemetryPage::build(FormWindow * window, int8_t focusSensorIndex)
new NumberEdit(window, grid.getFieldSlot(2, 1), -7, 7, GET_SET_WITH_OFFSET(g_model.varioData.max, 10));
grid.nextLine();
new StaticText(window, grid.getLabelSlot(true), STR_CENTER);
new NumberEdit(window, grid.getFieldSlot(3, 0), -7, 7, GET_SET_WITH_OFFSET(g_model.varioData.min, -5), PREC1);
new NumberEdit(window, grid.getFieldSlot(3, 1), -7, 7, GET_SET_WITH_OFFSET(g_model.varioData.max, 5), PREC1);
new NumberEdit(window, grid.getFieldSlot(3, 0), -7, 7, GET_SET_WITH_OFFSET(g_model.varioData.min, -5), 0, PREC1);
new NumberEdit(window, grid.getFieldSlot(3, 1), -7, 7, GET_SET_WITH_OFFSET(g_model.varioData.max, 5), 0, PREC1);
new Choice(window, grid.getFieldSlot(3, 2), STR_VVARIOCENTER, 0, 1, GET_SET_DEFAULT(g_model.varioData.centerSilent));
grid.nextLine();
+3 -3
View File
@@ -174,9 +174,9 @@ void RadioSetupPage::build(FormWindow * window)
// Batt meter range - Range 3.0v to 16v
new StaticText(window, grid.getLabelSlot(), STR_BATTERY_RANGE);
auto batMinEdit = new NumberEdit(window, grid.getFieldSlot(2, 0), -60 + 90, g_eeGeneral.vBatMax + 29 + 90, GET_SET_WITH_OFFSET(g_eeGeneral.vBatMin, 90), PREC1);
auto batMinEdit = new NumberEdit(window, grid.getFieldSlot(2, 0), -60 + 90, g_eeGeneral.vBatMax + 29 + 90, GET_SET_WITH_OFFSET(g_eeGeneral.vBatMin, 90), 0, PREC1);
batMinEdit->setSuffix("V");
auto batMaxEdit = new NumberEdit(window, grid.getFieldSlot(2, 1), g_eeGeneral.vBatMin - 29 + 120, 40 + 120, GET_SET_WITH_OFFSET(g_eeGeneral.vBatMax, 120), PREC1);
auto batMaxEdit = new NumberEdit(window, grid.getFieldSlot(2, 1), g_eeGeneral.vBatMin - 29 + 120, 40 + 120, GET_SET_WITH_OFFSET(g_eeGeneral.vBatMax, 120), 0, PREC1);
batMaxEdit->setSuffix("V");
batMinEdit->setSetValueHandler([=](int32_t newValue) {
g_eeGeneral.vBatMin= newValue - 90;
@@ -303,7 +303,7 @@ void RadioSetupPage::build(FormWindow * window)
// Battery warning
new StaticText(window, grid.getLabelSlot(true), STR_BATTERYWARNING);
edit = new NumberEdit(window, grid.getFieldSlot(), 30, 120, GET_SET_DEFAULT(g_eeGeneral.vBatWarn), PREC1);
edit = new NumberEdit(window, grid.getFieldSlot(), 30, 120, GET_SET_DEFAULT(g_eeGeneral.vBatWarn), 0, PREC1);
edit->setSuffix("v");
grid.nextLine();
+2 -2
View File
@@ -64,9 +64,9 @@ void RadioTrainerPage::build(FormWindow * window)
new StaticText(window, grid.getLabelSlot(), STR_CAL);
for (int i = 0; i < NUM_STICKS; i++) {
#if defined (PPM_UNIT_PERCENT_PREC1)
auto calib = new NumberEdit(window, grid.getFieldSlot(4, i), 0 , 0, [=]() { return (ppmInput[i]-g_eeGeneral.trainer.calib[i]) * 2; }, nullptr, LEFT | PREC1);
auto calib = new NumberEdit(window, grid.getFieldSlot(4, i), 0 , 0, [=]() { return (ppmInput[i]-g_eeGeneral.trainer.calib[i]) * 2; }, nullptr, 0, LEFT | PREC1);
#else
auto calib = new NumberEdit(window, grid.getFieldSlot(4, i), 0 , 0, [=]() { return (ppmInput[i]-g_eeGeneral.trainer.calib[i]) / 5; }, nullptr, LEFT);
auto calib = new NumberEdit(window, grid.getFieldSlot(4, i), 0 , 0, [=]() { return (ppmInput[i]-g_eeGeneral.trainer.calib[i]) / 5; }, nullptr, 0, LEFT);
#endif
calib->setWindowFlags(REFRESH_ALWAYS);
}
+3 -3
View File
@@ -23,8 +23,8 @@
#include "keyboard_number.h"
#include "strhelpers.h"
TimeEdit::TimeEdit(Window * parent, const rect_t & rect, int32_t vmin, int32_t vmax, std::function<int32_t()> getValue, std::function<void(int32_t)> setValue, LcdFlags flags):
BaseNumberEdit(parent, rect, vmin, vmax, getValue, setValue, flags)
TimeEdit::TimeEdit(Window * parent, const rect_t & rect, int32_t vmin, int32_t vmax, std::function<int32_t()> getValue, std::function<void(int32_t)> setValue):
BaseNumberEdit(parent, rect, vmin, vmax, getValue, setValue)
{
}
@@ -40,7 +40,7 @@ void TimeEdit::paint(BitmapBuffer * dc)
else
textColor = DEFAULT_COLOR;
dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, getTimerString(getValue(), (flags & TIMEHOUR) != 0), textColor);
dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, getTimerString(getValue(), (textFlags & TIMEHOUR) != 0), textColor);
}
#if defined(HARDWARE_KEYS)
+1 -1
View File
@@ -25,7 +25,7 @@
class TimeEdit : public BaseNumberEdit {
public:
TimeEdit(Window * parent, const rect_t & rect, int32_t vmin, int32_t vmax, std::function<int32_t()> getValue, std::function<void(int32_t)> setValue = nullptr, LcdFlags flags = 0);
TimeEdit(Window * parent, const rect_t & rect, int32_t vmin, int32_t vmax, std::function<int32_t()> getValue, std::function<void(int32_t)> setValue = nullptr);
#if defined(DEBUG_WINDOWS)
std::string getName() override