diff --git a/druid/widget/properties_panel/properties/property_button.lua b/druid/widget/properties_panel/properties/property_button.lua index 61b91e2..34c21ce 100644 --- a/druid/widget/properties_panel/properties/property_button.lua +++ b/druid/widget/properties_panel/properties/property_button.lua @@ -50,6 +50,14 @@ function M:set_text_button(text) end +---@param enabled boolean +---@return druid.widget.property_button +function M:set_enabled(enabled) + self.button:set_enabled(enabled) + return self +end + + function M:set_color(color_value) color.set_color(self:get_node("button"), color_value) end diff --git a/druid/widget/properties_panel/properties/property_checkbox.lua b/druid/widget/properties_panel/properties/property_checkbox.lua index 71179c3..d267f2a 100644 --- a/druid/widget/properties_panel/properties/property_checkbox.lua +++ b/druid/widget/properties_panel/properties/property_checkbox.lua @@ -73,4 +73,11 @@ function M:on_change(callback) end +---Set the enabled state of the checkbox +---@param enabled boolean +function M:set_enabled(enabled) + self.button:set_enabled(enabled) +end + + return M diff --git a/druid/widget/properties_panel/properties_panel.lua b/druid/widget/properties_panel/properties_panel.lua index 8709000..a29bf35 100644 --- a/druid/widget/properties_panel/properties_panel.lua +++ b/druid/widget/properties_panel/properties_panel.lua @@ -329,6 +329,12 @@ function M:remove(widget) end +---Force to refresh properties next update +function M:set_dirty() + self.is_dirty = true +end + + function M:set_hidden(is_hidden) self._is_hidden = is_hidden local hidden_size = gui.get_size(self:get_node("header"))