mirror of
https://github.com/Insality/druid.git
synced 2025-09-27 18:12:19 +02:00
Update widgets
This commit is contained in:
@@ -1,13 +1,10 @@
|
||||
local component = require("druid.component")
|
||||
local lang_text = require("druid.extended.lang_text")
|
||||
|
||||
---@class property_button: druid.base_component
|
||||
---@field root node
|
||||
---@field text_name druid.lang_text
|
||||
---@field button druid.button
|
||||
---@field text_button druid.text
|
||||
---@field druid druid_instance
|
||||
local M = component.create("property_button")
|
||||
local M = {}
|
||||
|
||||
---@param template string
|
||||
---@param nodes table<hash, node>
|
||||
@@ -15,7 +12,7 @@ function M:init(template, nodes)
|
||||
self.druid = self:get_druid(template, nodes)
|
||||
|
||||
self.root = self:get_node("root")
|
||||
self.text_name = self.druid:new(lang_text, "text_name") --[[@as druid.lang_text]]
|
||||
self.text_name = self.druid:new_lang_text("text_name")
|
||||
self.selected = self:get_node("selected")
|
||||
gui.set_alpha(self.selected, 0)
|
||||
|
||||
|
@@ -1,21 +1,17 @@
|
||||
local component = require("druid.component")
|
||||
local container = require("example.components.container.container")
|
||||
local lang_text = require("druid.extended.lang_text")
|
||||
|
||||
---@class property_checkbox: druid.base_component
|
||||
---@class property_checkbox: druid.widget
|
||||
---@field druid druid_instance
|
||||
---@field root druid.container
|
||||
---@field text_name druid.lang_text
|
||||
---@field button druid.button
|
||||
---@field selected node
|
||||
local M = component.create("property_checkbox")
|
||||
local M = {}
|
||||
|
||||
|
||||
---@param template string
|
||||
---@param nodes table<hash, node>
|
||||
function M:init(template, nodes)
|
||||
self.druid = self:get_druid(template, nodes)
|
||||
self.root = self.druid:new(container, "root") --[[@as druid.container]]
|
||||
self.root = self.druid:new_container("root")
|
||||
|
||||
self.icon = self:get_node("icon")
|
||||
gui.set_enabled(self.icon, false)
|
||||
@@ -23,7 +19,7 @@ function M:init(template, nodes)
|
||||
self.selected = self:get_node("selected")
|
||||
gui.set_alpha(self.selected, 0)
|
||||
|
||||
self.text_name = self.druid:new(lang_text, "text_name") --[[@as druid.lang_text]]
|
||||
self.text_name = self.druid:new_lang_text("text_name")
|
||||
|
||||
self.button = self.druid:new_button("button", self.on_click)
|
||||
end
|
||||
|
@@ -1,15 +1,10 @@
|
||||
local component = require("druid.component")
|
||||
local container = require("example.components.container.container")
|
||||
local lang_text = require("druid.extended.lang_text")
|
||||
local slider = require("druid.extended.slider")
|
||||
|
||||
---@class property_slider: druid.base_component
|
||||
---@class property_slider: druid.widget
|
||||
---@field druid druid_instance
|
||||
---@field root druid.container
|
||||
---@field text_name druid.lang_text
|
||||
---@field text_value druid.text
|
||||
---@field slider druid.slider
|
||||
local M = component.create("property_slider")
|
||||
local M = {}
|
||||
|
||||
|
||||
---@param template string
|
||||
@@ -17,14 +12,14 @@ local M = component.create("property_slider")
|
||||
function M:init(template, nodes)
|
||||
self.druid = self:get_druid(template, nodes)
|
||||
|
||||
self.root = self.druid:new(container, "root") --[[@as druid.container]]
|
||||
self.root = self.druid:new_container("root") --[[@as druid.container]]
|
||||
self.selected = self:get_node("selected")
|
||||
gui.set_alpha(self.selected, 0)
|
||||
self._value = 0
|
||||
|
||||
self.text_name = self.druid:new(lang_text, "text_name") --[[@as druid.lang_text]]
|
||||
self.text_name = self.druid:new_lang_text("text_name") --[[@as druid.lang_text]]
|
||||
self.text_value = self.druid:new_text("text_value")
|
||||
self.slider = self.druid:new(slider, "slider_pin", vmath.vector3(68, 0, 0), self._on_slider_change_by_user) --[[@as druid.slider]]
|
||||
self.slider = self.druid:new_slider("slider_pin", vmath.vector3(68, 0, 0), self._on_slider_change_by_user) --[[@as druid.slider]]
|
||||
self.slider:set_input_node("slider")
|
||||
|
||||
self:set_text_function(function(value)
|
||||
|
@@ -20,7 +20,6 @@ nodes {
|
||||
texture: "druid/pixel"
|
||||
id: "root"
|
||||
adjust_mode: ADJUST_MODE_STRETCH
|
||||
layer: "druid"
|
||||
inherit_alpha: true
|
||||
}
|
||||
nodes {
|
||||
@@ -57,7 +56,6 @@ nodes {
|
||||
z: 1.0
|
||||
}
|
||||
parent: "root"
|
||||
layer: "text_regular"
|
||||
inherit_alpha: true
|
||||
outline_alpha: 0.0
|
||||
shadow_alpha: 0.0
|
||||
@@ -78,7 +76,6 @@ nodes {
|
||||
pivot: PIVOT_NW
|
||||
adjust_mode: ADJUST_MODE_STRETCH
|
||||
parent: "root"
|
||||
layer: "druid"
|
||||
inherit_alpha: true
|
||||
clipping_mode: CLIPPING_MODE_STENCIL
|
||||
}
|
||||
@@ -93,7 +90,6 @@ nodes {
|
||||
pivot: PIVOT_NW
|
||||
adjust_mode: ADJUST_MODE_STRETCH
|
||||
parent: "scroll_view"
|
||||
layer: "druid"
|
||||
inherit_alpha: true
|
||||
visible: false
|
||||
}
|
||||
@@ -131,7 +127,6 @@ nodes {
|
||||
z: 1.0
|
||||
}
|
||||
parent: "root"
|
||||
layer: "text_regular"
|
||||
inherit_alpha: true
|
||||
outline_alpha: 0.0
|
||||
shadow_alpha: 0.0
|
||||
@@ -285,11 +280,5 @@ nodes {
|
||||
parent: "property_button/button"
|
||||
template_node_child: true
|
||||
}
|
||||
layers {
|
||||
name: "druid"
|
||||
}
|
||||
layers {
|
||||
name: "text_regular"
|
||||
}
|
||||
material: "/builtins/materials/gui.material"
|
||||
adjust_reference: ADJUST_REFERENCE_PARENT
|
||||
|
@@ -1,9 +1,6 @@
|
||||
local container = require("example.components.container.container")
|
||||
local lang_text = require("druid.extended.lang_text")
|
||||
|
||||
local property_checkbox = require("example.components.properties_panel.properties.property_checkbox")
|
||||
local property_slider = require("example.components.properties_panel.properties.property_slider")
|
||||
local property_button = require("example.components.properties_panel.properties.property_button")
|
||||
local property_checkbox = require("druid.widget.properties_panel.properties.property_checkbox")
|
||||
local property_slider = require("druid.widget.properties_panel.properties.property_slider")
|
||||
local property_button = require("druid.widget.properties_panel.properties.property_button")
|
||||
|
||||
---@class properties_panel: druid.widget
|
||||
---@field root node
|
||||
@@ -17,21 +14,17 @@ local M = {}
|
||||
function M:init(template, nodes)
|
||||
self.druid = self:get_druid(template, nodes)
|
||||
|
||||
--self.root = self.druid:new(container, "root") --[[@as druid.container]]
|
||||
--self.root:add_container("text_header")
|
||||
--self.root:add_container("separator")
|
||||
--self.root = self.druid:new_container("root")
|
||||
self.root = self:get_node("root")
|
||||
--self.root:add_container("text_header")
|
||||
|
||||
self.properties = {}
|
||||
|
||||
self.druid:new(lang_text, "text_header", "ui_properties_panel")
|
||||
self.text_no_properties = self.druid:new(lang_text, "text_no_properties", "ui_no_properties") --[[@as druid.lang_text]]
|
||||
|
||||
self.scroll = self.druid:new_scroll("scroll_view", "scroll_content")
|
||||
self.layout = self.druid:new_layout("scroll_content", "item_size")
|
||||
--self.layout = self.druid:new_layout("scroll_content")
|
||||
|
||||
self.grid = self.druid:new_static_grid("scroll_content", "item_size", 1)
|
||||
self.scroll:bind_grid(self.grid)
|
||||
--self.grid = self.druid:new_grid("scroll_content", "item_size", 1)
|
||||
--self.scroll:bind_grid(self.grid)
|
||||
|
||||
self.property_checkbox_prefab = self:get_node("property_checkbox/root")
|
||||
gui.set_enabled(self.property_checkbox_prefab, false)
|
||||
@@ -50,11 +43,11 @@ function M:clear()
|
||||
end
|
||||
self.properties = {}
|
||||
|
||||
local nodes = self.grid.nodes
|
||||
for index = 1, #nodes do
|
||||
gui.delete_node(nodes[index])
|
||||
end
|
||||
self.grid:clear()
|
||||
--local nodes = self.grid.nodes
|
||||
--for index = 1, #nodes do
|
||||
-- gui.delete_node(nodes[index])
|
||||
--end
|
||||
--self.grid:clear()
|
||||
|
||||
gui.set_enabled(self.text_no_properties.text.node, true)
|
||||
end
|
||||
@@ -74,7 +67,7 @@ function M:add_checkbox(text_id, initial_value, on_change_callback)
|
||||
end)
|
||||
|
||||
gui.set_enabled(instance.root.node, true)
|
||||
self.grid:add(instance.root.node)
|
||||
--self.grid:add(instance.root.node)
|
||||
table.insert(self.properties, instance)
|
||||
gui.set_enabled(self.text_no_properties.text.node, false)
|
||||
|
||||
@@ -93,7 +86,7 @@ function M:add_slider(text_id, initial_value, on_change_callback)
|
||||
instance:set_value(initial_value, true)
|
||||
|
||||
gui.set_enabled(instance.root.node, true)
|
||||
self.grid:add(instance.root.node)
|
||||
--self.grid:add(instance.root.node)
|
||||
table.insert(self.properties, instance)
|
||||
gui.set_enabled(self.text_no_properties.text.node, false)
|
||||
|
||||
@@ -113,7 +106,7 @@ function M:add_button(text_id, on_click_callback)
|
||||
instance.text_name:translate(text_id)
|
||||
|
||||
gui.set_enabled(instance.root, true)
|
||||
self.grid:add(instance.root)
|
||||
--self.grid:add(instance.root)
|
||||
table.insert(self.properties, instance)
|
||||
gui.set_enabled(self.text_no_properties.text.node, false)
|
||||
|
||||
|
Reference in New Issue
Block a user