From 5b42100581f4b0653556779704ba2ee13a5527c1 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Fri, 23 Aug 2024 10:12:43 -0500 Subject: [PATCH 1/2] Moved material instance override opetions into setting button. --- .../Windows/Assets/MaterialInstanceWindow.cs | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs b/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs index 28a4273b3..6e1f4c86b 100644 --- a/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs +++ b/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs @@ -9,10 +9,12 @@ using FlaxEditor.CustomEditors; using FlaxEditor.CustomEditors.Editors; using FlaxEditor.CustomEditors.GUI; using FlaxEditor.GUI; +using FlaxEditor.GUI.ContextMenu; using FlaxEditor.Surface; using FlaxEditor.Viewport.Previews; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Windows.Assets { @@ -247,21 +249,9 @@ namespace FlaxEditor.Windows.Assets if (parameters.Length == 0) return; - // Utility buttons - { - var buttons = layout.CustomContainer(); - var gridControl = buttons.CustomControl; - gridControl.ClipChildren = false; - gridControl.Height = Button.DefaultHeight; - gridControl.SlotsHorizontally = 2; - gridControl.SlotsVertically = 1; - var rebuildButton = buttons.Button("Remove overrides", "Unchecks all overrides for parameters.").Button; - rebuildButton.Clicked += OnRemoveOverrides; - var removeButton = buttons.Button("Override all", "Checks all parameters overrides.").Button; - removeButton.Clicked += OnOverrideAll; - } - var parametersGroup = layout.Group("Parameters"); + var settingButton = parametersGroup.AddSettingsButton(); + settingButton.Clicked += (image, button) => OnSettingsButtonClicked(image, button, proxy.Window); var baseMaterial = materialInstance.BaseMaterial; var material = baseMaterial; if (material) @@ -323,6 +313,19 @@ namespace FlaxEditor.Windows.Assets itemLayout.Property(label, valueContainer, null, e.Tooltip?.Text); }); } + + private void OnSettingsButtonClicked(Image image, MouseButton mouseButton, MaterialInstanceWindow window) + { + if (mouseButton != MouseButton.Left) + return; + + var cm = new ContextMenu(); + if (window != null) + cm.AddButton("Revert All Parameters", window.OnRevertAllParameters).TooltipText = "Reverts all the overridden parameters to the default values."; + cm.AddButton("Override All Parameters", OnOverrideAll).TooltipText = "Checks all parameters overrides."; + cm.AddButton("Remove Parameter Overrides", OnRemoveOverrides).TooltipText = "Unchecks all overrides for parameters."; + cm.Show(image, image.Size); + } private void OnRemoveOverrides() { From 9c31a35f6b79afd4125d1441154c82f05bd1f536 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Fri, 23 Aug 2024 10:24:05 -0500 Subject: [PATCH 2/2] Remove revert button. --- Source/Editor/Windows/Assets/MaterialInstanceWindow.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs b/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs index 6e1f4c86b..fa2dba572 100644 --- a/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs +++ b/Source/Editor/Windows/Assets/MaterialInstanceWindow.cs @@ -392,8 +392,6 @@ namespace FlaxEditor.Windows.Assets _undoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Undo64, _undo.PerformUndo).LinkTooltip($"Undo ({inputOptions.Undo})"); _redoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Redo64, _undo.PerformRedo).LinkTooltip($"Redo ({inputOptions.Redo})"); _toolstrip.AddSeparator(); - _toolstrip.AddButton(Editor.Icons.Rotate64, OnRevertAllParameters).LinkTooltip("Revert all the parameters to the default values"); - _toolstrip.AddSeparator(); _toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/graphics/materials/instanced-materials/index.html")).LinkTooltip("See documentation to learn more"); // Split Panel