diff --git a/Source/Editor/CustomEditors/Editors/GenericEditor.cs b/Source/Editor/CustomEditors/Editors/GenericEditor.cs index 4ca761634..a7ea235f2 100644 --- a/Source/Editor/CustomEditors/Editors/GenericEditor.cs +++ b/Source/Editor/CustomEditors/Editors/GenericEditor.cs @@ -715,7 +715,7 @@ namespace FlaxEditor.CustomEditors.Editors // Header if (item.Header != null) - itemLayout.Header(item.Header.Text); + itemLayout.Header(item.Header); try { diff --git a/Source/Editor/CustomEditors/LayoutElementsContainer.cs b/Source/Editor/CustomEditors/LayoutElementsContainer.cs index 0c9b01942..29d7cf359 100644 --- a/Source/Editor/CustomEditors/LayoutElementsContainer.cs +++ b/Source/Editor/CustomEditors/LayoutElementsContainer.cs @@ -274,6 +274,16 @@ namespace FlaxEditor.CustomEditors return element; } + internal LabelElement Header(HeaderAttribute header) + { + var element = Header(header.Text); + if (header.FontSize != -1) + element.Label.Font = new FontReference(element.Label.Font.Font, header.FontSize); + if (header.Color != 0) + element.Label.TextColor = Color.FromRGBA(header.Color); + return element; + } + /// /// Adds new text box element. /// diff --git a/Source/Editor/Surface/SurfaceUtils.cs b/Source/Editor/Surface/SurfaceUtils.cs index 014459694..d53049b16 100644 --- a/Source/Editor/Surface/SurfaceUtils.cs +++ b/Source/Editor/Surface/SurfaceUtils.cs @@ -317,7 +317,7 @@ namespace FlaxEditor.Surface // Header if (e.Header != null) - itemLayout.Header(e.Header.Text); + itemLayout.Header(e.Header); // Values container var valueType = new ScriptType(e.Type); diff --git a/Source/Editor/Surface/VisjectSurfaceWindow.cs b/Source/Editor/Surface/VisjectSurfaceWindow.cs index 6ae949000..733cd2682 100644 --- a/Source/Editor/Surface/VisjectSurfaceWindow.cs +++ b/Source/Editor/Surface/VisjectSurfaceWindow.cs @@ -410,7 +410,7 @@ namespace FlaxEditor.Surface // Header var header = (HeaderAttribute)attributes.FirstOrDefault(x => x is HeaderAttribute); if (header != null) - itemLayout.Header(header.Text); + itemLayout.Header(header); var propertyValue = new CustomValueContainer ( diff --git a/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs b/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs index e994fe26a..3f0ce57d0 100644 --- a/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs +++ b/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs @@ -17,6 +17,16 @@ namespace FlaxEngine /// public string Text; + /// + /// The custom header font size. + /// + public int FontSize; + + /// + /// The custom header color (as 32-bit uint). + /// + public uint Color; + private HeaderAttribute() { } @@ -25,9 +35,13 @@ namespace FlaxEngine /// Initializes a new instance of the class. /// /// The header text. - public HeaderAttribute(string text) + /// The header text font size (-1 to use default which is 14). + /// The header color (as 32-bit uint, 0 to use default). + public HeaderAttribute(string text, int fontSize = -1, uint color = 0) { Text = text; + FontSize = fontSize; + Color = color; } } }