diff --git a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs index f8dbf03a9..6a2986d2b 100644 --- a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs @@ -95,19 +95,7 @@ namespace FlaxEditor.CustomEditors.Dedicated { if (actor != null) group.Panel.TooltipText = Surface.SurfaceUtils.GetVisualScriptTypeDescription(TypeUtils.GetObjectType(actor)); - float settingsButtonSize = group.Panel.HeaderHeight; - var settingsButton = new Image - { - TooltipText = "Settings", - AutoFocus = true, - AnchorPreset = AnchorPresets.TopRight, - Parent = group.Panel, - Bounds = new Rectangle(group.Panel.Width - settingsButtonSize, 0, settingsButtonSize, settingsButtonSize), - IsScrollable = false, - Color = FlaxEngine.GUI.Style.Current.ForegroundGrey, - Margin = new Margin(1), - Brush = new SpriteBrush(FlaxEngine.GUI.Style.Current.Settings), - }; + var settingsButton = group.AddSettingsButton(); settingsButton.Clicked += OnSettingsButtonClicked; break; } diff --git a/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs b/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs index 5cc32298e..41dc1dc08 100644 --- a/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs @@ -463,20 +463,8 @@ namespace FlaxEditor.CustomEditors.Dedicated var group = layout.Group("Missing script"); // Add settings button to the group - const float settingsButtonSize = 14; - var settingsButton = new Image - { - TooltipText = "Settings", - AutoFocus = true, - AnchorPreset = AnchorPresets.TopRight, - Parent = group.Panel, - Bounds = new Rectangle(group.Panel.Width - settingsButtonSize, 0, settingsButtonSize, settingsButtonSize), - IsScrollable = false, - Color = FlaxEngine.GUI.Style.Current.ForegroundGrey, - Margin = new Margin(1), - Brush = new SpriteBrush(FlaxEngine.GUI.Style.Current.Settings), - Tag = index, - }; + var settingsButton = group.AddSettingsButton(); + settingsButton.Tag = index; settingsButton.Clicked += MissingSettingsButtonOnClicked; } @@ -666,19 +654,8 @@ namespace FlaxEditor.CustomEditors.Dedicated }; // Add settings button to the group - var settingsButton = new Image - { - TooltipText = "Settings", - AutoFocus = true, - AnchorPreset = AnchorPresets.TopRight, - Parent = group.Panel, - Bounds = new Rectangle(group.Panel.Width - headerHeight, 0, headerHeight, headerHeight), - IsScrollable = false, - Color = FlaxEngine.GUI.Style.Current.ForegroundGrey, - Margin = new Margin(1), - Brush = new SpriteBrush(FlaxEngine.GUI.Style.Current.Settings), - Tag = script, - }; + var settingsButton = group.AddSettingsButton(); + settingsButton.Tag = script; settingsButton.Clicked += OnSettingsButtonClicked; group.Panel.HeaderTextMargin = new Margin(scriptDrag.Right - 12, 15, 2, 2); diff --git a/Source/Editor/CustomEditors/Elements/Container/GroupElement.cs b/Source/Editor/CustomEditors/Elements/Container/GroupElement.cs index e0ae259ec..2b9940cac 100644 --- a/Source/Editor/CustomEditors/Elements/Container/GroupElement.cs +++ b/Source/Editor/CustomEditors/Elements/Container/GroupElement.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. +using FlaxEngine; using FlaxEngine.GUI; namespace FlaxEditor.CustomEditors.Elements @@ -25,5 +26,27 @@ namespace FlaxEditor.CustomEditors.Elements /// public override ContainerControl ContainerControl => Panel; + + /// + /// Adds utility settings button to the group header. + /// + /// The created control. + public Image AddSettingsButton() + { + var style = Style.Current; + var settingsButtonSize = Panel.HeaderHeight; + return new Image + { + TooltipText = "Settings", + AutoFocus = true, + AnchorPreset = AnchorPresets.TopRight, + Parent = Panel, + Bounds = new Rectangle(Panel.Width - settingsButtonSize, 0, settingsButtonSize, settingsButtonSize), + IsScrollable = false, + Color = style.ForegroundGrey, + Margin = new Margin(1), + Brush = new SpriteBrush(style.Settings), + }; + } } }