mirror of
https://github.com/opentx/opentx.git
synced 2025-07-15 04:15:26 +03:00
Gvars screen tidy up
This commit is contained in:
parent
6a966d59e2
commit
af4bb51255
3 changed files with 67 additions and 50 deletions
|
@ -30,9 +30,10 @@
|
||||||
#define TEXT_LEFT_MARGIN 2
|
#define TEXT_LEFT_MARGIN 2
|
||||||
#define GVAR_NAME_SIZE 50
|
#define GVAR_NAME_SIZE 50
|
||||||
|
|
||||||
int zchar2str(char * dest, const char * src, int size);
|
GVarButton::GVarButton(Window * parent, const rect_t & rect, uint8_t gvar):
|
||||||
|
Button(parent, rect),
|
||||||
GVarButton::GVarButton(Window * parent, const rect_t & rect, uint8_t gvar) : Button(parent, rect), gvar(gvar) {
|
gvar(gvar)
|
||||||
|
{
|
||||||
|
|
||||||
int perRow = (width() - GVAR_NAME_SIZE + TEXT_LEFT_MARGIN * 2) / GVAR_NAME_SIZE;
|
int perRow = (width() - GVAR_NAME_SIZE + TEXT_LEFT_MARGIN * 2) / GVAR_NAME_SIZE;
|
||||||
lines = MAX_FLIGHT_MODES / perRow;
|
lines = MAX_FLIGHT_MODES / perRow;
|
||||||
|
@ -67,8 +68,7 @@ void GVarButton::paint(BitmapBuffer * dc) {
|
||||||
gvarSum = 0;
|
gvarSum = 0;
|
||||||
|
|
||||||
dc->drawSolidFilledRect(0, 0, nameRectW, rect.h, CURVE_AXIS_COLOR);
|
dc->drawSolidFilledRect(0, 0, nameRectW, rect.h, CURVE_AXIS_COLOR);
|
||||||
dc->drawText(2, TEXT_OFFSET_TOP, "GV", 0);
|
dc->drawText(2, TEXT_OFFSET_TOP, getGVarString(gvar), 0);
|
||||||
dc->drawNumber(28, TEXT_OFFSET_TOP, gvar + 1, 0); //TODO need TextwithIndex
|
|
||||||
dc->drawSizedText(x, y, gvariable->name, LEN_GVAR_NAME, 0);
|
dc->drawSizedText(x, y, gvariable->name, LEN_GVAR_NAME, 0);
|
||||||
//values are right aligned
|
//values are right aligned
|
||||||
x += GVAR_NAME_SIZE;
|
x += GVAR_NAME_SIZE;
|
||||||
|
@ -113,7 +113,8 @@ void GVarButton::paint(BitmapBuffer * dc) {
|
||||||
uint8_t fm = v - GVAR_MAX - 1;
|
uint8_t fm = v - GVAR_MAX - 1;
|
||||||
if (fm >= flightMode) fm++;
|
if (fm >= flightMode) fm++;
|
||||||
drawFlightMode(dc, x, yval, fm, attr);
|
drawFlightMode(dc, x, yval, fm, attr);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
drawGVarValue(dc, x, yval, gvar, v, attr);
|
drawGVarValue(dc, x, yval, gvar, v, attr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,7 +139,8 @@ void GVarRenderer::paint(BitmapBuffer * dc) {
|
||||||
char label[16];
|
char label[16];
|
||||||
getFlightModeString(label, fm + 1);
|
getFlightModeString(label, fm + 1);
|
||||||
dc->drawSizedText(GVAR_NAME_SIZE, TEXT_OFFSET_TOP, label, strlen(label), MENU_TITLE_COLOR);
|
dc->drawSizedText(GVAR_NAME_SIZE, TEXT_OFFSET_TOP, label, strlen(label), MENU_TITLE_COLOR);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
drawGVarValue(dc, GVAR_NAME_SIZE, TEXT_OFFSET_TOP, index, lastGVar, MENU_TITLE_COLOR);
|
drawGVarValue(dc, GVAR_NAME_SIZE, TEXT_OFFSET_TOP, index, lastGVar, MENU_TITLE_COLOR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,14 +265,22 @@ void GVarEditWindow::buildBody(Window * window) {
|
||||||
new StaticText(window, grid.getLabelSlot(), STR_MIN);
|
new StaticText(window, grid.getLabelSlot(), STR_MIN);
|
||||||
min = new NumberEdit(window, grid.getFieldSlot(), GVAR_MIN, GVAR_MAX - gvar->max,
|
min = new NumberEdit(window, grid.getFieldSlot(), GVAR_MIN, GVAR_MAX - gvar->max,
|
||||||
[=] { return gvar->min + GVAR_MIN; },
|
[=] { return gvar->min + GVAR_MIN; },
|
||||||
[=](int32_t newValue) { gvar->min = newValue - GVAR_MIN; SET_DIRTY(); setProperties(); }
|
[=](int32_t newValue) {
|
||||||
|
gvar->min = newValue - GVAR_MIN;
|
||||||
|
SET_DIRTY();
|
||||||
|
setProperties();
|
||||||
|
}
|
||||||
);
|
);
|
||||||
grid.nextLine();
|
grid.nextLine();
|
||||||
|
|
||||||
new StaticText(window, grid.getLabelSlot(), STR_MAX);
|
new StaticText(window, grid.getLabelSlot(), STR_MAX);
|
||||||
max = new NumberEdit(window, grid.getFieldSlot(), GVAR_MIN + gvar->min, GVAR_MAX,
|
max = new NumberEdit(window, grid.getFieldSlot(), GVAR_MIN + gvar->min, GVAR_MAX,
|
||||||
[=] { return GVAR_MAX - gvar->max; },
|
[=] { return GVAR_MAX - gvar->max; },
|
||||||
[=](int32_t newValue) { gvar->max = GVAR_MAX - newValue; SET_DIRTY(); setProperties();}
|
[=](int32_t newValue) {
|
||||||
|
gvar->max = GVAR_MAX - newValue;
|
||||||
|
SET_DIRTY();
|
||||||
|
setProperties();
|
||||||
|
}
|
||||||
);
|
);
|
||||||
grid.nextLine();
|
grid.nextLine();
|
||||||
char flightModeName[16];
|
char flightModeName[16];
|
||||||
|
@ -283,7 +293,7 @@ void GVarEditWindow::buildBody(Window * window) {
|
||||||
int userNameLen = zlen(fmData->name, LEN_FLIGHT_MODE_NAME);
|
int userNameLen = zlen(fmData->name, LEN_FLIGHT_MODE_NAME);
|
||||||
|
|
||||||
if (userNameLen > 0) {
|
if (userNameLen > 0) {
|
||||||
zchar2str(flightModeName, fmData->name, userNameLen);
|
strcpy(flightModeName, fmData->name);
|
||||||
}
|
}
|
||||||
new StaticText(window, grid.getLabelSlot(), flightModeName);
|
new StaticText(window, grid.getLabelSlot(), flightModeName);
|
||||||
if (flightMode > 0) {
|
if (flightMode > 0) {
|
||||||
|
@ -295,7 +305,8 @@ void GVarEditWindow::buildBody(Window * window) {
|
||||||
});
|
});
|
||||||
//TODO cb->setLabel(STR_OWN);
|
//TODO cb->setLabel(STR_OWN);
|
||||||
}
|
}
|
||||||
values[flightMode] = new NumberEdit(window, grid.getFieldSlot(2,1), GVAR_MIN+gvar->min, GVAR_MAX + MAX_FLIGHT_MODES - 1, GET_SET_DEFAULT(fmData->gvars[index]));
|
values[flightMode] = new NumberEdit(window, grid.getFieldSlot(2, 1), GVAR_MIN + gvar->min, GVAR_MAX + MAX_FLIGHT_MODES - 1,
|
||||||
|
GET_SET_DEFAULT(fmData->gvars[index]));
|
||||||
grid.nextLine();
|
grid.nextLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -610,4 +610,9 @@ char * getSwitchPositionName(swsrc_t idx)
|
||||||
{
|
{
|
||||||
return getSwitchPositionName(tmpHelpersString, idx);
|
return getSwitchPositionName(tmpHelpersString, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char * getGVarString(int idx)
|
||||||
|
{
|
||||||
|
return getGVarString(tmpHelpersString, idx);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -37,6 +37,7 @@ char * strAppendStringWithIndex(char * dest, const char * s, int idx);
|
||||||
char * getTimerString(char * dest, int32_t tme, uint8_t hours=0);
|
char * getTimerString(char * dest, int32_t tme, uint8_t hours=0);
|
||||||
char * getCurveString(char * dest, int idx);
|
char * getCurveString(char * dest, int idx);
|
||||||
char * getGVarString(char * dest, int idx);
|
char * getGVarString(char * dest, int idx);
|
||||||
|
char * getGVarString(int idx);
|
||||||
char * getSwitchPositionName(char * dest, swsrc_t idx);
|
char * getSwitchPositionName(char * dest, swsrc_t idx);
|
||||||
char * getSwitchName(char * dest, swsrc_t idx);
|
char * getSwitchName(char * dest, swsrc_t idx);
|
||||||
char * getSourceString(char * dest, mixsrc_t idx);
|
char * getSourceString(char * dest, mixsrc_t idx);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue