From 25f02fd116cc74716752e2923190d8fc2ee572bb Mon Sep 17 00:00:00 2001 From: Insality Date: Sun, 26 Oct 2025 19:40:19 +0200 Subject: [PATCH] Update property panel, add small button for more text --- .../properties/property_checkbox.gui | 6 +- .../properties/property_checkbox.lua | 1 + .../properties_panel/properties_panel.gui | 77 +++++++++++++++++++ .../properties_panel/properties_panel.lua | 8 ++ 4 files changed, 89 insertions(+), 3 deletions(-) diff --git a/druid/widget/properties_panel/properties/property_checkbox.gui b/druid/widget/properties_panel/properties/property_checkbox.gui index aeb1180..1edfc64 100644 --- a/druid/widget/properties_panel/properties/property_checkbox.gui +++ b/druid/widget/properties_panel/properties/property_checkbox.gui @@ -27,7 +27,7 @@ nodes { y: 0.5 } size { - x: 360.0 + x: 700.0 y: 40.0 } color { @@ -60,7 +60,7 @@ nodes { x: 200.0 } size { - x: 200.0 + x: 40.0 y: 40.0 } type: TYPE_BOX @@ -73,7 +73,7 @@ nodes { } nodes { position { - x: -180.0 + x: -20.0 } size { x: 40.0 diff --git a/druid/widget/properties_panel/properties/property_checkbox.lua b/druid/widget/properties_panel/properties/property_checkbox.lua index d267f2a..e091e8f 100644 --- a/druid/widget/properties_panel/properties/property_checkbox.lua +++ b/druid/widget/properties_panel/properties/property_checkbox.lua @@ -77,6 +77,7 @@ end ---@param enabled boolean function M:set_enabled(enabled) self.button:set_enabled(enabled) + gui.set_alpha(self.button.node, enabled and 1 or 0.75) end diff --git a/druid/widget/properties_panel/properties_panel.gui b/druid/widget/properties_panel/properties_panel.gui index 7657a9e..7ed9cd7 100644 --- a/druid/widget/properties_panel/properties_panel.gui +++ b/druid/widget/properties_panel/properties_panel.gui @@ -747,5 +747,82 @@ nodes { parent: "property_vector3/field_z" template_node_child: true } +nodes { + position { + y: -100.0 + } + type: TYPE_TEMPLATE + id: "property_button_small" + parent: "propeties" + inherit_alpha: true + template: "/druid/widget/properties_panel/properties/property_button.gui" +} +nodes { + type: TYPE_BOX + id: "property_button_small/root" + parent: "property_button_small" + template_node_child: true +} +nodes { + size { + x: 700.0 + y: 40.0 + } + type: TYPE_TEXT + id: "property_button_small/text_name" + parent: "property_button_small/root" + overridden_fields: 4 + template_node_child: true +} +nodes { + size { + x: 40.0 + y: 40.0 + } + type: TYPE_BOX + id: "property_button_small/E_Anchor" + parent: "property_button_small/root" + overridden_fields: 4 + template_node_child: true +} +nodes { + position { + x: -20.0 + } + size { + x: 40.0 + y: 40.0 + } + type: TYPE_BOX + id: "property_button_small/button" + parent: "property_button_small/E_Anchor" + overridden_fields: 1 + overridden_fields: 4 + template_node_child: true +} +nodes { + size { + x: 40.0 + y: 4.0 + } + type: TYPE_BOX + id: "property_button_small/selected" + parent: "property_button_small/button" + overridden_fields: 4 + template_node_child: true +} +nodes { + size { + x: 40.0 + y: 50.0 + } + type: TYPE_TEXT + text: ">" + id: "property_button_small/text_button" + parent: "property_button_small/button" + overridden_fields: 4 + overridden_fields: 8 + template_node_child: true +} material: "/builtins/materials/gui.material" adjust_reference: ADJUST_REFERENCE_PARENT diff --git a/druid/widget/properties_panel/properties_panel.lua b/druid/widget/properties_panel/properties_panel.lua index 83c30af..25ff9a1 100644 --- a/druid/widget/properties_panel/properties_panel.lua +++ b/druid/widget/properties_panel/properties_panel.lua @@ -88,6 +88,7 @@ function M:init() gui.set_enabled(self:get_node("property_checkbox/root"), false) gui.set_enabled(self:get_node("property_slider/root"), false) gui.set_enabled(self:get_node("property_button/root"), false) + gui.set_enabled(self:get_node("property_button_small/root"), false) gui.set_enabled(self:get_node("property_input/root"), false) gui.set_enabled(self:get_node("property_text/root"), false) gui.set_enabled(self:get_node("property_left_right_selector/root"), false) @@ -254,6 +255,12 @@ function M:add_button(on_create) return self:add_inner_widget(property_button, "property_button", "root", on_create) end +---@param on_create fun(button: druid.widget.property_button)|nil +---@return druid.widget.properties_panel +function M:add_button_small(on_create) + return self:add_inner_widget(property_button, "property_button_small", "root", on_create) +end + ---@param on_create fun(input: druid.widget.property_input)|nil ---@return druid.widget.properties_panel @@ -378,6 +385,7 @@ function M:set_hidden(is_hidden) gui.set_enabled(self.text_header.node, not self._is_hidden) gui.set_enabled(self.content, not self._is_hidden) gui.set_enabled(self.button_refresh.node, not self._is_hidden) + gui.set_visible(self.button_back.node, not self._is_hidden) if not self._is_hidden then self.is_dirty = true