fix(color): Adjust column sizes for largest LS 'Edge' V2 value (#3295)

* Adjust the column sizes for the logical switches in the lust view and the channel monitor footer to fit largest V2 value for 'Edge' function.

* Cleanup code.
This commit is contained in:
philmoz
2023-03-17 10:37:04 +10:00
committed by GitHub
parent 150f341a23
commit a0fc3f2d88
2 changed files with 24 additions and 39 deletions
@@ -282,30 +282,27 @@ void getsEdgeDelayParam(char* s, LogicalSwitchData* ls)
#if LCD_W > LCD_H // Landscape
#define TXT_ALIGN LV_GRID_ALIGN_CENTER
static const lv_coord_t b_col_dsc[] = {36, 50, 88, 92,
static const lv_coord_t b_col_dsc[] = {30, 50, 88, 110,
88, 40, 40, LV_GRID_TEMPLATE_LAST};
static const lv_coord_t b_row_dsc[] = {LV_GRID_CONTENT, LV_GRID_TEMPLATE_LAST};
#define NM_ROW_CNT 1
#define V2_COL_CNT 1
#define ANDSW_ROW 0
#define ANDSW_COL 4
#else // Portrait
#define TXT_ALIGN LV_GRID_ALIGN_START
static const lv_coord_t b_col_dsc[] = {36, LV_GRID_FR(1), LV_GRID_FR(1),
LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
static const lv_coord_t b_col_dsc[] = {36, 58, 88, 54, 54, LV_GRID_TEMPLATE_LAST};
static const lv_coord_t b_row_dsc[] = {LV_GRID_CONTENT, LV_GRID_CONTENT,
LV_GRID_TEMPLATE_LAST};
#define NM_ROW_CNT 2
#define V2_COL_CNT 2
#define ANDSW_ROW 1
#define ANDSW_COL 1
#define ANDSW_COL 2
#endif
@@ -324,7 +321,7 @@ class LogicalSwitchButton : public Button
lv_obj_set_layout(lvobj, LV_LAYOUT_GRID);
lv_obj_set_grid_dsc_array(lvobj, b_col_dsc, b_row_dsc);
lv_obj_set_style_pad_row(lvobj, 0, 0);
lv_obj_set_style_pad_column(lvobj, 4, 0);
lv_obj_set_style_pad_column(lvobj, 2, 0);
check(isActive());
@@ -357,7 +354,7 @@ class LogicalSwitchButton : public Button
lsFunc = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsFunc, LV_TEXT_ALIGN_LEFT, 0);
lv_obj_set_grid_cell(lsFunc, LV_GRID_ALIGN_STRETCH, 1, 1,
LV_GRID_ALIGN_CENTER, 0, 1);
LV_GRID_ALIGN_CENTER, 0, NM_ROW_CNT);
lsV1 = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsV1, LV_TEXT_ALIGN_CENTER, 0);
@@ -366,7 +363,7 @@ class LogicalSwitchButton : public Button
lsV2 = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsV2, LV_TEXT_ALIGN_CENTER, 0);
lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 3, 1,
lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 3, V2_COL_CNT,
LV_GRID_ALIGN_CENTER, 0, 1);
lsAnd = lv_label_create(lvobj);
@@ -564,17 +561,7 @@ void ModelLogicalSwitchesPage::plusPopup(FormWindow* window)
void ModelLogicalSwitchesPage::build(FormWindow* window)
{
#if LCD_W > LCD_H
#define PER_ROW 6
static const lv_coord_t l_col_dsc[] = {
LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1),
LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
#else
#define PER_ROW 4
static const lv_coord_t l_col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1),
LV_GRID_FR(1), LV_GRID_FR(1),
LV_GRID_TEMPLATE_LAST};
#endif
static const lv_coord_t l_col_dsc[] = {LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
window->padAll(4);
@@ -599,11 +586,7 @@ void ModelLogicalSwitchesPage::build(FormWindow* window)
if (isActive) {
line = form->newLine(&grid);
button = new LogicalSwitchButton(
line, rect_t{0, 0, window->width() - 12, LS_BUTTON_H}, i);
lv_obj_set_grid_cell(button->getLvObj(), LV_GRID_ALIGN_CENTER, 0, PER_ROW,
LV_GRID_ALIGN_CENTER, 0, 1);
button = new LogicalSwitchButton(line, rect_t{0, 0, window->width() - 12, LS_BUTTON_H}, i);
button->setPressHandler([=]() {
Menu* menu = new Menu(window);
@@ -28,8 +28,9 @@
#define BTN_MATRIX_COL 8
#define BTN_HEIGHT 20
#define FOOTER_HEIGHT 20
#define DURSW_ROW 0
#define DURSW_COL 4
#define V2_COL_CNT 1
#define ANDSW_ROW 0
#define ANDSW_COL 3
// Switch grid
static const lv_coord_t col_dsc[] = {
@@ -39,7 +40,7 @@ static const lv_coord_t col_dsc[] = {
// Footer grid
static const lv_coord_t f_col_dsc[] = {
60, LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), 50,
60, LV_GRID_FR(1), 112, LV_GRID_FR(1), 50,
50, LV_GRID_TEMPLATE_LAST};
#else // Portrait
@@ -47,8 +48,9 @@ static const lv_coord_t f_col_dsc[] = {
#define BTN_MATRIX_COL 4
#define BTN_HEIGHT 21
#define FOOTER_HEIGHT 40
#define DURSW_ROW 1
#define DURSW_COL 2
#define V2_COL_CNT 2
#define ANDSW_ROW 1
#define ANDSW_COL 1
static const lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1),
LV_GRID_FR(1), LV_GRID_FR(1),
@@ -96,27 +98,27 @@ class LogicalSwitchDisplayFooter : public Window
lsV2 = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsV2, LV_TEXT_ALIGN_LEFT, 0);
lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 2, 1,
lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 2, V2_COL_CNT,
LV_GRID_ALIGN_CENTER, 0, 1);
lv_obj_set_style_text_color(lsV2, makeLvColor(COLOR_THEME_PRIMARY2), 0);
lsAnd = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsAnd, LV_TEXT_ALIGN_LEFT, 0);
lv_obj_set_grid_cell(lsAnd, LV_GRID_ALIGN_STRETCH, 3, 1,
LV_GRID_ALIGN_CENTER, 0, 1);
lv_obj_set_grid_cell(lsAnd, LV_GRID_ALIGN_STRETCH, ANDSW_COL, 1,
LV_GRID_ALIGN_CENTER, ANDSW_ROW, 1);
lv_obj_set_style_text_color(lsAnd, makeLvColor(COLOR_THEME_PRIMARY2), 0);
lsDuration = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsDuration, LV_TEXT_ALIGN_LEFT, 0);
lv_obj_set_grid_cell(lsDuration, LV_GRID_ALIGN_STRETCH, DURSW_COL, 1,
LV_GRID_ALIGN_CENTER, DURSW_ROW, 1);
lv_obj_set_grid_cell(lsDuration, LV_GRID_ALIGN_STRETCH, ANDSW_COL + 1, 1,
LV_GRID_ALIGN_CENTER, ANDSW_ROW, 1);
lv_obj_set_style_text_color(lsDuration, makeLvColor(COLOR_THEME_PRIMARY2),
0);
lsDelay = lv_label_create(lvobj);
lv_obj_set_style_text_align(lsDelay, LV_TEXT_ALIGN_LEFT, 0);
lv_obj_set_grid_cell(lsDelay, LV_GRID_ALIGN_STRETCH, DURSW_COL + 1, 1,
LV_GRID_ALIGN_CENTER, DURSW_ROW, 1);
lv_obj_set_grid_cell(lsDelay, LV_GRID_ALIGN_STRETCH, ANDSW_COL + 2, 1,
LV_GRID_ALIGN_CENTER, ANDSW_ROW, 1);
lv_obj_set_style_text_color(lsDelay, makeLvColor(COLOR_THEME_PRIMARY2), 0);
lv_obj_update_layout(parent->getLvObj());