Add .val to btnmatrix

This commit is contained in:
fvanroie 2021-06-14 16:22:16 +02:00
parent 63e2ed953a
commit 99879441d5
2 changed files with 23 additions and 0 deletions

View File

@ -1365,6 +1365,22 @@ static hasp_attribute_type_t attribute_common_val(lv_obj_t* obj, int32_t& val, b
}
break;
case LV_HASP_BTNMATRIX:
if(update) {
if(!lv_btnmatrix_get_one_check(obj)) return HASP_ATTR_TYPE_NOT_FOUND;
if(val < 0 || val >= my_btnmatrix_get_count(obj)) {
LOG_WARNING(TAG_ATTR, F("Invalid value %d"), val);
} else {
lv_btnmatrix_clear_btn_ctrl_all(obj, LV_BTNMATRIX_CTRL_CHECK_STATE);
lv_btnmatrix_set_btn_ctrl(obj, val, LV_BTNMATRIX_CTRL_CHECK_STATE);
}
} else {
val = lv_checkbox_is_checked(obj);
}
break;
case LV_HASP_CHECKBOX:
if(update)
lv_checkbox_set_checked(obj, !!val);

View File

@ -413,6 +413,13 @@ static void gauge_format_10k(lv_obj_t* gauge, char* buf, int bufsize, int32_t va
snprintf(buf, bufsize, PSTR("%d"), value / 10000);
}
// OK - this function is missing in lvgl
static uint16_t my_btnmatrix_get_count(const lv_obj_t* btnm)
{
lv_btnmatrix_ext_t* ext = (lv_btnmatrix_ext_t*)lv_obj_get_ext_attr(btnm);
return ext->btn_cnt;
}
#if 0
static bool attribute_lookup_lv_property(uint16_t hash, uint8_t * prop)
{