revert(dropdown): add lv_anim_enable_t parameter to lv_dropddown_set_selected (#7310) (#8304)

This commit is contained in:
André Costa
2025-05-26 13:51:37 +02:00
committed by GitHub
parent 92d6fa6233
commit b055446a63
9 changed files with 20 additions and 22 deletions
+1 -1
View File
@@ -209,7 +209,7 @@ static void obj_test_task_cb(lv_timer_t * tmr)
obj = lv_dropdown_create(main_page); obj = lv_dropdown_create(main_page);
lv_dropdown_set_options(obj, "Zero\nOne\nTwo\nThree\nFour\nFive\nSix\nSeven\nEight"); lv_dropdown_set_options(obj, "Zero\nOne\nTwo\nThree\nFour\nFive\nSix\nSeven\nEight");
lv_dropdown_open(obj); lv_dropdown_open(obj);
lv_dropdown_set_selected(obj, 2, LV_ANIM_ON); lv_dropdown_set_selected(obj, 2);
auto_delete(obj, LV_DEMO_STRESS_TIME_STEP * 3 + 11); auto_delete(obj, LV_DEMO_STRESS_TIME_STEP * 3 + 11);
break; break;
+1 -1
View File
@@ -87,7 +87,7 @@ the options string's contents must remain available for the life of the Drop-Dow
List and :cpp:func:`lv_dropdown_add_option` cannot be used. List and :cpp:func:`lv_dropdown_add_option` cannot be used.
You can select an option programmatically with You can select an option programmatically with
:cpp:expr:`lv_dropdown_set_selected(dropdown, id, LV_ANIM_ON/LV_ANIM_OFF)`, where ``id`` is the index of :cpp:expr:`lv_dropdown_set_selected(dropdown, id)`, where ``id`` is the index of
the target option. the target option.
Get selected option Get selected option
+3 -3
View File
@@ -264,9 +264,9 @@ void pika_lvgl_dropdown_set_dir(PikaObj *self, int dir){
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj"); lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
lv_dropdown_set_dir(lv_obj, dir); lv_dropdown_set_dir(lv_obj, dir);
} }
void pika_lvgl_dropdown_set_selected(PikaObj *self, int sel_opt, int anim){ void pika_lvgl_dropdown_set_selected(PikaObj *self, int sel_opt){
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj"); lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
lv_dropdown_set_selected(lv_obj, sel_opt, anim); lv_dropdown_set_selected(lv_obj, sel_opt);
} }
void pika_lvgl_dropdown_set_selected_highlight(PikaObj *self, int en){ void pika_lvgl_dropdown_set_selected_highlight(PikaObj *self, int en){
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj"); lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
@@ -361,4 +361,4 @@ void pika_lvgl_textarea_set_one_line(PikaObj* self, int en) {
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj"); lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
lv_textarea_set_one_line(lv_obj, en); lv_textarea_set_one_line(lv_obj, en);
} }
#endif #endif
+1 -1
View File
@@ -898,7 +898,7 @@ static void dropdown_value_changed_event_cb(lv_event_t * e)
static void dropdown_value_observer_cb(lv_observer_t * observer, lv_subject_t * subject) static void dropdown_value_observer_cb(lv_observer_t * observer, lv_subject_t * subject)
{ {
lv_dropdown_set_selected(observer->target, subject->value.num, LV_ANIM_OFF); lv_dropdown_set_selected(observer->target, subject->value.num);
} }
#endif /*LV_USE_DROPDOWN*/ #endif /*LV_USE_DROPDOWN*/
@@ -57,7 +57,7 @@ void lv_xml_dropdown_apply(lv_xml_parser_state_t * state, const char ** attrs)
if(lv_streq("options", name)) lv_dropdown_set_options(item, value); if(lv_streq("options", name)) lv_dropdown_set_options(item, value);
else if(lv_streq("text", name)) lv_dropdown_set_text(item, value); else if(lv_streq("text", name)) lv_dropdown_set_text(item, value);
else if(lv_streq("selected", name)) lv_dropdown_set_selected(item, lv_xml_atoi(value), LV_ANIM_OFF); else if(lv_streq("selected", name)) lv_dropdown_set_selected(item, lv_xml_atoi(value));
else if(lv_streq("symbol", name)) lv_dropdown_set_symbol(item, lv_xml_get_image(&state->scope, value)); else if(lv_streq("symbol", name)) lv_dropdown_set_symbol(item, lv_xml_get_image(&state->scope, value));
else if(lv_streq("bind_value", name)) { else if(lv_streq("bind_value", name)) {
lv_subject_t * subject = lv_xml_get_subject(&state->scope, value); lv_subject_t * subject = lv_xml_get_subject(&state->scope, value);
@@ -174,10 +174,10 @@ static void value_changed_event_cb(lv_event_t * e)
const uint32_t year = (year_p[0] - '0') * 1000 + (year_p[1] - '0') * 100 + (year_p[2] - '0') * 10 + const uint32_t year = (year_p[0] - '0') * 1000 + (year_p[1] - '0') * 100 + (year_p[2] - '0') * 10 +
(year_p[3] - '0'); (year_p[3] - '0');
lv_dropdown_set_selected(year_dd, year - cur_date->year, LV_ANIM_OFF); lv_dropdown_set_selected(year_dd, year - cur_date->year);
lv_obj_t * month_dd = lv_obj_get_child(header, 1); lv_obj_t * month_dd = lv_obj_get_child(header, 1);
lv_dropdown_set_selected(month_dd, cur_date->month - 1, LV_ANIM_OFF); lv_dropdown_set_selected(month_dd, cur_date->month - 1);
} }
#endif /*LV_USE_CALENDAR_HEADER_ARROW*/ #endif /*LV_USE_CALENDAR_HEADER_ARROW*/
+2 -2
View File
@@ -336,7 +336,7 @@ void lv_dropdown_clear_options(lv_obj_t * obj)
if(dropdown->list) lv_obj_invalidate(dropdown->list); if(dropdown->list) lv_obj_invalidate(dropdown->list);
} }
void lv_dropdown_set_selected(lv_obj_t * obj, uint32_t sel_opt, lv_anim_enable_t anim) void lv_dropdown_set_selected(lv_obj_t * obj, uint32_t sel_opt)
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -347,7 +347,7 @@ void lv_dropdown_set_selected(lv_obj_t * obj, uint32_t sel_opt, lv_anim_enable_t
dropdown->sel_opt_id_orig = dropdown->sel_opt_id; dropdown->sel_opt_id_orig = dropdown->sel_opt_id;
if(dropdown->list) { if(dropdown->list) {
position_to_selected(obj, anim); position_to_selected(obj, LV_ANIM_OFF);
} }
lv_obj_invalidate(obj); lv_obj_invalidate(obj);
+2 -3
View File
@@ -36,8 +36,8 @@ enum {
LV_PROPERTY_ID(DROPDOWN, TEXT, LV_PROPERTY_TYPE_TEXT, 0), LV_PROPERTY_ID(DROPDOWN, TEXT, LV_PROPERTY_TYPE_TEXT, 0),
LV_PROPERTY_ID(DROPDOWN, OPTIONS, LV_PROPERTY_TYPE_TEXT, 1), LV_PROPERTY_ID(DROPDOWN, OPTIONS, LV_PROPERTY_TYPE_TEXT, 1),
LV_PROPERTY_ID(DROPDOWN, OPTION_COUNT, LV_PROPERTY_TYPE_INT, 2), LV_PROPERTY_ID(DROPDOWN, OPTION_COUNT, LV_PROPERTY_TYPE_INT, 2),
LV_PROPERTY_ID(DROPDOWN, SELECTED, LV_PROPERTY_TYPE_INT, 3),
// LV_PROPERTY_ID(DROPDOWN, SELECTED_STR, LV_PROPERTY_TYPE_TEXT, 4), // LV_PROPERTY_ID(DROPDOWN, SELECTED_STR, LV_PROPERTY_TYPE_TEXT, 4),
LV_PROPERTY_ID2(DROPDOWN, SELECTED, LV_PROPERTY_TYPE_INT, LV_PROPERTY_TYPE_BOOL, 3),
LV_PROPERTY_ID(DROPDOWN, DIR, LV_PROPERTY_TYPE_INT, 5), LV_PROPERTY_ID(DROPDOWN, DIR, LV_PROPERTY_TYPE_INT, 5),
LV_PROPERTY_ID(DROPDOWN, SYMBOL, LV_PROPERTY_TYPE_TEXT, 6), LV_PROPERTY_ID(DROPDOWN, SYMBOL, LV_PROPERTY_TYPE_TEXT, 6),
LV_PROPERTY_ID(DROPDOWN, SELECTED_HIGHLIGHT, LV_PROPERTY_TYPE_INT, 7), LV_PROPERTY_ID(DROPDOWN, SELECTED_HIGHLIGHT, LV_PROPERTY_TYPE_INT, 7),
@@ -108,9 +108,8 @@ void lv_dropdown_clear_options(lv_obj_t * obj);
* Set the selected option * Set the selected option
* @param obj pointer to drop-down list object * @param obj pointer to drop-down list object
* @param sel_opt id of the selected option (0 ... number of option - 1); * @param sel_opt id of the selected option (0 ... number of option - 1);
* @param anim LV_ANIM_ON: set the selected option with an animation; LV_ANIM_OFF: set the option immediately
*/ */
void lv_dropdown_set_selected(lv_obj_t * obj, uint32_t sel_opt, lv_anim_enable_t anim); void lv_dropdown_set_selected(lv_obj_t * obj, uint32_t sel_opt);
/** /**
* Set the direction of the a drop-down list * Set the direction of the a drop-down list
+7 -8
View File
@@ -117,7 +117,7 @@ void test_dropdown_set_options(void)
void test_dropdown_select(void) void test_dropdown_select(void)
{ {
lv_obj_t * dd1 = lv_dropdown_create(lv_screen_active()); lv_obj_t * dd1 = lv_dropdown_create(lv_screen_active());
lv_dropdown_set_selected(dd1, 2, LV_ANIM_OFF); lv_dropdown_set_selected(dd1, 2);
TEST_ASSERT_EQUAL(2, lv_dropdown_get_selected(dd1)); TEST_ASSERT_EQUAL(2, lv_dropdown_get_selected(dd1));
@@ -131,7 +131,7 @@ void test_dropdown_select(void)
TEST_ASSERT_EQUAL_STRING("Opt", buf); TEST_ASSERT_EQUAL_STRING("Opt", buf);
/*Out of range*/ /*Out of range*/
lv_dropdown_set_selected(dd1, 3, LV_ANIM_OFF); lv_dropdown_set_selected(dd1, 3);
TEST_ASSERT_EQUAL(2, lv_dropdown_get_selected(dd1)); TEST_ASSERT_EQUAL(2, lv_dropdown_get_selected(dd1));
} }
@@ -323,12 +323,12 @@ void test_dropdown_render_1(void)
lv_obj_t * dd1 = lv_dropdown_create(lv_screen_active()); lv_obj_t * dd1 = lv_dropdown_create(lv_screen_active());
lv_obj_set_pos(dd1, 10, 10); lv_obj_set_pos(dd1, 10, 10);
lv_dropdown_set_selected(dd1, 1, LV_ANIM_OFF); lv_dropdown_set_selected(dd1, 1);
lv_obj_t * dd2 = lv_dropdown_create(lv_screen_active()); lv_obj_t * dd2 = lv_dropdown_create(lv_screen_active());
lv_obj_set_pos(dd2, 200, 10); lv_obj_set_pos(dd2, 200, 10);
lv_obj_set_width(dd2, 200); lv_obj_set_width(dd2, 200);
lv_dropdown_set_selected(dd2, 2, LV_ANIM_OFF); lv_dropdown_set_selected(dd2, 2);
lv_dropdown_open(dd2); lv_dropdown_open(dd2);
TEST_ASSERT_TRUE(lv_dropdown_get_selected_highlight(dd2)); TEST_ASSERT_TRUE(lv_dropdown_get_selected_highlight(dd2));
lv_dropdown_set_selected_highlight(dd2, false); lv_dropdown_set_selected_highlight(dd2, false);
@@ -342,7 +342,7 @@ void test_dropdown_render_1(void)
lv_dropdown_set_text(dd3, "A text"); lv_dropdown_set_text(dd3, "A text");
TEST_ASSERT_EQUAL_STRING("A text", lv_dropdown_get_text(dd3)); TEST_ASSERT_EQUAL_STRING("A text", lv_dropdown_get_text(dd3));
lv_dropdown_set_selected(dd3, 2, LV_ANIM_OFF); lv_dropdown_set_selected(dd3, 2);
TEST_ASSERT_EQUAL(LV_DIR_BOTTOM, lv_dropdown_get_dir(dd3)); TEST_ASSERT_EQUAL(LV_DIR_BOTTOM, lv_dropdown_get_dir(dd3));
lv_dropdown_set_dir(dd3, LV_DIR_LEFT); lv_dropdown_set_dir(dd3, LV_DIR_LEFT);
@@ -357,7 +357,7 @@ void test_dropdown_render_1(void)
lv_obj_t * list = lv_dropdown_get_list(dd3); lv_obj_t * list = lv_dropdown_get_list(dd3);
lv_obj_set_style_text_line_space(list, 5, 0); lv_obj_set_style_text_line_space(list, 5, 0);
lv_obj_set_style_bg_color(list, lv_color_hex3(0xf00), LV_PART_SELECTED | LV_STATE_CHECKED); lv_obj_set_style_bg_color(list, lv_color_hex3(0xf00), LV_PART_SELECTED | LV_STATE_CHECKED);
lv_dropdown_set_selected(dd3, 3, LV_ANIM_OFF); lv_dropdown_set_selected(dd3, 3);
TEST_ASSERT_EQUAL_SCREENSHOT("widgets/dropdown_1.png"); TEST_ASSERT_EQUAL_SCREENSHOT("widgets/dropdown_1.png");
} }
@@ -474,8 +474,7 @@ void test_dropdown_properties(void)
TEST_ASSERT_EQUAL(2, lv_obj_get_property(obj, LV_PROPERTY_DROPDOWN_OPTION_COUNT).num); TEST_ASSERT_EQUAL(2, lv_obj_get_property(obj, LV_PROPERTY_DROPDOWN_OPTION_COUNT).num);
prop.id = LV_PROPERTY_DROPDOWN_SELECTED; prop.id = LV_PROPERTY_DROPDOWN_SELECTED;
prop.arg1.num = 1; prop.num = 1;
prop.arg2.enable = LV_ANIM_OFF;
TEST_ASSERT_TRUE(lv_obj_set_property(obj, &prop) == LV_RESULT_OK); TEST_ASSERT_TRUE(lv_obj_set_property(obj, &prop) == LV_RESULT_OK);
TEST_ASSERT_EQUAL_INT(1, lv_dropdown_get_selected(obj)); TEST_ASSERT_EQUAL_INT(1, lv_dropdown_get_selected(obj));
TEST_ASSERT_EQUAL_INT(1, lv_obj_get_property(obj, LV_PROPERTY_DROPDOWN_SELECTED).num); TEST_ASSERT_EQUAL_INT(1, lv_obj_get_property(obj, LV_PROPERTY_DROPDOWN_SELECTED).num);