mirror of
https://github.com/Insality/druid
synced 2025-06-27 10:27:48 +02:00
Update examples to widgets instead components
This commit is contained in:
parent
dee77ab313
commit
7640e207a4
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -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
|
||||
|
@ -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<hash, node>
|
||||
function M:init(template, nodes)
|
||||
self.druid = self:get_druid(template, nodes)
|
||||
function M:init()
|
||||
self.druid:new_back_handler(self.on_back)
|
||||
end
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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)
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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)
|
||||
|
@ -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<hash, node>
|
||||
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]]
|
||||
|
@ -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<hash, node>
|
||||
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("")
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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"),
|
||||
|
@ -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<hash, node>
|
||||
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 <font=text_bold><color=E48155>Rich Text</font></color>!")
|
||||
end
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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 <color=E48155>Rich Text</color> and it's <color=8ED59E>nested <color=A1D7F5>color</color> tag</color>")
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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)
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
@ -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<hash, node>
|
||||
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
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
||||
|
@ -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<hash, node>
|
||||
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")
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
return M
|
||||
|
@ -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<hash, node>
|
||||
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", "He<color=#E48155>ll</color>o!")
|
||||
|
@ -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<hash, node>
|
||||
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", "He<color=#E48155>ll</color>o!")
|
||||
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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()
|
||||
|
@ -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")
|
||||
|
@ -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<hash, node>
|
||||
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)
|
||||
|
@ -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")
|
||||
|
Loading…
x
Reference in New Issue
Block a user