Merge branch 'xxSeys1-improvedImportPath'

This commit is contained in:
Wojtek Figat
2025-05-08 14:38:25 +02:00
8 changed files with 28 additions and 21 deletions

View File

@@ -54,7 +54,8 @@ public class ModelPrefabEditor : GenericEditor
} }
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, modelPrefab.ImportPath, false); var group = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(group, modelPrefab.ImportPath, false);
var button = layout.Button("Reimport", "Reimports the source asset as prefab."); var button = layout.Button("Reimport", "Reimports the source asset as prefab.");
_reimportButton = button.Button; _reimportButton = button.Button;

View File

@@ -402,7 +402,7 @@ namespace FlaxEditor.Utilities
/// <summary> /// <summary>
/// Creates an Import path ui that show the asset import path and adds a button to show the folder in the file system. /// Creates an Import path ui that show the asset import path and adds a button to show the folder in the file system.
/// </summary> /// </summary>
/// <param name="parentLayout">The parent layout container.</param> /// <param name="parentLayout">The parent layout element.</param>
/// <param name="assetItem">The asset item to get the import path of.</param> /// <param name="assetItem">The asset item to get the import path of.</param>
public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, Content.BinaryAssetItem assetItem) public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, Content.BinaryAssetItem assetItem)
{ {
@@ -413,7 +413,7 @@ namespace FlaxEditor.Utilities
/// <summary> /// <summary>
/// Creates an Import path ui that show the import path and adds a button to show the folder in the file system. /// Creates an Import path ui that show the import path and adds a button to show the folder in the file system.
/// </summary> /// </summary>
/// <param name="parentLayout">The parent layout container.</param> /// <param name="parentLayout">The parent layout element.</param>
/// <param name="path">The import path.</param> /// <param name="path">The import path.</param>
/// <param name="useInitialSpacing">Whether to use an initial layout space of 5 for separation.</param> /// <param name="useInitialSpacing">Whether to use an initial layout space of 5 for separation.</param>
public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, string path, bool useInitialSpacing = true) public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, string path, bool useInitialSpacing = true)
@@ -421,13 +421,11 @@ namespace FlaxEditor.Utilities
if (!string.IsNullOrEmpty(path)) if (!string.IsNullOrEmpty(path))
{ {
if (useInitialSpacing) if (useInitialSpacing)
parentLayout.Space(5); parentLayout.Space(0);
parentLayout.Label("Import Path:").Label.TooltipText = "Source asset path (can be relative or absolute to the project)";
var textBox = parentLayout.TextBox().TextBox; var textBox = parentLayout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here."; textBox.TooltipText = "Source asset path. Can be relative or absolute to the project. Path is not editable here.";
textBox.IsReadOnly = true; textBox.IsReadOnly = true;
textBox.Text = path; textBox.Text = path;
parentLayout.Space(2);
var button = parentLayout.Button(Constants.ShowInExplorer).Button; var button = parentLayout.Button(Constants.ShowInExplorer).Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path)); button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
} }

View File

@@ -231,7 +231,8 @@ namespace FlaxEditor.Windows.Assets
group.Object(importSettingsValues); group.Object(importSettingsValues);
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy.Window.Item as BinaryAssetItem); group = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(group, proxy.Window.Item as BinaryAssetItem);
layout.Space(5); layout.Space(5);
var reimportButton = layout.Button("Reimport"); var reimportButton = layout.Button("Reimport");

View File

@@ -6,6 +6,7 @@ using FlaxEditor.Content.Import;
using FlaxEditor.CustomEditors; using FlaxEditor.CustomEditors;
using FlaxEditor.CustomEditors.Editors; using FlaxEditor.CustomEditors.Editors;
using FlaxEditor.GUI; using FlaxEditor.GUI;
using FlaxEditor.Scripting;
using FlaxEditor.Viewport.Previews; using FlaxEditor.Viewport.Previews;
using FlaxEngine; using FlaxEngine;
using FlaxEngine.GUI; using FlaxEngine.GUI;
@@ -76,7 +77,8 @@ namespace FlaxEditor.Windows.Assets
{ {
public override void Initialize(LayoutElementsContainer layout) public override void Initialize(LayoutElementsContainer layout)
{ {
var window = ((PropertiesProxy)Values[0])._window; var proxy = ((PropertiesProxy)Values[0]);
var window = proxy._window;
if (window == null) if (window == null)
{ {
layout.Label("Loading...", TextAlignment.Center); layout.Label("Loading...", TextAlignment.Center);
@@ -101,7 +103,8 @@ namespace FlaxEditor.Windows.Assets
base.Initialize(layout); base.Initialize(layout);
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem); var pathGroup = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(pathGroup, window.Item as BinaryAssetItem);
layout.Space(5); layout.Space(5);
var reimportButton = layout.Button("Reimport"); var reimportButton = layout.Button("Reimport");

View File

@@ -55,10 +55,11 @@ namespace FlaxEditor.Windows.Assets
base.Initialize(layout); base.Initialize(layout);
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem); var pathGroup = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(pathGroup, window.Item as BinaryAssetItem);
layout.Space(5); pathGroup.Space(5);
var reimportButton = layout.Button("Reimport"); var reimportButton = pathGroup.Button("Reimport");
reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport(); reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport();
} }
} }

View File

@@ -754,17 +754,18 @@ namespace FlaxEditor.Windows.Assets
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset)) if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return; return;
var group = layout.Group("Import Settings"); var importSettingsGroup = layout.Group("Import Settings");
var importSettingsField = typeof(ImportPropertiesProxyBase).GetField(nameof(ImportSettings), BindingFlags.NonPublic | BindingFlags.Instance); var importSettingsField = typeof(ImportPropertiesProxyBase).GetField(nameof(ImportSettings), BindingFlags.NonPublic | BindingFlags.Instance);
var importSettingsValues = new ValueContainer(new ScriptMemberInfo(importSettingsField)) { proxy.ImportSettings }; var importSettingsValues = new ValueContainer(new ScriptMemberInfo(importSettingsField)) { proxy.ImportSettings };
group.Object(importSettingsValues); importSettingsGroup.Object(importSettingsValues);
importSettingsGroup.Space(3);
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy.Window.Item as BinaryAssetItem); var group = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(group, proxy.Window.Item as BinaryAssetItem);
layout.Space(5); var reimportButton = importSettingsGroup.Button("Reimport");
var reimportButton = group.Button("Reimport");
reimportButton.Button.Clicked += () => ((ImportPropertiesProxyBase)Values[0]).Reimport(); reimportButton.Button.Clicked += () => ((ImportPropertiesProxyBase)Values[0]).Reimport();
} }
} }

View File

@@ -119,9 +119,10 @@ namespace FlaxEditor.Windows.Assets
} }
base.Initialize(layout); base.Initialize(layout);
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem); var group = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(group, proxy._window.Item as BinaryAssetItem);
layout.Space(5); layout.Space(5);
var reimportButton = layout.Button("Reimport"); var reimportButton = layout.Button("Reimport");

View File

@@ -143,7 +143,8 @@ namespace FlaxEditor.Windows.Assets
base.Initialize(layout); base.Initialize(layout);
// Creates the import path UI // Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem); var group = layout.Group("Import Path");
Utilities.Utils.CreateImportPathUI(group, proxy._window.Item as BinaryAssetItem);
// Reimport // Reimport
layout.Space(5); layout.Space(5);