Possibility to PUSH_FRONT a field in a form
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user