From 7640e207a44914a5da7614c2275f3b736cc951a6 Mon Sep 17 00:00:00 2001 From: Insality Date: Thu, 27 Mar 2025 00:19:32 +0200 Subject: [PATCH] Update examples to widgets instead components --- druid/fonts/druid_text_bold.font | 2 +- druid/fonts/druid_text_regular.font | 2 +- .../examples_list_view/examples_list_view.lua | 2 +- .../basic/back_handler/basic_back_handler.lua | 13 +--- .../examples/basic/blocker/basic_blocker.lua | 17 +---- .../examples/basic/button/basic_button.lua | 14 +--- .../button/basic_button_double_click.lua | 14 +--- .../basic/button/basic_button_hold.lua | 15 ++--- example/examples/basic/checkbox/checkbox.lua | 13 ++-- .../basic/checkbox_group/checkbox_group.lua | 16 ++--- example/examples/basic/drag/drag.lua | 15 +---- example/examples/basic/drag/drag_to_node.lua | 13 +--- example/examples/basic/examples_list.lua | 64 +++++++++---------- example/examples/basic/grid/grid.lua | 14 +--- .../examples/basic/hotkey/basic_hotkey.lua | 14 +--- example/examples/basic/hover/hover.lua | 13 +--- example/examples/basic/input/basic_input.lua | 14 +--- .../examples/basic/input/input_password.lua | 14 ++-- example/examples/basic/input/rich_input.lua | 13 ++-- .../basic/progress_bar/basic_progress_bar.lua | 14 +--- .../basic_progress_bar_slice9.lua | 14 +--- .../basic/radio_group/radio_group.lua | 15 ++--- .../basic/rich_text/basic_rich_text.lua | 12 +--- .../basic/rich_text/rich_text_tags.lua | 19 +++--- example/examples/basic/scroll/scroll.lua | 11 +--- .../scroll_bind_grid/scroll_bind_grid.lua | 14 +--- .../scroll_bind_grid_horizontal.lua | 14 +--- .../scroll_bind_grid_points.lua | 14 +--- .../basic/scroll_slider/scroll_slider.lua | 13 +--- .../examples/basic/slider/basic_slider.lua | 14 +--- .../basic/slider/basic_slider_stepped.lua | 14 +--- .../basic/slider/basic_slider_vertical.lua | 14 +--- example/examples/basic/swipe/basic_swipe.lua | 13 ++-- example/examples/basic/text/basic_text.lua | 12 +--- .../examples/basic/text/multiline_text.lua | 12 +--- example/examples/basic/timer/basic_timer.lua | 14 +--- example/examples/data_list/examples_list.lua | 8 +-- example/examples/gamepad/examples_list.lua | 4 +- example/examples/intro/examples_list.lua | 6 +- .../how_to_use_example/how_to_use_example.lua | 12 ++-- example/examples/intro/intro/intro.lua | 14 ++-- example/examples/layout/examples_list.lua | 2 +- example/examples/panthera/examples_list.lua | 4 +- example/examples/widgets/examples_list.lua | 8 +-- .../widgets/hover_hint/hover_hint.lua | 11 +--- .../widgets/hover_hint/hover_hint_example.lua | 15 ++--- example/examples/windows/examples_list.lua | 6 +- 47 files changed, 183 insertions(+), 422 deletions(-) diff --git a/druid/fonts/druid_text_bold.font b/druid/fonts/druid_text_bold.font index a8546d6..a72449e 100644 --- a/druid/fonts/druid_text_bold.font +++ b/druid/fonts/druid_text_bold.font @@ -7,4 +7,4 @@ shadow_alpha: 1.0 shadow_blur: 2 output_format: TYPE_DISTANCE_FIELD render_mode: MODE_MULTI_LAYER -characters: "\302\241\302\253\302\273\302\277\303\200\303\202\303\206\303\207\303\210\303\211\303\212\303\213\303\216\303\217\303\224\303\231\303\233\303\234\303\237\303\240\303\241\303\242\303\243\303\244\303\246\303\247\303\250\303\251\303\252\303\253\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\271\303\273\303\274\303\277\305\222\305\223\305\270\320\201\320\220\320\221\320\222\320\223\320\224\320\225\320\226\320\227\320\230\320\231\320\232\320\233\320\234\320\235\320\236\320\237\320\240\320\241\320\242\320\243\320\244\320\245\320\246\320\247\320\250\320\251\320\252\320\253\320\254\320\255\320\256\320\257\320\260\320\261\320\262\320\263\320\264\320\265\320\266\320\267\320\270\320\271\320\272\320\273\320\274\320\275\320\276\320\277\321\200\321\201\321\202\321\203\321\204\321\205\321\206\321\207\321\210\321\211\321\212\321\213\321\214\321\215\321\216\321\217\321\221\342\200\224\343\200\201\343\200\202\343\200\214\343\200\215\343\201\202\343\201\204\343\201\206\343\201\210\343\201\212\343\201\213\343\201\214\343\201\215\343\201\217\343\201\223\343\201\225\343\201\227\343\201\230\343\201\231\343\201\233\343\201\237\343\201\240\343\201\244\343\201\246\343\201\247\343\201\250\343\201\251\343\201\252\343\201\253\343\201\256\343\201\257\343\201\263\343\201\276\343\202\200\343\202\201\343\202\202\343\202\210\343\202\211\343\202\212\343\202\213\343\202\214\343\202\222\343\202\223\343\202\241\343\202\242\343\202\243\343\202\244\343\202\246\343\202\250\343\202\251\343\202\254\343\202\255\343\202\257\343\202\260\343\202\261\343\202\262\343\202\263\343\202\265\343\202\267\343\202\270\343\202\271\343\202\272\343\202\273\343\202\277\343\203\200\343\203\201\343\203\203\343\203\206\343\203\207\343\203\210\343\203\211\343\203\213\343\203\215\343\203\216\343\203\220\343\203\221\343\203\224\343\203\225\343\203\226\343\203\227\343\203\231\343\203\233\343\203\234\343\203\235\343\203\236\343\203\240\343\203\241\343\203\242\343\203\243\343\203\245\343\203\247\343\203\251\343\203\252\343\203\253\343\203\254\343\203\255\343\203\257\343\203\263\343\203\274\344\270\200\344\270\207\344\270\212\344\270\213\344\270\215\344\270\216\344\270\241\344\270\244\344\270\252\344\270\255\344\270\272\344\271\211\344\271\260\344\272\213\344\272\216\344\273\213\344\273\216\344\273\230\344\273\243\344\273\245\344\273\254\344\273\266\344\275\206\344\275\223\344\275\225\344\275\234\344\275\240\344\275\277\344\276\213\344\277\241\345\200\244\345\200\274\345\201\234\345\205\203\345\205\205\345\205\245\345\205\266\345\206\205\345\207\246\345\207\272\345\207\273\345\210\206\345\210\227\345\210\233\345\210\235\345\210\240\345\210\245\345\210\260\345\210\266\345\211\212\345\211\215\345\211\252\345\212\233\345\212\237\345\212\240\345\212\250\345\212\271\345\214\272\345\215\225\345\215\230\345\217\214\345\217\221\345\217\226\345\217\243\345\217\246\345\217\257\345\220\210\345\220\214\345\220\221\345\220\227\345\220\253\345\220\257\345\222\214\345\231\250\345\233\236\345\234\250\345\235\227\345\236\202\345\236\213\345\237\237\345\237\272\345\240\261\345\241\253\345\244\204\345\244\232\345\244\247\345\245\275\345\246\202\345\247\213\345\255\227\345\255\230\345\256\203\345\256\232\345\257\206\345\257\214\345\257\271\345\260\206\345\260\217\345\260\261\345\261\200\345\261\217\345\261\236\345\267\245\345\270\203\345\270\246\345\271\225\345\271\263\345\271\266\345\272\246\345\273\272\345\274\200\345\274\271\345\276\227\345\277\205\345\277\253\346\200\201\346\200\247\346\201\257\346\202\254\346\203\205\346\210\217\346\210\220\346\211\200\346\211\213\346\212\236\346\212\274\346\213\226\346\213\251\346\214\201\346\214\211\346\215\256\346\215\267\346\216\247\346\217\203\346\220\255\346\221\270\346\223\215\346\224\257\346\224\276\346\225\210\346\225\260\346\225\264\346\226\207\346\226\271\346\227\245\346\227\266\346\230\216\346\230\257\346\230\276\346\233\264\346\234\200\346\234\211\346\234\254\346\235\206\346\235\241\346\236\220\346\237\204\346\237\245\346\240\207\346\240\274\346\243\200\346\251\237\346\254\241\346\255\244\346\255\245\346\260\264\346\261\275\346\262\241\346\263\225\346\264\262\346\265\213\346\266\210\346\267\267\346\267\273\346\270\205\346\270\270\346\273\221\346\273\232\347\202\271\347\211\210\347\216\207\347\220\206\347\224\250\347\224\273\347\225\260\347\231\276\347\232\204\347\233\264\347\233\270\347\234\213\347\240\201\347\241\200\347\241\256\347\242\272\347\244\272\347\247\222\347\247\273\347\252\227\347\253\257\347\255\276\347\256\200\347\260\241\347\261\273\347\264\224\347\264\240\347\264\271\347\272\265\347\273\204\347\273\215\347\273\221\347\274\223\347\274\251\347\275\221\347\275\256\347\276\216\347\276\251\350\203\275\350\211\257\350\211\262\350\212\202\350\216\267\350\241\214\350\241\250\350\243\201\350\244\207\350\246\201\350\246\213\350\247\246\350\250\200\350\250\255\350\252\215\350\252\236\350\252\254\350\252\277\350\256\241\350\256\244\350\256\276\350\257\225\350\257\255\350\257\264\350\257\267\350\260\203\350\261\271\350\263\274\350\264\255\350\267\235\350\273\212\350\273\270\350\275\246\350\275\264\350\276\223\350\276\271\350\277\207\350\277\231\350\277\233\350\277\275\351\200\211\351\200\232\351\201\270\351\205\215\351\207\214\351\222\256\351\224\256\351\225\267\351\225\277\351\231\244\351\234\200\351\235\231\351\235\242\351\240\230\351\242\204\351\242\234\351\252\244\351\253\230\351\274\240\351\275\220\352\260\200\352\260\204\352\260\222\352\260\231\352\260\234\352\261\260\352\262\203\352\262\214\352\262\240\352\263\204\352\263\240\352\263\274\352\265\254\352\265\255\352\267\270\352\270\200\352\270\260\352\271\214\352\273\230\352\274\264\353\202\230\353\202\264\353\204\214\353\205\270\353\206\223\353\210\204\353\212\224\353\212\245\353\213\210\353\213\244\353\213\250\353\213\254\353\213\271\353\214\200\353\215\224\353\215\260\353\217\204\353\217\231\353\220\230\353\220\234\353\220\251\353\221\220\353\223\234\353\223\244\353\224\251\353\225\214\353\226\273\353\235\274\353\236\230\353\236\265\353\237\254\353\240\210\353\240\244\353\240\245\353\240\254\353\241\234\353\241\235\353\241\244\353\245\264\353\245\270\353\245\274\353\246\254\353\246\255\353\247\210\353\247\214\353\247\216\353\247\244\353\250\270\353\251\224\353\251\264\353\252\205\353\252\250\353\252\251\353\260\200\353\260\217\353\260\224\353\260\233\353\260\251\353\260\260\353\260\261\353\262\204\353\262\210\353\262\225\353\262\227\353\262\244\353\263\264\353\263\270\353\270\224\353\271\204\354\202\254\354\203\201\354\203\211\354\204\234\354\204\240\354\204\244\354\204\261\354\204\270\354\205\230\354\206\214\354\206\215\354\210\230\354\212\244\354\212\254\354\212\265\354\213\234\354\213\240\354\213\255\354\225\204\354\225\240\354\226\221\354\226\264\354\226\270\354\227\206\354\227\220\354\227\254\354\227\255\354\230\201\354\230\210\354\230\244\354\230\254\354\231\200\354\232\224\354\232\251\354\232\260\354\233\203\354\234\204\354\234\210\354\234\240\354\234\250\354\234\274\354\235\200\354\235\204\354\235\214\354\235\230\354\235\264\354\235\270\354\235\274\354\236\204\354\236\205\354\236\210\354\236\220\354\236\221\354\236\230\354\236\245\354\240\201\354\240\204\354\240\225\354\240\234\354\241\260\354\242\213\354\244\221\354\247\200\354\247\201\354\247\204\354\247\210\354\260\250\354\260\275\354\262\230\354\264\210\354\265\234\354\266\224\354\266\225\354\266\234\354\267\250\354\271\230\354\272\220\354\273\250\354\273\264\354\274\200\354\275\224\354\275\234\355\201\254\355\201\264\355\202\244\355\203\200\355\203\204\355\203\234\355\203\235\355\204\260\355\205\214\355\205\215\355\212\270\355\212\274\355\213\261\355\214\214\355\214\250\355\214\254\355\217\211\355\217\254\355\221\234\355\224\204\355\224\274\355\225\204\355\225\221\355\225\230\355\225\234\355\225\240\355\225\250\355\225\251\355\225\264\355\226\211\355\230\225\355\230\270\355\230\274\355\231\224\355\231\225\355\231\234\355\232\250\357\274\201\357\274\214\357\274\237 !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}" +characters: "\302\241\302\253\302\273\302\277\303\200\303\202\303\206\303\207\303\210\303\211\303\212\303\213\303\216\303\217\303\224\303\231\303\233\303\234\303\237\303\240\303\241\303\242\303\243\303\244\303\246\303\247\303\250\303\251\303\252\303\253\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\271\303\273\303\274\303\277\305\222\305\223\305\270\320\201\320\220\320\221\320\222\320\223\320\224\320\225\320\226\320\227\320\230\320\231\320\232\320\233\320\234\320\235\320\236\320\237\320\240\320\241\320\242\320\243\320\244\320\245\320\246\320\247\320\250\320\251\320\252\320\253\320\254\320\255\320\256\320\257\320\260\320\261\320\262\320\263\320\264\320\265\320\266\320\267\320\270\320\271\320\272\320\273\320\274\320\275\320\276\320\277\321\200\321\201\321\202\321\203\321\204\321\205\321\206\321\207\321\210\321\211\321\212\321\213\321\214\321\215\321\216\321\217\321\221\342\200\224\343\200\201\343\200\202\343\200\214\343\200\215\357\274\201\357\274\214\357\274\237 !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}" diff --git a/druid/fonts/druid_text_regular.font b/druid/fonts/druid_text_regular.font index ec01934..eafbcfd 100644 --- a/druid/fonts/druid_text_regular.font +++ b/druid/fonts/druid_text_regular.font @@ -5,4 +5,4 @@ outline_alpha: 1.0 outline_width: 2.0 output_format: TYPE_DISTANCE_FIELD render_mode: MODE_MULTI_LAYER -characters: "\302\241\302\253\302\273\302\277\303\200\303\202\303\206\303\207\303\210\303\211\303\212\303\213\303\216\303\217\303\224\303\231\303\233\303\234\303\237\303\240\303\241\303\242\303\243\303\244\303\246\303\247\303\250\303\251\303\252\303\253\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\271\303\273\303\274\303\277\305\222\305\223\305\270\320\201\320\220\320\221\320\222\320\223\320\224\320\225\320\226\320\227\320\230\320\231\320\232\320\233\320\234\320\235\320\236\320\237\320\240\320\241\320\242\320\243\320\244\320\245\320\246\320\247\320\250\320\251\320\252\320\253\320\254\320\255\320\256\320\257\320\260\320\261\320\262\320\263\320\264\320\265\320\266\320\267\320\270\320\271\320\272\320\273\320\274\320\275\320\276\320\277\321\200\321\201\321\202\321\203\321\204\321\205\321\206\321\207\321\210\321\211\321\212\321\213\321\214\321\215\321\216\321\217\321\221\342\200\224\343\200\201\343\200\202\343\200\214\343\200\215\343\201\202\343\201\204\343\201\206\343\201\210\343\201\212\343\201\213\343\201\214\343\201\215\343\201\217\343\201\223\343\201\225\343\201\227\343\201\230\343\201\231\343\201\233\343\201\237\343\201\240\343\201\244\343\201\246\343\201\247\343\201\250\343\201\251\343\201\252\343\201\253\343\201\256\343\201\257\343\201\263\343\201\276\343\202\200\343\202\201\343\202\202\343\202\210\343\202\211\343\202\212\343\202\213\343\202\214\343\202\222\343\202\223\343\202\241\343\202\242\343\202\243\343\202\244\343\202\246\343\202\250\343\202\251\343\202\254\343\202\255\343\202\257\343\202\260\343\202\261\343\202\262\343\202\263\343\202\265\343\202\267\343\202\270\343\202\271\343\202\272\343\202\273\343\202\277\343\203\200\343\203\201\343\203\203\343\203\206\343\203\207\343\203\210\343\203\211\343\203\213\343\203\215\343\203\216\343\203\220\343\203\221\343\203\224\343\203\225\343\203\226\343\203\227\343\203\231\343\203\233\343\203\234\343\203\235\343\203\236\343\203\240\343\203\241\343\203\242\343\203\243\343\203\245\343\203\247\343\203\251\343\203\252\343\203\253\343\203\254\343\203\255\343\203\257\343\203\263\343\203\274\344\270\200\344\270\207\344\270\212\344\270\213\344\270\215\344\270\216\344\270\241\344\270\244\344\270\252\344\270\255\344\270\272\344\271\211\344\271\260\344\272\213\344\272\216\344\273\213\344\273\216\344\273\230\344\273\243\344\273\245\344\273\254\344\273\266\344\275\206\344\275\223\344\275\225\344\275\234\344\275\240\344\275\277\344\276\213\344\277\241\345\200\244\345\200\274\345\201\234\345\205\203\345\205\205\345\205\245\345\205\266\345\206\205\345\207\246\345\207\272\345\207\273\345\210\206\345\210\227\345\210\233\345\210\235\345\210\240\345\210\245\345\210\260\345\210\266\345\211\212\345\211\215\345\211\252\345\212\233\345\212\237\345\212\240\345\212\250\345\212\271\345\214\272\345\215\225\345\215\230\345\217\214\345\217\221\345\217\226\345\217\243\345\217\246\345\217\257\345\220\210\345\220\214\345\220\221\345\220\227\345\220\253\345\220\257\345\222\214\345\231\250\345\233\236\345\234\250\345\235\227\345\236\202\345\236\213\345\237\237\345\237\272\345\240\261\345\241\253\345\244\204\345\244\232\345\244\247\345\245\275\345\246\202\345\247\213\345\255\227\345\255\230\345\256\203\345\256\232\345\257\206\345\257\214\345\257\271\345\260\206\345\260\217\345\260\261\345\261\200\345\261\217\345\261\236\345\267\245\345\270\203\345\270\246\345\271\225\345\271\263\345\271\266\345\272\246\345\273\272\345\274\200\345\274\271\345\276\227\345\277\205\345\277\253\346\200\201\346\200\247\346\201\257\346\202\254\346\203\205\346\210\217\346\210\220\346\211\200\346\211\213\346\212\236\346\212\274\346\213\226\346\213\251\346\214\201\346\214\211\346\215\256\346\215\267\346\216\247\346\217\203\346\220\255\346\221\270\346\223\215\346\224\257\346\224\276\346\225\210\346\225\260\346\225\264\346\226\207\346\226\271\346\227\245\346\227\266\346\230\216\346\230\257\346\230\276\346\233\264\346\234\200\346\234\211\346\234\254\346\235\206\346\235\241\346\236\220\346\237\204\346\237\245\346\240\207\346\240\274\346\243\200\346\251\237\346\254\241\346\255\244\346\255\245\346\260\264\346\261\275\346\262\241\346\263\225\346\264\262\346\265\213\346\266\210\346\267\267\346\267\273\346\270\205\346\270\270\346\273\221\346\273\232\347\202\271\347\211\210\347\216\207\347\220\206\347\224\250\347\224\273\347\225\260\347\231\276\347\232\204\347\233\264\347\233\270\347\234\213\347\240\201\347\241\200\347\241\256\347\242\272\347\244\272\347\247\222\347\247\273\347\252\227\347\253\257\347\255\276\347\256\200\347\260\241\347\261\273\347\264\224\347\264\240\347\264\271\347\272\265\347\273\204\347\273\215\347\273\221\347\274\223\347\274\251\347\275\221\347\275\256\347\276\216\347\276\251\350\203\275\350\211\257\350\211\262\350\212\202\350\216\267\350\241\214\350\241\250\350\243\201\350\244\207\350\246\201\350\246\213\350\247\246\350\250\200\350\250\255\350\252\215\350\252\236\350\252\254\350\252\277\350\256\241\350\256\244\350\256\276\350\257\225\350\257\255\350\257\264\350\257\267\350\260\203\350\261\271\350\263\274\350\264\255\350\267\235\350\273\212\350\273\270\350\275\246\350\275\264\350\276\223\350\276\271\350\277\207\350\277\231\350\277\233\350\277\275\351\200\211\351\200\232\351\201\270\351\205\215\351\207\214\351\222\256\351\224\256\351\225\267\351\225\277\351\231\244\351\234\200\351\235\231\351\235\242\351\240\230\351\242\204\351\242\234\351\252\244\351\253\230\351\274\240\351\275\220\352\260\200\352\260\204\352\260\222\352\260\231\352\260\234\352\261\260\352\262\203\352\262\214\352\262\240\352\263\204\352\263\240\352\263\274\352\265\254\352\265\255\352\267\270\352\270\200\352\270\260\352\271\214\352\273\230\352\274\264\353\202\230\353\202\264\353\204\214\353\205\270\353\206\223\353\210\204\353\212\224\353\212\245\353\213\210\353\213\244\353\213\250\353\213\254\353\213\271\353\214\200\353\215\224\353\215\260\353\217\204\353\217\231\353\220\230\353\220\234\353\220\251\353\221\220\353\223\234\353\223\244\353\224\251\353\225\214\353\226\273\353\235\274\353\236\230\353\236\265\353\237\254\353\240\210\353\240\244\353\240\245\353\240\254\353\241\234\353\241\235\353\241\244\353\245\264\353\245\270\353\245\274\353\246\254\353\246\255\353\247\210\353\247\214\353\247\216\353\247\244\353\250\270\353\251\224\353\251\264\353\252\205\353\252\250\353\252\251\353\260\200\353\260\217\353\260\224\353\260\233\353\260\251\353\260\260\353\260\261\353\262\204\353\262\210\353\262\225\353\262\227\353\262\244\353\263\264\353\263\270\353\270\224\353\271\204\354\202\254\354\203\201\354\203\211\354\204\234\354\204\240\354\204\244\354\204\261\354\204\270\354\205\230\354\206\214\354\206\215\354\210\230\354\212\244\354\212\254\354\212\265\354\213\234\354\213\240\354\213\255\354\225\204\354\225\240\354\226\221\354\226\264\354\226\270\354\227\206\354\227\220\354\227\254\354\227\255\354\230\201\354\230\210\354\230\244\354\230\254\354\231\200\354\232\224\354\232\251\354\232\260\354\233\203\354\234\204\354\234\210\354\234\240\354\234\250\354\234\274\354\235\200\354\235\204\354\235\214\354\235\230\354\235\264\354\235\270\354\235\274\354\236\204\354\236\205\354\236\210\354\236\220\354\236\221\354\236\230\354\236\245\354\240\201\354\240\204\354\240\225\354\240\234\354\241\260\354\242\213\354\244\221\354\247\200\354\247\201\354\247\204\354\247\210\354\260\250\354\260\275\354\262\230\354\264\210\354\265\234\354\266\224\354\266\225\354\266\234\354\267\250\354\271\230\354\272\220\354\273\250\354\273\264\354\274\200\354\275\224\354\275\234\355\201\254\355\201\264\355\202\244\355\203\200\355\203\204\355\203\234\355\203\235\355\204\260\355\205\214\355\205\215\355\212\270\355\212\274\355\213\261\355\214\214\355\214\250\355\214\254\355\217\211\355\217\254\355\221\234\355\224\204\355\224\274\355\225\204\355\225\221\355\225\230\355\225\234\355\225\240\355\225\250\355\225\251\355\225\264\355\226\211\355\230\225\355\230\270\355\230\274\355\231\224\355\231\225\355\231\234\355\232\250\357\274\201\357\274\214\357\274\237 !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}" +characters: "\302\241\302\253\302\273\302\277\303\200\303\202\303\206\303\207\303\210\303\211\303\212\303\213\303\216\303\217\303\224\303\231\303\233\303\234\303\237\303\240\303\241\303\242\303\243\303\244\303\246\303\247\303\250\303\251\303\252\303\253\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\271\303\273\303\274\303\277\305\222\305\223\305\270\320\201\320\220\320\221\320\222\320\223\320\224\320\225\320\226\320\227\320\230\320\231\320\232\320\233\320\234\320\235\320\236\320\237\320\240\320\241\320\242\320\243\320\244\320\245\320\246\320\247\320\250\320\251\320\252\320\253\320\254\320\255\320\256\320\257\320\260\320\261\320\262\320\263\320\264\320\265\320\266\320\267\320\270\320\271\320\272\320\273\320\274\320\275\320\276\320\277\321\200\321\201\321\202\321\203\321\204\321\205\321\206\321\207\321\210\321\211\321\212\321\213\321\214\321\215\321\216\321\217\321\221\342\200\224\343\200\201\343\200\202\343\200\214\343\200\215\357\274\201\357\274\214\357\274\237 !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}" diff --git a/example/components/examples_list_view/examples_list_view.lua b/example/components/examples_list_view/examples_list_view.lua index 8ff0fba..dad94de 100644 --- a/example/components/examples_list_view/examples_list_view.lua +++ b/example/components/examples_list_view/examples_list_view.lua @@ -92,7 +92,7 @@ function M:add_example(examples, druid_example) local instance if example_data.widget_class then instance = druid_example.druid:new_widget(example_data.widget_class, example_data.template) - else + elseif example_data.component_class then -- Keep for backward compatibility instance = druid_example.druid:new(example_data.component_class, example_data.template) end ---@cast instance druid.component|druid.widget diff --git a/example/examples/basic/back_handler/basic_back_handler.lua b/example/examples/basic/back_handler/basic_back_handler.lua index 6d8765f..a16c10a 100644 --- a/example/examples/basic/back_handler/basic_back_handler.lua +++ b/example/examples/basic/back_handler/basic_back_handler.lua @@ -1,14 +1,7 @@ -local component = require("druid.component") +---@class examples.basic_back_handler: druid.widget +local M = {} ----@class examples.basic_back_handler: druid.component ----@field druid druid.instance -local M = component.create("basic_back_handler") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +function M:init() self.druid:new_back_handler(self.on_back) end diff --git a/example/examples/basic/blocker/basic_blocker.lua b/example/examples/basic/blocker/basic_blocker.lua index f38dfda..4a2f784 100644 --- a/example/examples/basic/blocker/basic_blocker.lua +++ b/example/examples/basic/blocker/basic_blocker.lua @@ -1,17 +1,9 @@ -local component = require("druid.component") - ----@class examples.basic_blocker: druid.component ----@field druid druid.instance +---@class examples.basic_blocker: druid.widget ---@field root node ---@field blocker druid.blocker -local M = component.create("basic_blocker") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.root = self:get_node("root") self.button_root = self.druid:new_button(self.root, self.on_root_click) @@ -20,15 +12,12 @@ function M:init(template, nodes) self.button = self.druid:new_button("button/root", self.on_button_click) end - function M:on_root_click() print("Root click") end - function M:on_button_click() print("Button click") end - return M diff --git a/example/examples/basic/button/basic_button.lua b/example/examples/basic/button/basic_button.lua index e1ca59a..e3c23d2 100644 --- a/example/examples/basic/button/basic_button.lua +++ b/example/examples/basic/button/basic_button.lua @@ -1,19 +1,11 @@ -local component = require("druid.component") - ----@class examples.basic_button: druid.component ----@field druid druid.instance +---@class examples.basic_button: druid.widget ---@field button druid.button -local M = component.create("basic_button") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.button = self.druid:new_button("button/root", function() print("Button pressed") end) end - return M diff --git a/example/examples/basic/button/basic_button_double_click.lua b/example/examples/basic/button/basic_button_double_click.lua index 2ef2ce6..d6b0590 100644 --- a/example/examples/basic/button/basic_button_double_click.lua +++ b/example/examples/basic/button/basic_button_double_click.lua @@ -1,15 +1,8 @@ -local component = require("druid.component") - ----@class examples.basic_button_double_click: druid.component ----@field druid druid.instance +---@class examples.basic_button_double_click: druid.widget ---@field button druid.button -local M = component.create("basic_button_double_click") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.button = self.druid:new_button("button/root", function() print("Click") end) @@ -19,5 +12,4 @@ function M:init(template, nodes) end) end - return M diff --git a/example/examples/basic/button/basic_button_hold.lua b/example/examples/basic/button/basic_button_hold.lua index 8410e8f..feea598 100644 --- a/example/examples/basic/button/basic_button_hold.lua +++ b/example/examples/basic/button/basic_button_hold.lua @@ -1,19 +1,13 @@ -local component = require("druid.component") local panthera = require("panthera.panthera") local animation = require("example.examples.basic.button.basic_button_hold_panthera") ----@class examples.basic_button_hold: druid.component ----@field druid druid.instance +---@class examples.basic_button_hold: druid.widget ---@field button druid.button -local M = component.create("basic_button_hold") +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - - self.animation = panthera.create_gui(animation, self:get_template(), nodes) +function M:init() + self.animation = panthera.create_gui(animation, self:get_template(), self:get_nodes()) self.button = self.druid:new_button("button", function() print("Click") @@ -45,5 +39,4 @@ function M:init(template, nodes) end) end - return M diff --git a/example/examples/basic/checkbox/checkbox.lua b/example/examples/basic/checkbox/checkbox.lua index 88bcd51..30786ad 100644 --- a/example/examples/basic/checkbox/checkbox.lua +++ b/example/examples/basic/checkbox/checkbox.lua @@ -1,17 +1,12 @@ -local component = require("druid.component") local event = require("event.event") ----@class examples.checkbox: druid.component ----@field druid druid.instance +---@class examples.checkbox: druid.widget ---@field button druid.button -local M = component.create("checkbox") +---@field is_enabled boolean +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() self.button = self.druid:new_button("root", self.on_checkbox_click) -- Button to handle checkbox self.icon = self:get_node("icon") -- Checkbox icon to hide/show self.selected = self:get_node("selected") -- Selected effect to show when checkbox is changed diff --git a/example/examples/basic/checkbox_group/checkbox_group.lua b/example/examples/basic/checkbox_group/checkbox_group.lua index 5451afa..b58b137 100644 --- a/example/examples/basic/checkbox_group/checkbox_group.lua +++ b/example/examples/basic/checkbox_group/checkbox_group.lua @@ -1,20 +1,16 @@ local event = require("event.event") -local component = require("druid.component") -- Require checkbox component from checkbox example local checkbox = require("example.examples.basic.checkbox.checkbox") ----@class examples.checkbox_group: druid.component ----@field druid druid.instance ----@field button druid.button -local M = component.create("checkbox_group") +---@class examples.checkbox_group: druid.widget +---@field checkbox_1 examples.checkbox +---@field checkbox_2 examples.checkbox +---@field checkbox_3 examples.checkbox +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() self.checkbox_1 = self.druid:new(checkbox, "checkbox_1") self.checkbox_2 = self.druid:new(checkbox, "checkbox_2") self.checkbox_3 = self.druid:new(checkbox, "checkbox_3") diff --git a/example/examples/basic/drag/drag.lua b/example/examples/basic/drag/drag.lua index 35fc1fe..175b51f 100644 --- a/example/examples/basic/drag/drag.lua +++ b/example/examples/basic/drag/drag.lua @@ -1,15 +1,7 @@ -local component = require("druid.component") - ----@class examples.drag: druid.component ----@field druid druid.instance -local M = component.create("drag") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +---@class examples.drag: druid.widget +local M = {} +function M:init() -- Init drag and move the drag node on drag callback self.drag = self.druid:new_drag("drag/root", function(_, dx, dy) local position_x = gui.get(self.drag.node, "position.x") @@ -25,5 +17,4 @@ function M:init(template, nodes) end) end - return M diff --git a/example/examples/basic/drag/drag_to_node.lua b/example/examples/basic/drag/drag_to_node.lua index b7eda8d..61d2260 100644 --- a/example/examples/basic/drag/drag_to_node.lua +++ b/example/examples/basic/drag/drag_to_node.lua @@ -1,14 +1,7 @@ -local component = require("druid.component") +---@class examples.drag_to_node: druid.widget +local M = {} ----@class examples.drag_to_node: druid.component ----@field druid druid.instance -local M = component.create("drag_to_node") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +function M:init() self.zone = self:get_node("zone") self.counter = 0 self.text_counter = self:get_node("text_counter") diff --git a/example/examples/basic/examples_list.lua b/example/examples/basic/examples_list.lua index 41dcfb1..4f708b2 100644 --- a/example/examples/basic/examples_list.lua +++ b/example/examples/basic/examples_list.lua @@ -11,7 +11,7 @@ function M.get_examples() template = "basic_button", root = "basic_button/root", code_url = "example/examples/basic/button/basic_button.lua", - component_class = require("example.examples.basic.button.basic_button"), + widget_class = require("example.examples.basic.button.basic_button"), properties_control = function(instance, properties_panel) ---@cast instance examples.basic_button @@ -33,7 +33,7 @@ function M.get_examples() template = "basic_button_double_click", root = "basic_button_double_click/root", code_url = "example/examples/basic/button/basic_button_double_click.lua", - component_class = require("example.examples.basic.button.basic_button_double_click"), + widget_class = require("example.examples.basic.button.basic_button_double_click"), on_create = function(instance, output_log) ---@cast instance examples.basic_button_double_click instance.button.on_click:subscribe(function() @@ -50,7 +50,7 @@ function M.get_examples() template = "basic_button_hold", root = "basic_button_hold/root", code_url = "example/examples/basic/button/basic_button_hold.lua", - component_class = require("example.examples.basic.button.basic_button_hold"), + widget_class = require("example.examples.basic.button.basic_button_hold"), on_create = function(instance, output_log) ---@cast instance examples.basic_button_hold instance.button.on_click:subscribe(function() @@ -67,7 +67,7 @@ function M.get_examples() template = "basic_text", root = "basic_text/root", code_url = "example/examples/basic/text/basic_text.lua", - component_class = require("example.examples.basic.text.basic_text"), + widget_class = require("example.examples.basic.text.basic_text"), properties_control = function(instance, properties_panel) ---@cast instance examples.basic_text @@ -125,7 +125,7 @@ function M.get_examples() template = "multiline_text", root = "multiline_text/root", code_url = "example/examples/basic/text/multiline_text.lua", - component_class = require("example.examples.basic.text.multiline_text"), + widget_class = require("example.examples.basic.text.multiline_text"), properties_control = function(instance, properties_panel) ---@cast instance examples.multiline_text @@ -182,7 +182,7 @@ function M.get_examples() template = "hover", root = "hover/root", code_url = "example/examples/basic/hover/hover.lua", - component_class = require("example.examples.basic.hover.hover"), + widget_class = require("example.examples.basic.hover.hover"), }, { name_id = "ui_example_basic_drag", @@ -190,7 +190,7 @@ function M.get_examples() template = "drag", root = "drag/root", code_url = "example/examples/basic/drag/drag.lua", - component_class = require("example.examples.basic.drag.drag"), + widget_class = require("example.examples.basic.drag.drag"), }, { name_id = "ui_example_basic_drag_to_node", @@ -198,7 +198,7 @@ function M.get_examples() template = "drag_to_node", root = "drag_to_node/root", code_url = "example/examples/basic/drag/drag_to_node.lua", - component_class = require("example.examples.basic.drag.drag_to_node"), + widget_class = require("example.examples.basic.drag.drag_to_node"), }, { name_id = "ui_example_basic_slider", @@ -206,7 +206,7 @@ function M.get_examples() template = "basic_slider", root = "basic_slider/root", code_url = "example/examples/basic/slider/basic_slider.lua", - component_class = require("example.examples.basic.slider.basic_slider"), + widget_class = require("example.examples.basic.slider.basic_slider"), on_create = function(instance, output_log) ---@cast instance examples.basic_slider instance.slider.on_change_value:subscribe(function(_, value) @@ -221,7 +221,7 @@ function M.get_examples() template = "basic_slider_vertical", root = "basic_slider_vertical/root", code_url = "example/examples/basic/slider/basic_slider_vertical.lua", - component_class = require("example.examples.basic.slider.basic_slider_vertical"), + widget_class = require("example.examples.basic.slider.basic_slider_vertical"), on_create = function(instance, output_log) ---@cast instance examples.basic_slider_vertical instance.slider.on_change_value:subscribe(function(_, value) @@ -236,7 +236,7 @@ function M.get_examples() template = "basic_slider_stepped", root = "basic_slider_stepped/root", code_url = "example/examples/basic/slider/basic_slider_stepped.lua", - component_class = require("example.examples.basic.slider.basic_slider_stepped"), + widget_class = require("example.examples.basic.slider.basic_slider_stepped"), on_create = function(instance, output_log) ---@cast instance examples.basic_slider_stepped instance.slider.on_change_value:subscribe(function(_, value) @@ -251,7 +251,7 @@ function M.get_examples() template = "basic_progress_bar", root = "basic_progress_bar/root", code_url = "example/examples/basic/progress_bar/basic_progress_bar.lua", - component_class = require("example.examples.basic.progress_bar.basic_progress_bar"), + widget_class = require("example.examples.basic.progress_bar.basic_progress_bar"), properties_control = function(instance, properties_panel) ---@cast instance examples.basic_progress_bar properties_panel:add_slider("ui_value", 1, function(value) @@ -265,7 +265,7 @@ function M.get_examples() template = "basic_progress_bar_slice9", root = "basic_progress_bar_slice9/root", code_url = "example/examples/basic/progress_bar/basic_progress_bar_slice9.lua", - component_class = require("example.examples.basic.progress_bar.basic_progress_bar_slice9"), + widget_class = require("example.examples.basic.progress_bar.basic_progress_bar_slice9"), properties_control = function(instance, properties_panel) ---@cast instance examples.basic_progress_bar_slice9 properties_panel:add_slider("ui_value", 1, function(value) @@ -279,7 +279,7 @@ function M.get_examples() template = "basic_blocker", root = "basic_blocker/root", code_url = "example/examples/basic/blocker/basic_blocker.lua", - component_class = require("example.examples.basic.blocker.basic_blocker"), + widget_class = require("example.examples.basic.blocker.basic_blocker"), on_create = function(instance, output_log) ---@cast instance examples.basic_blocker instance.button_root.on_click:subscribe(function() @@ -296,7 +296,7 @@ function M.get_examples() template = "basic_back_handler", root = "basic_back_handler/root", code_url = "example/examples/basic/back_handler/basic_back_handler.lua", - component_class = require("example.examples.basic.back_handler.basic_back_handler"), + widget_class = require("example.examples.basic.back_handler.basic_back_handler"), }, { name_id = "ui_example_basic_timer", @@ -304,7 +304,7 @@ function M.get_examples() template = "basic_timer", root = "basic_timer/root", code_url = "example/examples/basic/timer/basic_timer.lua", - component_class = require("example.examples.basic.timer.basic_timer"), + widget_class = require("example.examples.basic.timer.basic_timer"), on_create = function(instance, output_log) ---@cast instance examples.basic_timer instance.on_cycle_end:subscribe(function() @@ -318,7 +318,7 @@ function M.get_examples() template = "basic_hotkey", root = "basic_hotkey/root", code_url = "example/examples/basic/hotkey/basic_hotkey.lua", - component_class = require("example.examples.basic.hotkey.basic_hotkey"), + widget_class = require("example.examples.basic.hotkey.basic_hotkey"), on_create = function(instance, output_log) ---@cast instance examples.basic_hotkey instance.hotkey.on_hotkey_released:subscribe(function() @@ -332,7 +332,7 @@ function M.get_examples() template = "scroll", root = "scroll/root", code_url = "example/examples/basic/scroll/scroll.lua", - component_class = require("example.examples.basic.scroll.scroll"), + widget_class = require("example.examples.basic.scroll.scroll"), on_create = function(instance, output_log) ---@cast instance examples.scroll instance.button_tutorial.on_click:subscribe(function() @@ -404,7 +404,7 @@ function M.get_examples() template = "scroll_slider", root = "scroll_slider/root", code_url = "example/examples/basic/scroll_slider/scroll_slider.lua", - component_class = require("example.examples.basic.scroll_slider.scroll_slider"), + widget_class = require("example.examples.basic.scroll_slider.scroll_slider"), get_debug_info = function(instance) ---@cast instance examples.scroll_slider local info = "" @@ -424,7 +424,7 @@ function M.get_examples() template = "grid", root = "grid/root", code_url = "example/examples/basic/grid/grid.lua", - component_class = require("example.examples.basic.grid.grid"), + widget_class = require("example.examples.basic.grid.grid"), properties_control = function(instance, properties_panel) ---@cast instance examples.grid @@ -512,7 +512,7 @@ function M.get_examples() template = "scroll_bind_grid", root = "scroll_bind_grid/root", code_url = "example/examples/basic/scroll_bind_grid/scroll_bind_grid.lua", - component_class = require("example.examples.basic.scroll_bind_grid.scroll_bind_grid"), + widget_class = require("example.examples.basic.scroll_bind_grid.scroll_bind_grid"), properties_control = function(instance, properties_panel) ---@cast instance examples.scroll_bind_grid @@ -565,7 +565,7 @@ function M.get_examples() template = "scroll_bind_grid_horizontal", root = "scroll_bind_grid_horizontal/root", code_url = "example/examples/basic/scroll_bind_grid/scroll_bind_grid_horizontal.lua", - component_class = require("example.examples.basic.scroll_bind_grid.scroll_bind_grid_horizontal"), + widget_class = require("example.examples.basic.scroll_bind_grid.scroll_bind_grid_horizontal"), properties_control = function(instance, properties_panel) ---@cast instance examples.scroll_bind_grid_horizontal @@ -619,7 +619,7 @@ function M.get_examples() template = "scroll_bind_grid_points", root = "scroll_bind_grid_points/root", code_url = "example/examples/basic/scroll_bind_grid/scroll_bind_grid_points.lua", - component_class = require("example.examples.basic.scroll_bind_grid.scroll_bind_grid_points"), + widget_class = require("example.examples.basic.scroll_bind_grid.scroll_bind_grid_points"), properties_control = function(instance, properties_panel) ---@cast instance examples.scroll_bind_grid_points @@ -672,7 +672,7 @@ function M.get_examples() template = "basic_input", root = "basic_input/root", code_url = "example/examples/basic/input/basic_input.lua", - component_class = require("example.examples.basic.input.basic_input"), + widget_class = require("example.examples.basic.input.basic_input"), on_create = function(instance, output_log) ---@cast instance examples.basic_input instance.input.on_input_select:subscribe(function() @@ -695,7 +695,7 @@ function M.get_examples() template = "input_password", root = "input_password/root", code_url = "example/examples/basic/input/input_password.lua", - component_class = require("example.examples.basic.input.input_password"), + widget_class = require("example.examples.basic.input.input_password"), on_create = function(instance, output_log) ---@cast instance examples.input_password instance.input.on_input_unselect:subscribe(function(_, text) @@ -709,7 +709,7 @@ function M.get_examples() template = "basic_rich_input", root = "basic_rich_input/root", code_url = "example/examples/basic/input/rich_input.lua", - component_class = require("example.examples.basic.input.rich_input"), + widget_class = require("example.examples.basic.input.rich_input"), on_create = function(instance, output_log) ---@cast instance examples.rich_input instance.rich_input.input.on_input_unselect:subscribe(function(_, text) @@ -726,7 +726,7 @@ function M.get_examples() template = "basic_rich_text", root = "basic_rich_text/root", code_url = "example/examples/basic/rich_text/basic_rich_text.lua", - component_class = require("example.examples.basic.rich_text.basic_rich_text"), + widget_class = require("example.examples.basic.rich_text.basic_rich_text"), }, { name_id = "ui_example_rich_text_tags", @@ -734,7 +734,7 @@ function M.get_examples() template = "rich_text_tags", root = "rich_text_tags/root", code_url = "example/examples/basic/rich_text/rich_text_tags.lua", - component_class = require("example.examples.basic.rich_text.rich_text_tags"), + widget_class = require("example.examples.basic.rich_text.rich_text_tags"), properties_control = function(instance, properties_panel) local pivot_index = 1 local pivot_list = { @@ -803,7 +803,7 @@ function M.get_examples() template = "basic_swipe", root = "basic_swipe/root", code_url = "example/examples/basic/swipe/basic_swipe.lua", - component_class = require("example.examples.basic.swipe.basic_swipe"), + widget_class = require("example.examples.basic.swipe.basic_swipe"), on_create = function(instance, output_log) ---@cast instance examples.basic_swipe instance.swipe.on_swipe:subscribe(function(_, side, dist, delta_time) @@ -817,7 +817,7 @@ function M.get_examples() template = "checkbox", root = "checkbox/root", code_url = "example/examples/basic/checkbox/checkbox.lua", - component_class = require("example.examples.basic.checkbox.checkbox"), + widget_class = require("example.examples.basic.checkbox.checkbox"), on_create = function(instance, output_log) ---@cast instance examples.checkbox instance.button.on_click:subscribe(function() @@ -831,7 +831,7 @@ function M.get_examples() template = "checkbox_group", root = "checkbox_group/root", code_url = "example/examples/basic/checkbox_group/checkbox_group.lua", - component_class = require("example.examples.basic.checkbox_group.checkbox_group"), + widget_class = require("example.examples.basic.checkbox_group.checkbox_group"), on_create = function(instance, output_log) ---@cast instance examples.checkbox_group instance.on_state_changed:subscribe(function(state1, state2, state3) @@ -845,7 +845,7 @@ function M.get_examples() template = "radio_group", root = "radio_group/root", code_url = "example/examples/basic/radio_group/radio_group.lua", - component_class = require("example.examples.basic.radio_group.radio_group"), + widget_class = require("example.examples.basic.radio_group.radio_group"), on_create = function(instance, output_log) ---@cast instance examples.radio_group instance.on_state_changed:subscribe(function(selected) diff --git a/example/examples/basic/grid/grid.lua b/example/examples/basic/grid/grid.lua index 4f09509..cf8d8ac 100644 --- a/example/examples/basic/grid/grid.lua +++ b/example/examples/basic/grid/grid.lua @@ -1,17 +1,9 @@ -local component = require("druid.component") - ----@class examples.grid: druid.component +---@class examples.grid: druid.widget ---@field grid druid.grid ---@field text druid.text ----@field druid druid.instance -local M = component.create("grid") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.created_nodes = {} self.prefab = self:get_node("prefab") diff --git a/example/examples/basic/hotkey/basic_hotkey.lua b/example/examples/basic/hotkey/basic_hotkey.lua index 3bc17d7..a43ffa8 100644 --- a/example/examples/basic/hotkey/basic_hotkey.lua +++ b/example/examples/basic/hotkey/basic_hotkey.lua @@ -1,17 +1,9 @@ -local component = require("druid.component") - ----@class examples.basic_hotkey: druid.component ----@field druid druid.instance +---@class examples.basic_hotkey: druid.widget ---@field root node ---@field text druid.text -local M = component.create("basic_hotkey") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.root = self:get_node("root") self.hotkey = self.druid:new_hotkey({ "key_lshift", "key_x" }, self.on_hotkey) end diff --git a/example/examples/basic/hover/hover.lua b/example/examples/basic/hover/hover.lua index 1d84472..dfb5eee 100644 --- a/example/examples/basic/hover/hover.lua +++ b/example/examples/basic/hover/hover.lua @@ -1,19 +1,12 @@ -local component = require("druid.component") - ----@class examples.hover: druid.component ----@field druid druid.instance +---@class examples.hover: druid.widget ---@field hover druid.hover ---@field hover_pressed druid.hover -local M = component.create("hover") +local M = {} ---Color: #E6DF9F local HOVERED_COLOR = vmath.vector4(230/255, 223/255, 159/255, 1.0) ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() -- Default hover callback is `on_hover`, designed for mobile devices -- It's only hover if touch action is above the node self.hover_default = self.druid:new_hover("button_mobile_hover/root", self.on_hover) diff --git a/example/examples/basic/input/basic_input.lua b/example/examples/basic/input/basic_input.lua index dafffed..a59d593 100644 --- a/example/examples/basic/input/basic_input.lua +++ b/example/examples/basic/input/basic_input.lua @@ -1,16 +1,8 @@ -local component = require("druid.component") - ----@class examples.basic_input: druid.component ----@field druid druid.instance +---@class examples.basic_input: druid.widget ---@field input druid.input -local M = component.create("basic_input") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.input = self.druid:new_input("input/root", "input/text") self.input_2 = self.druid:new_input("input_2/root", "input_2/text") --[[@as druid.input]] diff --git a/example/examples/basic/input/input_password.lua b/example/examples/basic/input/input_password.lua index f2e7241..5b1701e 100644 --- a/example/examples/basic/input/input_password.lua +++ b/example/examples/basic/input/input_password.lua @@ -1,16 +1,10 @@ -local component = require("druid.component") - ----@class examples.input_password: druid.component ----@field druid druid.instance +---@class examples.input_password: druid.widget ---@field root node -local M = component.create("input_password") +---@field input druid.input +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() self.root = self:get_node("root") self.input = self.druid:new_input("input/root", "input/text", gui.KEYBOARD_TYPE_PASSWORD) self.input:set_text("") diff --git a/example/examples/basic/input/rich_input.lua b/example/examples/basic/input/rich_input.lua index ab3807b..56bc6e3 100644 --- a/example/examples/basic/input/rich_input.lua +++ b/example/examples/basic/input/rich_input.lua @@ -1,15 +1,10 @@ -local component = require("druid.component") - ----@class examples.rich_input: druid.component ----@field druid druid.instance +---@class examples.rich_input: druid.widget ---@field rich_input druid.rich_input -local M = component.create("rich_input") +---@field rich_input_2 druid.rich_input +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +function M:init() self.rich_input = self.druid:new_rich_input("rich_input") --[[@as druid.rich_input]] self.rich_input:set_placeholder("Enter text") diff --git a/example/examples/basic/progress_bar/basic_progress_bar.lua b/example/examples/basic/progress_bar/basic_progress_bar.lua index 15b0b4a..4929507 100644 --- a/example/examples/basic/progress_bar/basic_progress_bar.lua +++ b/example/examples/basic/progress_bar/basic_progress_bar.lua @@ -1,16 +1,8 @@ -local component = require("druid.component") - ----@class examples.basic_progress_bar: druid.component ----@field druid druid.instance +---@class examples.basic_progress_bar: druid.widget ---@field progress druid.progress -local M = component.create("basic_progress_bar") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.progress = self.druid:new_progress("progress_bar_fill", "x") self.text_value = self:get_node("progress_value") diff --git a/example/examples/basic/progress_bar/basic_progress_bar_slice9.lua b/example/examples/basic/progress_bar/basic_progress_bar_slice9.lua index f0c6889..24629d0 100644 --- a/example/examples/basic/progress_bar/basic_progress_bar_slice9.lua +++ b/example/examples/basic/progress_bar/basic_progress_bar_slice9.lua @@ -1,16 +1,8 @@ -local component = require("druid.component") - ----@class examples.basic_progress_bar_slice9: druid.component ----@field druid druid.instance +---@class examples.basic_progress_bar_slice9: druid.widget ---@field progress druid.progress -local M = component.create("basic_progress_bar_slice9") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.progress = self.druid:new_progress("progress_bar_fill", "x") self.text_value = self:get_node("progress_value") diff --git a/example/examples/basic/radio_group/radio_group.lua b/example/examples/basic/radio_group/radio_group.lua index 153e1ba..098db97 100644 --- a/example/examples/basic/radio_group/radio_group.lua +++ b/example/examples/basic/radio_group/radio_group.lua @@ -1,20 +1,15 @@ -local component = require("druid.component") local event = require("event.event") -- Require checkbox component from checkbox example local checkbox = require("example.examples.basic.checkbox.checkbox") ----@class examples.radio_group: druid.component ----@field druid druid.instance ----@field button druid.button -local M = component.create("radio_group") +---@class examples.radio_group: druid.widget +---@field checkboxes examples.checkbox[] +---@field state boolean[] +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() self.state = {} self.checkboxes = { self.druid:new(checkbox, "checkbox_1"), diff --git a/example/examples/basic/rich_text/basic_rich_text.lua b/example/examples/basic/rich_text/basic_rich_text.lua index 1573a42..2662ae6 100644 --- a/example/examples/basic/rich_text/basic_rich_text.lua +++ b/example/examples/basic/rich_text/basic_rich_text.lua @@ -1,15 +1,9 @@ -local component = require("druid.component") - ----@class examples.basic_rich_text: druid.component ----@field druid druid.instance +---@class examples.basic_rich_text: druid.widget ---@field rich_text druid.rich_text -local M = component.create("basic_rich_text") +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +function M:init() self.druid:new_rich_text("text", "Hello, I'm a Rich Text!") end diff --git a/example/examples/basic/rich_text/rich_text_tags.lua b/example/examples/basic/rich_text/rich_text_tags.lua index 30608b4..dcf2d7f 100644 --- a/example/examples/basic/rich_text/rich_text_tags.lua +++ b/example/examples/basic/rich_text/rich_text_tags.lua @@ -1,17 +1,16 @@ -local component = require("druid.component") local helper = require("druid.helper") ----@class examples.rich_text_tags: druid.component ----@field druid druid.instance ----@field rich_text druid.rich_text -local M = component.create("rich_text_tags") +---@class examples.rich_text_tags: druid.widget +---@field rich_text_color druid.rich_text +---@field rich_text_font druid.rich_text +---@field rich_text_size druid.rich_text +---@field rich_text_breaks druid.rich_text +---@field rich_text_image druid.rich_text +---@field position table +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() self.rich_text_color = self.druid:new_rich_text("rich_text_color") --[[@as druid.rich_text]] self.rich_text_color:set_text("Hello, I'm a Rich Text and it's nested color tag") diff --git a/example/examples/basic/scroll/scroll.lua b/example/examples/basic/scroll/scroll.lua index d466e14..20bca57 100644 --- a/example/examples/basic/scroll/scroll.lua +++ b/example/examples/basic/scroll/scroll.lua @@ -1,16 +1,11 @@ local component = require("druid.component") ----@class examples.scroll: druid.component +---@class examples.scroll: druid.widget ---@field root node ---@field scroll druid.scroll ----@field druid druid.instance -local M = component.create("scroll") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.scroll = self.druid:new_scroll("scroll_view", "scroll_content") self.button_tutorial = self.druid:new_button("button_tutorial/root") diff --git a/example/examples/basic/scroll_bind_grid/scroll_bind_grid.lua b/example/examples/basic/scroll_bind_grid/scroll_bind_grid.lua index f034ece..db4d0f9 100644 --- a/example/examples/basic/scroll_bind_grid/scroll_bind_grid.lua +++ b/example/examples/basic/scroll_bind_grid/scroll_bind_grid.lua @@ -1,18 +1,10 @@ -local component = require("druid.component") - ----@class examples.scroll_bind_grid: druid.component +---@class examples.scroll_bind_grid: druid.widget ---@field scroll druid.scroll ---@field grid druid.grid ---@field text druid.text ----@field druid druid.instance -local M = component.create("scroll_bind_grid") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.created_nodes = {} self.prefab = self:get_node("prefab") diff --git a/example/examples/basic/scroll_bind_grid/scroll_bind_grid_horizontal.lua b/example/examples/basic/scroll_bind_grid/scroll_bind_grid_horizontal.lua index 8e63ee9..416e01f 100644 --- a/example/examples/basic/scroll_bind_grid/scroll_bind_grid_horizontal.lua +++ b/example/examples/basic/scroll_bind_grid/scroll_bind_grid_horizontal.lua @@ -1,18 +1,10 @@ -local component = require("druid.component") - ----@class examples.scroll_bind_grid_horizontal: druid.component +---@class examples.scroll_bind_grid_horizontal: druid.widget ---@field scroll druid.scroll ---@field grid druid.grid ---@field text druid.text ----@field druid druid.instance -local M = component.create("scroll_bind_grid_horizontal") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.created_nodes = {} self.prefab = self:get_node("prefab") diff --git a/example/examples/basic/scroll_bind_grid/scroll_bind_grid_points.lua b/example/examples/basic/scroll_bind_grid/scroll_bind_grid_points.lua index 9aee58f..01990c9 100644 --- a/example/examples/basic/scroll_bind_grid/scroll_bind_grid_points.lua +++ b/example/examples/basic/scroll_bind_grid/scroll_bind_grid_points.lua @@ -1,18 +1,10 @@ -local component = require("druid.component") - ----@class examples.scroll_bind_grid_points: druid.component +---@class examples.scroll_bind_grid_points: druid.widget ---@field scroll druid.scroll ---@field grid druid.grid ---@field text druid.text ----@field druid druid.instance -local M = component.create("scroll_bind_grid_points") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.created_nodes = {} self.prefab = self:get_node("prefab") diff --git a/example/examples/basic/scroll_slider/scroll_slider.lua b/example/examples/basic/scroll_slider/scroll_slider.lua index c013ba6..a5d8df2 100644 --- a/example/examples/basic/scroll_slider/scroll_slider.lua +++ b/example/examples/basic/scroll_slider/scroll_slider.lua @@ -1,17 +1,10 @@ -local component = require("druid.component") - ----@class examples.scroll_slider: druid.component +---@class examples.scroll_slider: druid.widget ---@field root node ---@field scroll druid.scroll ---@field slider druid.slider ----@field druid druid.instance -local M = component.create("scroll_slider") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.scroll = self.druid:new_scroll("scroll_view", "scroll_content") self.scroll.on_scroll:subscribe(self.on_scroll) diff --git a/example/examples/basic/slider/basic_slider.lua b/example/examples/basic/slider/basic_slider.lua index 13cb8f8..0063c30 100644 --- a/example/examples/basic/slider/basic_slider.lua +++ b/example/examples/basic/slider/basic_slider.lua @@ -1,17 +1,9 @@ -local component = require("druid.component") - ----@class examples.basic_slider: druid.component ----@field druid druid.instance +---@class examples.basic_slider: druid.widget ---@field root node ---@field slider druid.slider -local M = component.create("basic_slider") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.slider = self.druid:new_slider("slider/slider_pin", vmath.vector3(118, 0, 0), self.on_slider_change) --[[@as druid.slider]] -- To add input across all slider widget add a root node to acquire additional input diff --git a/example/examples/basic/slider/basic_slider_stepped.lua b/example/examples/basic/slider/basic_slider_stepped.lua index ce9ef38..bd08ce4 100644 --- a/example/examples/basic/slider/basic_slider_stepped.lua +++ b/example/examples/basic/slider/basic_slider_stepped.lua @@ -1,17 +1,9 @@ -local component = require("druid.component") - ----@class examples.basic_slider_stepped: druid.component ----@field druid druid.instance +---@class examples.basic_slider_stepped: druid.widget ---@field root node ---@field slider druid.slider -local M = component.create("basic_slider_stepped") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.slider = self.druid:new_slider("slider/slider_pin", vmath.vector3(118, 0, 0), self.on_slider_change) --[[@as druid.slider]] -- To add input across all slider widget add a root node to acquire additional input diff --git a/example/examples/basic/slider/basic_slider_vertical.lua b/example/examples/basic/slider/basic_slider_vertical.lua index cbfbe2c..46bed0d 100644 --- a/example/examples/basic/slider/basic_slider_vertical.lua +++ b/example/examples/basic/slider/basic_slider_vertical.lua @@ -1,17 +1,9 @@ -local component = require("druid.component") - ----@class examples.basic_slider_vertical: druid.component ----@field druid druid.instance +---@class examples.basic_slider_vertical: druid.widget ---@field root node ---@field slider druid.slider -local M = component.create("basic_slider_vertical") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.slider = self.druid:new_slider("slider/slider_pin", vmath.vector3(0, -118, 0), self.on_slider_change) --[[@as druid.slider]] -- To add input across all slider widget add a root node to acquire additional input diff --git a/example/examples/basic/swipe/basic_swipe.lua b/example/examples/basic/swipe/basic_swipe.lua index 136e0e7..8070365 100644 --- a/example/examples/basic/swipe/basic_swipe.lua +++ b/example/examples/basic/swipe/basic_swipe.lua @@ -1,14 +1,9 @@ -local component = require("druid.component") +---@class examples.basic_swipe: druid.widget +---@field swipe druid.swipe +local M = {} ----@class examples.basic_swipe: druid.component ----@field druid druid.instance -local M = component.create("basic_swipe") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +function M:init() self.swipe = self.druid:new_swipe("root", self.on_swipe) --[[@as druid.swipe]] self.text_hint = self:get_node("swipe_hint") diff --git a/example/examples/basic/text/basic_text.lua b/example/examples/basic/text/basic_text.lua index fbdfed2..6e81487 100644 --- a/example/examples/basic/text/basic_text.lua +++ b/example/examples/basic/text/basic_text.lua @@ -1,16 +1,10 @@ local helper = require("druid.helper") -local component = require("druid.component") ----@class examples.basic_text: druid.component ----@field druid druid.instance +---@class examples.basic_text: druid.widget ---@field text druid.text -local M = component.create("basic_text") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.text = self.druid:new_text("text") -- This code is for adjustable text area with mouse diff --git a/example/examples/basic/text/multiline_text.lua b/example/examples/basic/text/multiline_text.lua index 785f116..415c511 100644 --- a/example/examples/basic/text/multiline_text.lua +++ b/example/examples/basic/text/multiline_text.lua @@ -1,16 +1,10 @@ local helper = require("druid.helper") -local component = require("druid.component") ----@class examples.multiline_text: druid.component +---@class examples.multiline_text: druid.widget ---@field root node ----@field druid druid.instance -local M = component.create("multiline_text") - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.root = self:get_node("root") self.text = self.druid:new_text("text") diff --git a/example/examples/basic/timer/basic_timer.lua b/example/examples/basic/timer/basic_timer.lua index 08450c5..89d7ecc 100644 --- a/example/examples/basic/timer/basic_timer.lua +++ b/example/examples/basic/timer/basic_timer.lua @@ -1,19 +1,11 @@ local event = require("event.event") -local component = require("druid.component") - ----@class examples.basic_timer: druid.component ----@field druid druid.instance +---@class examples.basic_timer: druid.widget ---@field root node ---@field text druid.text -local M = component.create("basic_timer") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) +local M = {} +function M:init() self.root = self:get_node("root") self.timer = self.druid:new_timer("text") diff --git a/example/examples/data_list/examples_list.lua b/example/examples/data_list/examples_list.lua index 59aea64..6d71ccb 100644 --- a/example/examples/data_list/examples_list.lua +++ b/example/examples/data_list/examples_list.lua @@ -9,7 +9,7 @@ function M.get_examples() template = "data_list_basic", root = "data_list_basic/root", code_url = "example/examples/data_list/basic/data_list_basic.lua", - component_class = require("example.examples.data_list.basic.data_list_basic"), + widget_class = require("example.examples.data_list.basic.data_list_basic"), on_create = function(instance, output_list) ---@cast instance examples.data_list_basic instance.on_item_click:subscribe(function(index) @@ -57,7 +57,7 @@ function M.get_examples() template = "data_list_horizontal_basic", root = "data_list_horizontal_basic/root", code_url = "example/examples/data_list/basic/data_list_horizontal_basic.lua", - component_class = require("example.examples.data_list.basic.data_list_horizontal_basic"), + widget_class = require("example.examples.data_list.basic.data_list_horizontal_basic"), properties_control = function(instance, properties_panel) ---@cast instance examples.data_list_horizontal_basic @@ -95,7 +95,7 @@ function M.get_examples() template = "data_list_add_remove_clear", root = "data_list_add_remove_clear/root", code_url = "example/examples/data_list/add_remove_clear/data_list_add_remove_clear.lua", - component_class = require("example.examples.data_list.add_remove_clear.data_list_add_remove_clear"), + widget_class = require("example.examples.data_list.add_remove_clear.data_list_add_remove_clear"), on_create = function(instance, output_list) ---@cast instance examples.data_list_add_remove_clear instance.on_item_click:subscribe(function(index) @@ -156,7 +156,7 @@ function M.get_examples() template = "data_list_cache_with_component", root = "data_list_cache_with_component/root", code_url = "example/examples/data_list/cache_with_component/cache_with_component.lua", - component_class = require("example.examples.data_list.cache_with_component.cache_with_component"), + widget_class = require("example.examples.data_list.cache_with_component.cache_with_component"), on_create = function(instance, output_list) ---@cast instance examples.data_list_cache_with_component instance.on_item_click:subscribe(function(index) diff --git a/example/examples/gamepad/examples_list.lua b/example/examples/gamepad/examples_list.lua index e66a53a..de3dec1 100644 --- a/example/examples/gamepad/examples_list.lua +++ b/example/examples/gamepad/examples_list.lua @@ -10,7 +10,7 @@ function M.get_examples() template = "gamepad_tester", root = "gamepad_tester/root", code_url = "example/examples/gamepad/gamepad_tester/gamepad_tester.lua", - component_class = require("example.examples.gamepad.gamepad_tester.gamepad_tester"), + widget_class = require("example.examples.gamepad.gamepad_tester.gamepad_tester"), on_create = function(instance, output_list) ---@cast instance examples.gamepad_tester instance.button_left.on_click:subscribe(function() @@ -64,7 +64,7 @@ function M.get_examples() template = "on_screen_control", root = "on_screen_control/root", code_url = "example/examples/gamepad/on_screen_control/on_screen_control.lua", - component_class = require("example.examples.gamepad.on_screen_control.on_screen_control"), + widget_class = require("example.examples.gamepad.on_screen_control.on_screen_control"), } } end diff --git a/example/examples/intro/examples_list.lua b/example/examples/intro/examples_list.lua index 0618863..a3d8809 100644 --- a/example/examples/intro/examples_list.lua +++ b/example/examples/intro/examples_list.lua @@ -10,7 +10,7 @@ function M.get_examples() template = "intro", root = "intro/root", code_url = "example/examples/intro/intro/intro.lua", - component_class = require("example.examples.intro.intro.intro"), + widget_class = require("example.examples.intro.intro.intro"), }, --{ -- name_id = "ui_example_how_to_use_example", @@ -18,9 +18,9 @@ function M.get_examples() -- template = "how_to_use_example", -- root = "how_to_use_example/root", -- code_url = "example/examples/intro/how_to_use_example/how_to_use_example.lua", - -- component_class = require("example.examples.intro.how_to_use_example.how_to_use_example"), + -- widget_class = require("example.examples.intro.how_to_use_example.how_to_use_example"), --} } end -return M \ No newline at end of file +return M diff --git a/example/examples/intro/how_to_use_example/how_to_use_example.lua b/example/examples/intro/how_to_use_example/how_to_use_example.lua index 7353dc8..6f7c922 100644 --- a/example/examples/intro/how_to_use_example/how_to_use_example.lua +++ b/example/examples/intro/how_to_use_example/how_to_use_example.lua @@ -1,13 +1,9 @@ -local component = require("druid.component") - ----@class examples.how_to_use_example: druid.component +---@class examples.how_to_use_example: druid.widget ---@field root node -local M = component.create("how_to_use_example") +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) + +function M:init() self.root = self:get_node("root") self.druid:new_rich_text("text_hello", "Hello!") diff --git a/example/examples/intro/intro/intro.lua b/example/examples/intro/intro/intro.lua index 2162b4a..0604a48 100644 --- a/example/examples/intro/intro/intro.lua +++ b/example/examples/intro/intro/intro.lua @@ -1,15 +1,13 @@ -local component = require("druid.component") local panthera = require("panthera.panthera") local intro_panthera = require("example.examples.intro.intro.intro_panthera") ----@class examples.intro: druid.component +---@class examples.intro: druid.widget ---@field root node -local M = component.create("intro") +---@field animation panthera.instance +local M = {} ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) + +function M:init() self.root = self:get_node("root") self.druid:new_rich_text("text_hello", "Hello!") @@ -24,7 +22,7 @@ function M:init(template, nodes) :add("sponsor_kofi") :set_margin(8, 0) - self.animation = panthera.create_gui(intro_panthera, self:get_template(), nodes) + self.animation = panthera.create_gui(intro_panthera, self:get_template(), self:get_nodes()) panthera.play(self.animation, "idle", { is_loop = true }) end diff --git a/example/examples/layout/examples_list.lua b/example/examples/layout/examples_list.lua index 1499c1b..e15a8fe 100644 --- a/example/examples/layout/examples_list.lua +++ b/example/examples/layout/examples_list.lua @@ -10,7 +10,7 @@ function M.get_examples() template = "basic_layout", root = "basic_layout/root", code_url = "example/examples/layout/basic/basic_layout.lua", - component_class = require("example.examples.layout.basic.basic_layout"), + widget_class = require("example.examples.layout.basic.basic_layout"), properties_control = function(instance, properties_panel) ---@cast instance examples.basic_layout diff --git a/example/examples/panthera/examples_list.lua b/example/examples/panthera/examples_list.lua index bc4b20c..7acb5d2 100644 --- a/example/examples/panthera/examples_list.lua +++ b/example/examples/panthera/examples_list.lua @@ -10,7 +10,7 @@ function M.get_examples() template = "basic_animation", root = "basic_animation/root", code_url = "example/examples/panthera/basic_animation/basic_animation.lua", - component_class = require("example.examples.panthera.basic_animation.basic_animation"), + widget_class = require("example.examples.panthera.basic_animation.basic_animation"), }, { name_id = "ui_example_panthera_animation_blend", @@ -18,7 +18,7 @@ function M.get_examples() template = "animation_blend", root = "animation_blend/root", code_url = "example/examples/panthera/animation_blend/animation_blend.lua", - component_class = require("example.examples.panthera.animation_blend.animation_blend"), + widget_class = require("example.examples.panthera.animation_blend.animation_blend"), properties_control = function(instance, properties_panel) ---@cast instance examples.animation_blend local vertical_time = panthera.get_time(instance.animation_vertical) diff --git a/example/examples/widgets/examples_list.lua b/example/examples/widgets/examples_list.lua index 59c9888..454e97b 100644 --- a/example/examples/widgets/examples_list.lua +++ b/example/examples/widgets/examples_list.lua @@ -9,7 +9,7 @@ function M.get_examples() template = "hover_hint_example", root = "hover_hint_example/root", code_url = "example/examples/widgets/hover_hint/hover_hint_example.lua", - component_class = require("example.examples.widgets.hover_hint.hover_hint_example"), + widget_class = require("example.examples.widgets.hover_hint.hover_hint_example"), }, { name_id = "ui_example_widget_properties_panel", @@ -83,7 +83,7 @@ function M.get_examples() template = "property_button", root = "property_button/root", code_url = "example/components/properties_panel/properties/property_button.lua", - component_class = require("example.components.properties_panel.properties.property_button"), + widget_class = require("example.components.properties_panel.properties.property_button"), on_create = function(instance, output_list) ---@cast instance property_button instance.button.on_click:subscribe(function() @@ -105,7 +105,7 @@ function M.get_examples() template = "property_slider", root = "property_slider/root", code_url = "example/components/properties_panel/properties/property_slider.lua", - component_class = require("example.components.properties_panel.properties.property_slider"), + widget_class = require("example.components.properties_panel.properties.property_slider"), on_create = function(instance, output_list) ---@cast instance property_slider instance.slider.on_change_value:subscribe(function(_, value) @@ -119,7 +119,7 @@ function M.get_examples() template = "property_checkbox", root = "property_checkbox/root", code_url = "example/components/properties_panel/properties/property_checkbox.lua", - component_class = require("example.components.properties_panel.properties.property_checkbox"), + widget_class = require("example.components.properties_panel.properties.property_checkbox"), on_create = function(instance, output_list) ---@cast instance property_checkbox instance.button.on_click:subscribe(function() diff --git a/example/examples/widgets/hover_hint/hover_hint.lua b/example/examples/widgets/hover_hint/hover_hint.lua index f5a55ee..f0710a4 100644 --- a/example/examples/widgets/hover_hint/hover_hint.lua +++ b/example/examples/widgets/hover_hint/hover_hint.lua @@ -1,9 +1,7 @@ local helper = require("druid.helper") local druid_const = require("druid.const") -local component = require("druid.component") ----@class examples.hover_hint: druid.component ----@field druid druid.instance +---@class examples.hover_hint: druid.widget ---@field root node ---@field panel_hint node ---@field text_hint druid.text @@ -11,7 +9,7 @@ local component = require("druid.component") ---@field is_shown boolean ---@field private _hint_text string ---@field private _hover_timer_id hash -local M = component.create("hover_hint") +local M = {} local TIMER_DELAY = 0.5 local MIN_PANEL_WIDTH = 100 @@ -19,10 +17,7 @@ local MIN_PANEL_HEIGHT = 50 local PANEL_MARGIN = 40 local HINT_OFFSET = 20 ----@param template string -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - +function M:init() self.root = self:get_node("root") self.panel_hint = self:get_node("panel_hint") self.text_hint = self.druid:new_text("text_hint") diff --git a/example/examples/widgets/hover_hint/hover_hint_example.lua b/example/examples/widgets/hover_hint/hover_hint_example.lua index c99398a..18ad5f8 100644 --- a/example/examples/widgets/hover_hint/hover_hint_example.lua +++ b/example/examples/widgets/hover_hint/hover_hint_example.lua @@ -1,17 +1,10 @@ local hover_hint = require("example.examples.widgets.hover_hint.hover_hint") -local component = require("druid.component") +---@class examples.hover_hint_example: druid.widget +local M = {} ----@class examples.hover_hint_example: druid.component ----@field druid druid.instance -local M = component.create("hover_hint_example") - - ----@param template string ----@param nodes table -function M:init(template, nodes) - self.druid = self:get_druid(template, nodes) - self.hover_hint = self.druid:new(hover_hint, "hover_hint") +function M:init() + self.hover_hint = self.druid:new_widget(hover_hint, "hover_hint") self.hover_hint:add_hover_hint(self:get_node("node_yellow"), "Yellow box", gui.PIVOT_N, gui.PIVOT_S) self.hover_hint:add_hover_hint(self:get_node("node_green"), "Green box", gui.PIVOT_S, gui.PIVOT_N) diff --git a/example/examples/windows/examples_list.lua b/example/examples/windows/examples_list.lua index dbd6210..2a6e033 100644 --- a/example/examples/windows/examples_list.lua +++ b/example/examples/windows/examples_list.lua @@ -10,7 +10,7 @@ function M.get_examples() template = "window_language", root = "window_language/root", code_url = "example/examples/windows/window_language/window_language.lua", - component_class = require("example.examples.windows.window_language.window_language"), + widget_class = require("example.examples.windows.window_language.window_language"), on_create = function(instance, output_list) ---@cast instance examples.window_language instance.on_language_change:subscribe(function(language) @@ -24,7 +24,7 @@ function M.get_examples() root = "window_confirmation/root", information_text_id = "ui_example_window_language_description", code_url = "example/examples/windows/window_confirmation/window_confirmation.lua", - component_class = require("example.examples.windows.window_confirmation.window_confirmation"), + widget_class = require("example.examples.windows.window_confirmation.window_confirmation"), on_create = function(instance, output_list) ---@cast instance examples.window_confirmation instance.text_header:translate("ui_confirmation") @@ -46,7 +46,7 @@ function M.get_examples() root = "window_info/root", information_text_id = "ui_example_window_information_description", code_url = "example/examples/windows/window_info/window_info.lua", - component_class = require("example.examples.windows.window_info.window_info"), + widget_class = require("example.examples.windows.window_info.window_info"), on_create = function(instance, output_list) ---@cast instance examples.window_info instance.text_header:translate("ui_information")