From 1b75319cb7647bc48f215c2aa238c4a2e8482ebb Mon Sep 17 00:00:00 2001 From: fvanroie Date: Fri, 18 Jun 2021 22:09:17 +0200 Subject: [PATCH] Get/set btnmatrix last value --- src/hasp/hasp_attribute.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/hasp/hasp_attribute.cpp b/src/hasp/hasp_attribute.cpp index e50167ae..c80aa6f5 100644 --- a/src/hasp/hasp_attribute.cpp +++ b/src/hasp/hasp_attribute.cpp @@ -1366,18 +1366,21 @@ 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(!lv_btnmatrix_get_one_check(obj)) return HASP_ATTR_TYPE_NOT_FOUND; + if(update) { if(val < 0 || val >= my_btnmatrix_get_count(obj)) { - LOG_WARNING(TAG_ATTR, F("Invalid value %d"), val); + LOG_WARNING(TAG_ATTR, F("Invalid index %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); + + lv_btnmatrix_ext_t* ext = (lv_btnmatrix_ext_t*)lv_obj_get_ext_attr(obj); + ext->btn_id_act = val; } } else { - val = lv_checkbox_is_checked(obj); + val = lv_btnmatrix_get_active_btn(obj); } break;