summaryrefslogtreecommitdiff
path: root/lib/lvgl/examples/widgets/tabview
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lvgl/examples/widgets/tabview')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/examples/widgets/tabview/index.rst14
-rw-r--r--lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.c42
-rw-r--r--lib/lvgl/examples/widgets/tabview/lv_example_tabview_1.py35
-rw-r--r--lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.c56
-rw-r--r--lib/lvgl/examples/widgets/tabview/lv_example_tabview_2.py48
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)
+