2025-01-29 23:13:09 +02:00

67 lines
1.8 KiB
Lua

local properties_panel = require("druid.widget.properties_panel.properties_panel")
---@class widget.example_properties_panel: druid.widget
local M = {}
function M:init()
self.properties_panel = self.druid:new_widget(properties_panel, "properties_panel")
self.properties_panel:add_button(function(button)
button:set_text_button("Button")
button.button.on_click:subscribe(function()
print("Button clicked")
end)
end)
self.properties_panel:add_checkbox(function(checkbox)
--print("Checkbox clicked", value)
checkbox:set_text_property("Checkbox")
checkbox.on_change_value:subscribe(function(value)
print("Checkbox clicked", value)
end)
checkbox:set_value(false)
end)
self.properties_panel:add_input(function(input)
input:set_text_property("Input")
input:set_text_value("Initial")
input:on_change(function(text)
print("Input changed", text)
end)
end)
self.properties_panel:add_left_right_selector(function(selector)
selector:set_template("Arrows Number")
selector.on_change_value:subscribe(function(value)
print("Left Right Selector changed", value)
end)
selector:set_number_type(0, 42, true, 1)
selector:set_value(0)
end)
self.properties_panel:add_left_right_selector(function(selector)
selector:set_template("Arrows Array")
selector.on_change_value:subscribe(function(value)
print("Left Right Array value", value)
end)
selector:set_array_type({"Zero", "One", "Two", "Three", "Four", "Five"}, false, 1)
selector:set_value("Zero")
end)
self.properties_panel:add_slider(function(slider)
slider:set_text_property("Slider")
slider:set_value(0.5)
slider:on_change(function(value)
print("Slider changed", value)
end)
end)
self.properties_panel:add_text(function(text)
text:set_text_property("Text")
text:set_text_value("Hello, World!")
end)
end
return M