diff --git a/src/core/lv_obj.c b/src/core/lv_obj.c index 6274437c84..bcc152523e 100644 --- a/src/core/lv_obj.c +++ b/src/core/lv_obj.c @@ -60,6 +60,108 @@ static const lv_property_ops_t properties[] = { .setter = lv_obj_set_parent, .getter = lv_obj_get_parent, }, + { + .id = LV_PROPERTY_OBJ_X, + .setter = lv_obj_set_x, + .getter = lv_obj_get_x, + }, + { + .id = LV_PROPERTY_OBJ_Y, + .setter = lv_obj_set_y, + .getter = lv_obj_get_y, + }, + { + .id = LV_PROPERTY_OBJ_W, + .setter = lv_obj_set_width, + .getter = lv_obj_get_width, + }, + { + .id = LV_PROPERTY_OBJ_H, + .setter = lv_obj_set_height, + .getter = lv_obj_get_height, + }, + { + .id = LV_PROPERTY_OBJ_CONTENT_WIDTH, + .setter = lv_obj_set_content_width, + .getter = lv_obj_get_content_width, + }, + { + .id = LV_PROPERTY_OBJ_CONTENT_HEIGHT, + .setter = lv_obj_set_content_height, + .getter = lv_obj_get_content_height, + }, + { + .id = LV_PROPERTY_OBJ_LAYOUT, + .setter = lv_obj_set_layout, + }, + { + .id = LV_PROPERTY_OBJ_ALIGN, + .setter = lv_obj_set_align, + }, + { + .id = LV_PROPERTY_OBJ_SCROLLBAR_MODE, + .setter = lv_obj_set_scrollbar_mode, + .getter = lv_obj_get_scrollbar_mode, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_DIR, + .setter = lv_obj_set_scroll_dir, + .getter = lv_obj_get_scroll_dir, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_SNAP_X, + .setter = lv_obj_set_scroll_snap_x, + .getter = lv_obj_get_scroll_snap_x, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_SNAP_Y, + .setter = lv_obj_set_scroll_snap_y, + .getter = lv_obj_get_scroll_snap_y, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_TOP, + .getter = lv_obj_get_scroll_top, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_BOTTOM, + .getter = lv_obj_get_scroll_bottom, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_LEFT, + .getter = lv_obj_get_scroll_left, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_RIGHT, + .getter = lv_obj_get_scroll_right, + }, + { + .id = LV_PROPERTY_OBJ_SCROLL_END, + .getter = lv_obj_get_scroll_end, + }, + { + .id = LV_PROPERTY_OBJ_EXT_DRAW_SIZE, + .getter = _lv_obj_get_ext_draw_size, + }, + { + .id = LV_PROPERTY_OBJ_EVENT_COUNT, + .getter = lv_obj_get_event_count, + }, + { + .id = LV_PROPERTY_OBJ_SCREEN, + .getter = lv_obj_get_screen, + }, + { + .id = LV_PROPERTY_OBJ_DISPLAY, + .getter = lv_obj_get_display, + }, + { + .id = LV_PROPERTY_OBJ_CHILD_COUNT, + .getter = lv_obj_get_child_count, + }, + { + .id = LV_PROPERTY_OBJ_INDEX, + .getter = lv_obj_get_index, + }, { .id = LV_PROPERTY_ID_ANY, .setter = lv_obj_set_any, diff --git a/src/core/lv_obj.h b/src/core/lv_obj.h index 27a6df2de0..b7a2e234d1 100644 --- a/src/core/lv_obj.h +++ b/src/core/lv_obj.h @@ -181,7 +181,32 @@ enum { LV_PROPERTY_ID(OBJ, STATE_END, LV_PROPERTY_TYPE_INT, 47), /*OBJ normal properties*/ - LV_PROPERTY_ID(OBJ, PARENT, LV_PROPERTY_TYPE_POINTER, 31), + LV_PROPERTY_ID(OBJ, PARENT, LV_PROPERTY_TYPE_OBJ, 48), + LV_PROPERTY_ID(OBJ, X, LV_PROPERTY_TYPE_INT, 49), + LV_PROPERTY_ID(OBJ, Y, LV_PROPERTY_TYPE_INT, 50), + LV_PROPERTY_ID(OBJ, W, LV_PROPERTY_TYPE_INT, 51), + LV_PROPERTY_ID(OBJ, H, LV_PROPERTY_TYPE_INT, 52), + LV_PROPERTY_ID(OBJ, CONTENT_WIDTH, LV_PROPERTY_TYPE_INT, 53), + LV_PROPERTY_ID(OBJ, CONTENT_HEIGHT, LV_PROPERTY_TYPE_INT, 54), + LV_PROPERTY_ID(OBJ, LAYOUT, LV_PROPERTY_TYPE_INT, 55), + LV_PROPERTY_ID(OBJ, ALIGN, LV_PROPERTY_TYPE_INT, 56), + LV_PROPERTY_ID(OBJ, SCROLLBAR_MODE, LV_PROPERTY_TYPE_INT, 57), + LV_PROPERTY_ID(OBJ, SCROLL_DIR, LV_PROPERTY_TYPE_INT, 58), + LV_PROPERTY_ID(OBJ, SCROLL_SNAP_X, LV_PROPERTY_TYPE_INT, 59), + LV_PROPERTY_ID(OBJ, SCROLL_SNAP_Y, LV_PROPERTY_TYPE_INT, 60), + LV_PROPERTY_ID(OBJ, SCROLL_X, LV_PROPERTY_TYPE_INT, 61), + LV_PROPERTY_ID(OBJ, SCROLL_Y, LV_PROPERTY_TYPE_INT, 62), + LV_PROPERTY_ID(OBJ, SCROLL_TOP, LV_PROPERTY_TYPE_INT, 63), + LV_PROPERTY_ID(OBJ, SCROLL_BOTTOM, LV_PROPERTY_TYPE_INT, 64), + LV_PROPERTY_ID(OBJ, SCROLL_LEFT, LV_PROPERTY_TYPE_INT, 65), + LV_PROPERTY_ID(OBJ, SCROLL_RIGHT, LV_PROPERTY_TYPE_INT, 66), + LV_PROPERTY_ID(OBJ, SCROLL_END, LV_PROPERTY_TYPE_INT, 67), + LV_PROPERTY_ID(OBJ, EXT_DRAW_SIZE, LV_PROPERTY_TYPE_INT, 68), + LV_PROPERTY_ID(OBJ, EVENT_COUNT, LV_PROPERTY_TYPE_INT, 69), + LV_PROPERTY_ID(OBJ, SCREEN, LV_PROPERTY_TYPE_OBJ, 70), + LV_PROPERTY_ID(OBJ, DISPLAY, LV_PROPERTY_TYPE_POINTER, 71), + LV_PROPERTY_ID(OBJ, CHILD_COUNT, LV_PROPERTY_TYPE_INT, 72), + LV_PROPERTY_ID(OBJ, INDEX, LV_PROPERTY_TYPE_INT, 73), LV_PROPERTY_OBJ_END, }; diff --git a/src/widgets/property/lv_obj_properties.c b/src/widgets/property/lv_obj_properties.c index b7ec8d0008..1008b3691a 100644 --- a/src/widgets/property/lv_obj_properties.c +++ b/src/widgets/property/lv_obj_properties.c @@ -14,7 +14,14 @@ * Generated code from properties.py */ /* *INDENT-OFF* */ -const lv_property_name_t lv_obj_property_names[48] = { +const lv_property_name_t lv_obj_property_names[73] = { + {"align", LV_PROPERTY_OBJ_ALIGN,}, + {"child_count", LV_PROPERTY_OBJ_CHILD_COUNT,}, + {"content_height", LV_PROPERTY_OBJ_CONTENT_HEIGHT,}, + {"content_width", LV_PROPERTY_OBJ_CONTENT_WIDTH,}, + {"display", LV_PROPERTY_OBJ_DISPLAY,}, + {"event_count", LV_PROPERTY_OBJ_EVENT_COUNT,}, + {"ext_draw_size", LV_PROPERTY_OBJ_EXT_DRAW_SIZE,}, {"flag_adv_hittest", LV_PROPERTY_OBJ_FLAG_ADV_HITTEST,}, {"flag_checkable", LV_PROPERTY_OBJ_FLAG_CHECKABLE,}, {"flag_click_focusable", LV_PROPERTY_OBJ_FLAG_CLICK_FOCUSABLE,}, @@ -47,7 +54,22 @@ const lv_property_name_t lv_obj_property_names[48] = { {"flag_user_4", LV_PROPERTY_OBJ_FLAG_USER_4,}, {"flag_widget_1", LV_PROPERTY_OBJ_FLAG_WIDGET_1,}, {"flag_widget_2", LV_PROPERTY_OBJ_FLAG_WIDGET_2,}, + {"h", LV_PROPERTY_OBJ_H,}, + {"index", LV_PROPERTY_OBJ_INDEX,}, + {"layout", LV_PROPERTY_OBJ_LAYOUT,}, {"parent", LV_PROPERTY_OBJ_PARENT,}, + {"screen", LV_PROPERTY_OBJ_SCREEN,}, + {"scroll_bottom", LV_PROPERTY_OBJ_SCROLL_BOTTOM,}, + {"scroll_dir", LV_PROPERTY_OBJ_SCROLL_DIR,}, + {"scroll_end", LV_PROPERTY_OBJ_SCROLL_END,}, + {"scroll_left", LV_PROPERTY_OBJ_SCROLL_LEFT,}, + {"scroll_right", LV_PROPERTY_OBJ_SCROLL_RIGHT,}, + {"scroll_snap_x", LV_PROPERTY_OBJ_SCROLL_SNAP_X,}, + {"scroll_snap_y", LV_PROPERTY_OBJ_SCROLL_SNAP_Y,}, + {"scroll_top", LV_PROPERTY_OBJ_SCROLL_TOP,}, + {"scroll_x", LV_PROPERTY_OBJ_SCROLL_X,}, + {"scroll_y", LV_PROPERTY_OBJ_SCROLL_Y,}, + {"scrollbar_mode", LV_PROPERTY_OBJ_SCROLLBAR_MODE,}, {"state_any", LV_PROPERTY_OBJ_STATE_ANY,}, {"state_checked", LV_PROPERTY_OBJ_STATE_CHECKED,}, {"state_disabled", LV_PROPERTY_OBJ_STATE_DISABLED,}, @@ -63,6 +85,9 @@ const lv_property_name_t lv_obj_property_names[48] = { {"state_user_2", LV_PROPERTY_OBJ_STATE_USER_2,}, {"state_user_3", LV_PROPERTY_OBJ_STATE_USER_3,}, {"state_user_4", LV_PROPERTY_OBJ_STATE_USER_4,}, + {"w", LV_PROPERTY_OBJ_W,}, + {"x", LV_PROPERTY_OBJ_X,}, + {"y", LV_PROPERTY_OBJ_Y,}, }; /* *INDENT-ON* */ #endif diff --git a/src/widgets/property/lv_obj_property_names.h b/src/widgets/property/lv_obj_property_names.h index ba874bbc27..3ac9e15a03 100644 --- a/src/widgets/property/lv_obj_property_names.h +++ b/src/widgets/property/lv_obj_property_names.h @@ -11,7 +11,7 @@ #if LV_USE_OBJ_PROPERTY && LV_USE_OBJ_PROPERTY_NAME extern const lv_property_name_t lv_image_property_names[11]; - extern const lv_property_name_t lv_obj_property_names[48]; + extern const lv_property_name_t lv_obj_property_names[73]; extern const lv_property_name_t lv_style_property_names[111]; #endif #endif diff --git a/tests/src/test_cases/widgets/test_obj_property.c b/tests/src/test_cases/widgets/test_obj_property.c index 2f5e8b82e9..404fcb2c82 100644 --- a/tests/src/test_cases/widgets/test_obj_property.c +++ b/tests/src/test_cases/widgets/test_obj_property.c @@ -255,7 +255,9 @@ void test_obj_property_name(void) lv_obj_t * obj = lv_obj_create(lv_screen_active()); /*Style name*/ - TEST_ASSERT_EQUAL_UINT32(LV_PROPERTY_STYLE_X, lv_obj_property_get_id(obj, "x")); + /*If widget property name conflicts with style name, property name comes first.*/ + TEST_ASSERT_EQUAL_UINT32(LV_PROPERTY_OBJ_X, lv_obj_property_get_id(obj, "x")); + TEST_ASSERT_EQUAL_UINT32(LV_PROPERTY_STYLE_OPA, lv_obj_property_get_id(obj, "opa")); TEST_ASSERT_EQUAL_UINT32(LV_PROPERTY_STYLE_BG_MAIN_STOP, lv_obj_property_get_id(obj, "bg_main_stop")); /*Widget property*/