From 1e78042b5668932698b75d24d20660c510851c78 Mon Sep 17 00:00:00 2001 From: Sir Mallard <73789875+SirMallard@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:22:29 +0100 Subject: [PATCH] Button Size argument. Added a size argument to button widgets which sets the minimum size of the Button, allowing for full width buttons. The text is also centered within the button. --- lib/WidgetTypes.lua | 1 + lib/widgets/Button.lua | 5 ++++- lib/widgets/init.lua | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/WidgetTypes.lua b/lib/WidgetTypes.lua index 1c9105e..be283bf 100644 --- a/lib/WidgetTypes.lua +++ b/lib/WidgetTypes.lua @@ -252,6 +252,7 @@ export type SeparatorText = Widget & { export type Button = Widget & { arguments: { Text: string?, + Size: UDim2?, }, } & Clicked & RightClicked & DoubleClicked & CtrlClicked & Hovered diff --git a/lib/widgets/Button.lua b/lib/widgets/Button.lua index 6a3a906..eb1845a 100644 --- a/lib/widgets/Button.lua +++ b/lib/widgets/Button.lua @@ -6,6 +6,7 @@ return function(Iris: Types.Internal, widgets: Types.WidgetUtility) hasChildren = false, Args = { ["Text"] = 1, + ["Size"] = 2, }, Events = { ["clicked"] = widgets.EVENTS.click(function(thisWidget: Types.Widget) @@ -30,9 +31,10 @@ return function(Iris: Types.Internal, widgets: Types.WidgetUtility) Button.BackgroundColor3 = Iris._config.ButtonColor Button.BackgroundTransparency = Iris._config.ButtonTransparency Button.AutoButtonColor = false + Button.AutomaticSize = Enum.AutomaticSize.XY widgets.applyTextStyle(Button) - Button.AutomaticSize = Enum.AutomaticSize.XY + Button.TextXAlignment = Enum.TextXAlignment.Center widgets.applyFrameStyle(Button) @@ -53,6 +55,7 @@ return function(Iris: Types.Internal, widgets: Types.WidgetUtility) Update = function(thisWidget: Types.Button) local Button = thisWidget.Instance :: TextButton Button.Text = thisWidget.arguments.Text or "Button" + Button.Size = thisWidget.arguments.Size or UDim2.fromOffset(0, 0) end, Discard = function(thisWidget: Types.Button) thisWidget.Instance:Destroy() diff --git a/lib/widgets/init.lua b/lib/widgets/init.lua index d68136a..f5d22d6 100644 --- a/lib/widgets/init.lua +++ b/lib/widgets/init.lua @@ -149,6 +149,7 @@ return function(Iris: Types.Internal) thisInstance.TextColor3 = Iris._config.TextColor thisInstance.TextTransparency = Iris._config.TextTransparency thisInstance.TextXAlignment = Enum.TextXAlignment.Left + thisInstance.TextYAlignment = Enum.TextYAlignment.Center thisInstance.RichText = Iris._config.RichText thisInstance.TextWrapped = Iris._config.TextWrapped