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),
+ };
+ }
}
}