arch(win): deprecate and add a flex-column window example
Arduino Lint / lint (push) Canceled after 0s
Build Examples with C++ Compiler / build-examples (push) Canceled after 0s
MicroPython CI / Build esp32 port (push) Canceled after 0s
MicroPython CI / Build rp2 port (push) Canceled after 0s
MicroPython CI / Build stm32 port (push) Canceled after 0s
MicroPython CI / Build unix port (push) Canceled after 0s
C/C++ CI / Build OPTIONS_16BIT - Ubuntu (push) Canceled after 0s
C/C++ CI / Build OPTIONS_24BIT - Ubuntu (push) Canceled after 0s
C/C++ CI / Build OPTIONS_FULL_32BIT - Ubuntu (push) Canceled after 0s
C/C++ CI / Build OPTIONS_NORMAL_8BIT - Ubuntu (push) Canceled after 0s
C/C++ CI / Build OPTIONS_SDL - Ubuntu (push) Canceled after 0s
C/C++ CI / Build OPTIONS_16BIT - cl - Windows (push) Canceled after 0s
C/C++ CI / Build OPTIONS_16BIT - gcc - Windows (push) Canceled after 0s
C/C++ CI / Build OPTIONS_24BIT - cl - Windows (push) Canceled after 0s
C/C++ CI / Build OPTIONS_24BIT - gcc - Windows (push) Canceled after 0s
C/C++ CI / Build OPTIONS_FULL_32BIT - cl - Windows (push) Canceled after 0s
C/C++ CI / Build OPTIONS_FULL_32BIT - gcc - Windows (push) Canceled after 0s
C/C++ CI / Build ESP IDF ESP32S3 (push) Canceled after 0s
C/C++ CI / Run tests with 32bit build (push) Canceled after 0s
C/C++ CI / Run tests with 64bit build (push) Canceled after 0s
BOM Check / bom-check (push) Canceled after 0s
Verify GDB constants are up-to-date / verify-gdb-consts (push) Canceled after 0s
Verify the widget property name / verify-property-name (push) Canceled after 0s
Verify code formatting / verify-formatting (push) Canceled after 0s
Compare file templates with file names / template-check (push) Canceled after 0s
Code Generation / Code Generation (push) Canceled after 0s
Build Docs / build-and-deploy (push) Canceled after 0s
Build .deb packages / build (push) Canceled after 0s
Validate pkg-config and CMake config / cmake (linux) (push) Canceled after 0s
Validate pkg-config and CMake config / pkgconfig (linux) (push) Canceled after 0s
Validate pkg-config and CMake config / cmake (linux-3d) (push) Canceled after 0s
Validate pkg-config and CMake config / pkgconfig (linux-3d) (push) Canceled after 0s
Test API JSON generator / Test API JSON (push) Canceled after 0s
Install LVGL using CMake / build-examples (private) (push) Canceled after 0s
Install LVGL using CMake / build-examples (public) (push) Canceled after 0s
Check Makefile / Build using Makefile (push) Canceled after 0s
Check Makefile for UEFI / Build using Makefile for UEFI (push) Canceled after 0s
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/benchmark_results_comment/test.sh) (push) Canceled after 0s
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/filter_docker_logs/test.sh) (push) Canceled after 0s
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/serialize_results/test.sh) (push) Canceled after 0s
Emulated Performance Test / ARM Emulated Benchmark 32b - lv_conf_perf32b (push) Canceled after 0s
Emulated Performance Test / ARM Emulated Benchmark 64b - lv_conf_perf64b (push) Canceled after 0s
Emulated Performance Test / ARM Emulated Benchmark - Save PR Number (push) Canceled after 0s
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_32B - Ubuntu (push) Canceled after 0s
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_64B - Ubuntu (push) Canceled after 0s
Port repo release update / run-release-branch-updater (push) Canceled after 0s
Static Checks / Static Checks (push) Canceled after 0s
Verify Font License / verify-font-license (push) Canceled after 0s
Verify Kconfig / verify-kconfig (push) Canceled after 0s
Hardware Performance Test / Hardware Performance Benchmark (push) Canceled after 0s
Hardware Performance Test / HW Benchmark - Save PR Number (push) Canceled after 0s

Deprecate the lv_win widget. A window is just a flex column with a header bar and
a content area, so it can be built directly from lv_obj.

Following the deprecation guidelines:
- @deprecated Doxygen tags and LV_DEPRECATED on lv_win_create
- LV_LOG_DEPRECATED runtime warning in lv_win_create
- migration-v10.mdx entry pointing to the replacement
- the new lv_example_flex_win shows how to build one from base widgets

Live call sites in the kept examples, demos and tests are wrapped with
LV_DEPRECATIONS_IGNORE_BEGIN/END so the -Wdeprecated -Werror build stays clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Gabor Kiss-Vamosi
2026-08-03 10:30:58 +02:00
committed by André Costa
co-authored by Claude Opus 4.8
parent 06b37019b5
commit dd5b0bf46d
10 changed files with 244 additions and 0 deletions
+19
View File
@@ -20,6 +20,15 @@ extern "C" {
* DEFINES
*********************/
/**
* @deprecated The `lv_win` widget is deprecated and kept only for backward
* compatibility. A window is just a flex column with a header bar and a content
* area, so build one directly from `lv_obj` instead. See the `lv_example_flex_win`
* example for a starting point.
*/
#define LV_WIN_DEPRECATED_MSG \
"lv_win is deprecated; build a window from a flex column instead. See the lv_example_flex_win example."
LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_win_class;
/**********************
@@ -30,7 +39,9 @@ LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_win_class;
* Create a window widget
* @param parent pointer to a parent widget
* @return the created window
* @deprecated Use a flex column with a header and content area instead. See `lv_example_flex_win`.
*/
LV_DEPRECATED(LV_WIN_DEPRECATED_MSG)
lv_obj_t * lv_win_create(lv_obj_t * parent);
/**
@@ -38,7 +49,9 @@ lv_obj_t * lv_win_create(lv_obj_t * parent);
* @param obj pointer to a window widget
* @param txt the text of the title
* @return the widget where the content of the title can be created
* @deprecated The `lv_win` widget is deprecated. See `lv_example_flex_win`.
*/
LV_DEPRECATED(LV_WIN_DEPRECATED_MSG)
lv_obj_t * lv_win_add_title(lv_obj_t * win, const char * txt);
/**
@@ -47,21 +60,27 @@ lv_obj_t * lv_win_add_title(lv_obj_t * win, const char * txt);
* @param icon an icon to be displayed on the button
* @param btn_w width of the button
* @return the widget where the content of the button can be created
* @deprecated The `lv_win` widget is deprecated. See `lv_example_flex_win`.
*/
LV_DEPRECATED(LV_WIN_DEPRECATED_MSG)
lv_obj_t * lv_win_add_button(lv_obj_t * win, const void * icon, int32_t btn_w);
/**
* Get the header of the window
* @param win pointer to a window widget
* @return the header of the window
* @deprecated The `lv_win` widget is deprecated. See `lv_example_flex_win`.
*/
LV_DEPRECATED(LV_WIN_DEPRECATED_MSG)
lv_obj_t * lv_win_get_header(lv_obj_t * win);
/**
* Get the content of the window
* @param win pointer to a window widget
* @return the content of the window
* @deprecated The `lv_win` widget is deprecated. See `lv_example_flex_win`.
*/
LV_DEPRECATED(LV_WIN_DEPRECATED_MSG)
lv_obj_t * lv_win_get_content(lv_obj_t * win);
/**********************
* MACROS