diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-01 15:41:47 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-01 15:41:47 +1000 |
| commit | dd27c3530432ea0b09f01e604bf577f31d8ef841 (patch) | |
| tree | bbf86cf81a78f0ff0b07f31f1c390db473f26fd3 /lib/lvgl/examples/widgets/tabview | |
| parent | 6fd588e970470b15936187980829916d0dbe77bb (diff) | |
| download | tangara-fw-dd27c3530432ea0b09f01e604bf577f31d8ef841.tar.gz | |
convert lvgl from submodule to a plain old directory
Diffstat (limited to 'lib/lvgl/examples/widgets/tabview')
| m--------- | lib/lvgl | 0 | ||||
| -rw-r--r-- | lib/lvgl/examples/widgets/tabview/index.rst | 14 | ||||
| -rw-r--r-- | lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.c | 42 | ||||
| -rw-r--r-- | lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.py | 35 | ||||
| -rw-r--r-- | lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.c | 56 | ||||
| -rw-r--r-- | lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.py | 48 |
6 files changed, 195 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl deleted file mode 160000 -Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a diff --git a/lib/lvgl/examples/widgets/tabview/index.rst b/lib/lvgl/examples/widgets/tabview/index.rst new file mode 100644 index 00000000..46851355 --- /dev/null +++ b/lib/lvgl/examples/widgets/tabview/index.rst @@ -0,0 +1,14 @@ + +Simple Tabview +""""""""""""""""""""""" + +.. lv_example:: widgets/tabview/lv_example_tabview_1 + :language: c + +Tabs on the left, styling and no scrolling +""""""""""""""""""""""""""""""""""""""""""""" + +.. lv_example:: widgets/tabview/lv_example_tabview_2 + :language: c + + diff --git a/lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.c b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.c new file mode 100644 index 00000000..570a7b82 --- /dev/null +++ b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.c @@ -0,0 +1,42 @@ +#include "../../lv_examples.h" +#if LV_USE_TABVIEW && LV_BUILD_EXAMPLES + +void lv_example_tabview_1(void) +{ + /*Create a Tab view object*/ + lv_obj_t * tabview; + tabview = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 50); + + /*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/ + lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); + lv_obj_t * tab2 = lv_tabview_add_tab(tabview, "Tab 2"); + lv_obj_t * tab3 = lv_tabview_add_tab(tabview, "Tab 3"); + + /*Add content to the tabs*/ + lv_obj_t * label = lv_label_create(tab1); + lv_label_set_text(label, "This the first tab\n\n" + "If the content\n" + "of a tab\n" + "becomes too\n" + "longer\n" + "than the\n" + "container\n" + "then it\n" + "automatically\n" + "becomes\n" + "scrollable.\n" + "\n" + "\n" + "\n" + "Can you see it?"); + + label = lv_label_create(tab2); + lv_label_set_text(label, "Second tab"); + + label = lv_label_create(tab3); + lv_label_set_text(label, "Third tab"); + + lv_obj_scroll_to_view_recursive(label, LV_ANIM_ON); + +} +#endif diff --git a/lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.py b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.py new file mode 100644 index 00000000..d5e219a7 --- /dev/null +++ b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.py @@ -0,0 +1,35 @@ +# Create a Tab view object +tabview = lv.tabview(lv.scr_act(), lv.DIR.TOP, 50) + +# Add 3 tabs (the tabs are page (lv_page) and can be scrolled +tab1 = tabview.add_tab("Tab 1") +tab2 = tabview.add_tab("Tab 2") +tab3 = tabview.add_tab("Tab 3") + +# Add content to the tabs +label = lv.label(tab1) +label.set_text("""This the first tab + +If the content +of a tab +becomes too +longer +than the +container +then it +automatically +becomes +scrollable. + + + +Can you see it?""") + +label = lv.label(tab2) +label.set_text("Second tab") + +label = lv.label(tab3) +label.set_text("Third tab"); + +label.scroll_to_view_recursive(lv.ANIM.ON) + diff --git a/lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.c b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.c new file mode 100644 index 00000000..02660426 --- /dev/null +++ b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.c @@ -0,0 +1,56 @@ +#include "../../lv_examples.h" +#if LV_USE_TABVIEW && LV_BUILD_EXAMPLES + +static void scroll_begin_event(lv_event_t * e) +{ + /*Disable the scroll animations. Triggered when a tab button is clicked */ + if(lv_event_get_code(e) == LV_EVENT_SCROLL_BEGIN) { + lv_anim_t * a = lv_event_get_param(e); + if(a) a->time = 0; + } +} + +void lv_example_tabview_2(void) +{ + /*Create a Tab view object*/ + lv_obj_t * tabview; + tabview = lv_tabview_create(lv_scr_act(), LV_DIR_LEFT, 80); + lv_obj_add_event_cb(lv_tabview_get_content(tabview), scroll_begin_event, LV_EVENT_SCROLL_BEGIN, NULL); + + lv_obj_set_style_bg_color(tabview, lv_palette_lighten(LV_PALETTE_RED, 2), 0); + + lv_obj_t * tab_btns = lv_tabview_get_tab_btns(tabview); + lv_obj_set_style_bg_color(tab_btns, lv_palette_darken(LV_PALETTE_GREY, 3), 0); + lv_obj_set_style_text_color(tab_btns, lv_palette_lighten(LV_PALETTE_GREY, 5), 0); + lv_obj_set_style_border_side(tab_btns, LV_BORDER_SIDE_RIGHT, LV_PART_ITEMS | LV_STATE_CHECKED); + + + /*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/ + lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); + lv_obj_t * tab2 = lv_tabview_add_tab(tabview, "Tab 2"); + lv_obj_t * tab3 = lv_tabview_add_tab(tabview, "Tab 3"); + lv_obj_t * tab4 = lv_tabview_add_tab(tabview, "Tab 4"); + lv_obj_t * tab5 = lv_tabview_add_tab(tabview, "Tab 5"); + + lv_obj_set_style_bg_color(tab2, lv_palette_lighten(LV_PALETTE_AMBER, 3), 0); + lv_obj_set_style_bg_opa(tab2, LV_OPA_COVER, 0); + + /*Add content to the tabs*/ + lv_obj_t * label = lv_label_create(tab1); + lv_label_set_text(label, "First tab"); + + label = lv_label_create(tab2); + lv_label_set_text(label, "Second tab"); + + label = lv_label_create(tab3); + lv_label_set_text(label, "Third tab"); + + label = lv_label_create(tab4); + lv_label_set_text(label, "Forth tab"); + + label = lv_label_create(tab5); + lv_label_set_text(label, "Fifth tab"); + + lv_obj_clear_flag(lv_tabview_get_content(tabview), LV_OBJ_FLAG_SCROLLABLE); +} +#endif diff --git a/lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.py b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.py new file mode 100644 index 00000000..f1604be9 --- /dev/null +++ b/lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.py @@ -0,0 +1,48 @@ +def scroll_begin_event(e): + + #Disable the scroll animations. Triggered when a tab button is clicked */ + if e.get_code() == lv.EVENT.SCROLL_BEGIN: + a = lv.anim_t.__cast__(e.get_param()) + if a: + a.time = 0 + +# Create a Tab view object +tabview = lv.tabview(lv.scr_act(), lv.DIR.LEFT, 80) +tabview.get_content().add_event_cb(scroll_begin_event, lv.EVENT.SCROLL_BEGIN, None) + +tabview.set_style_bg_color(lv.palette_lighten(lv.PALETTE.RED, 2), 0) + +tab_btns = tabview.get_tab_btns() +tab_btns.set_style_bg_color(lv.palette_darken(lv.PALETTE.GREY, 3), 0) +tab_btns.set_style_text_color(lv.palette_lighten(lv.PALETTE.GREY, 5), 0) +tab_btns.set_style_border_side(lv.BORDER_SIDE.RIGHT, lv.PART.ITEMS | lv.STATE.CHECKED) + + +# Add 3 tabs (the tabs are page (lv_page) and can be scrolled +tab1 = tabview.add_tab("Tab 1") +tab2 = tabview.add_tab("Tab 2") +tab3 = tabview.add_tab("Tab 3") +tab4 = tabview.add_tab("Tab 4") +tab5 = tabview.add_tab("Tab 5") + +tab2.set_style_bg_color(lv.palette_lighten(lv.PALETTE.AMBER, 3), 0) +tab2.set_style_bg_opa(lv.OPA.COVER, 0) + +# Add content to the tabs +label = lv.label(tab1) +label.set_text("First tab") + +label = lv.label(tab2) +label.set_text("Second tab") + +label = lv.label(tab3) +label.set_text("Third tab") + +label = lv.label(tab4) +label.set_text("Forth tab") + +label = lv.label(tab5) +label.set_text("Fifth tab") + +tabview.get_content().clear_flag(lv.obj.FLAG.SCROLLABLE) + |
