Add helper tooltips for Scene Animation actions UI
This commit is contained in:
@@ -96,14 +96,7 @@ namespace FlaxEditor.CustomEditors.Editors
|
||||
// Update tooltip
|
||||
if (_value is SceneObject sceneObject)
|
||||
{
|
||||
var str = sceneObject is Actor actor ? actor.Name : type.Name;
|
||||
var o = sceneObject.Parent;
|
||||
while (o)
|
||||
{
|
||||
str = o.Name + " -> " + str;
|
||||
o = o.Parent;
|
||||
}
|
||||
TooltipText = str;
|
||||
TooltipText = Utilities.Utils.GetTooltip(sceneObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -76,14 +76,7 @@ namespace FlaxEditor.CustomEditors.Editors
|
||||
if (_value)
|
||||
{
|
||||
_valueName = _value.Name;
|
||||
TooltipText = _value.TypeName;
|
||||
|
||||
var attributes = _value.GetAttributes(false);
|
||||
var tooltipAttribute = (TooltipAttribute)attributes.FirstOrDefault(x => x is TooltipAttribute);
|
||||
if (tooltipAttribute != null)
|
||||
{
|
||||
TooltipText += "\n" + tooltipAttribute.Text;
|
||||
}
|
||||
TooltipText = Surface.SurfaceUtils.GetVisualScriptTypeDescription(_value);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks
|
||||
{
|
||||
if (selection.Count == 1 && selection[0] is ActorNode actorNode && actorNode.Actor && IsActorValid(actorNode.Actor))
|
||||
{
|
||||
menu.AddButton("Select " + actorNode.Actor, OnClickedSelectActor);
|
||||
menu.AddButton("Select " + actorNode.Actor, OnClickedSelectActor).TooltipText = Utilities.Utils.GetTooltip(actorNode.Actor);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ using System.Reflection;
|
||||
using System.Text;
|
||||
using FlaxEditor.CustomEditors;
|
||||
using FlaxEditor.GUI.ContextMenu;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
|
||||
@@ -197,8 +198,8 @@ namespace FlaxEditor.GUI.Timeline.Tracks
|
||||
AddMemberTag tag;
|
||||
tag.Member = m;
|
||||
tag.Archetype = EventTrack.GetArchetype();
|
||||
|
||||
menu.AddButton(sb.ToString(), OnAddMemberTrack).Tag = tag;
|
||||
var tooltip = Surface.SurfaceUtils.GetVisualScriptMemberInfoDescription(new ScriptMemberInfo(m));
|
||||
menu.AddButton(sb.ToString(), OnAddMemberTrack).LinkTooltip(tooltip).Tag = tag;
|
||||
count++;
|
||||
}
|
||||
|
||||
@@ -295,7 +296,8 @@ namespace FlaxEditor.GUI.Timeline.Tracks
|
||||
AddMemberTag tag;
|
||||
tag.Member = m;
|
||||
tag.Archetype = archetype;
|
||||
menu.AddButton(name + " " + m.Name, OnAddMemberTrack).Tag = tag;
|
||||
var tooltip = Surface.SurfaceUtils.GetVisualScriptMemberInfoDescription(new ScriptMemberInfo(m));
|
||||
menu.AddButton(name + " " + m.Name, OnAddMemberTrack).LinkTooltip(tooltip).Tag = tag;
|
||||
count++;
|
||||
}
|
||||
|
||||
|
||||
@@ -122,10 +122,7 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
GetBox(0).CurrentType = type;
|
||||
Title = (_isUnpacking ? "Unpack " : "Pack ") + type.Name;
|
||||
var attributes = type.GetAttributes(false);
|
||||
var tooltipAttribute = (TooltipAttribute)attributes.FirstOrDefault(x => x is TooltipAttribute);
|
||||
if (tooltipAttribute != null)
|
||||
TooltipText += "\n" + tooltipAttribute.Text;
|
||||
TooltipText = SurfaceUtils.GetVisualScriptTypeDescription(type);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -427,6 +427,22 @@ namespace FlaxEditor.Surface
|
||||
return !TypeUtils.IsDelegate(managedType);
|
||||
}
|
||||
|
||||
internal static string GetVisualScriptTypeDescription(ScriptType type)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
if (type.IsStatic)
|
||||
sb.Append("static ");
|
||||
else if (type.IsAbstract)
|
||||
sb.Append("abstract ");
|
||||
sb.Append(type.TypeName);
|
||||
|
||||
var attributes = type.GetAttributes(false);
|
||||
var tooltipAttribute = (TooltipAttribute)attributes.FirstOrDefault(x => x is TooltipAttribute);
|
||||
if (tooltipAttribute != null)
|
||||
sb.Append("\n").Append(tooltipAttribute.Text);
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
internal static string GetVisualScriptMemberInfoDescription(ScriptMemberInfo member)
|
||||
{
|
||||
var name = member.Name;
|
||||
|
||||
@@ -76,6 +76,18 @@ namespace FlaxEditor.Utilities
|
||||
return string.Format("{0:0.##} {1}", bytes, MemorySizePostfixes[order]);
|
||||
}
|
||||
|
||||
internal static string GetTooltip(SceneObject obj)
|
||||
{
|
||||
var str = obj is Actor actor ? actor.Name : TypeUtils.GetObjectType(obj).Name;
|
||||
var o = obj.Parent;
|
||||
while (o)
|
||||
{
|
||||
str = o.Name + " -> " + str;
|
||||
o = o.Parent;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The colors for the keyframes used by the curve editor.
|
||||
/// </summary>
|
||||
|
||||
@@ -204,14 +204,7 @@ namespace FlaxEditor.Windows
|
||||
continue;
|
||||
|
||||
var item = _groupSearch.AddChild(CreateActorItem(CustomEditors.CustomEditorsUtil.GetPropertyNameUI(text), actorType));
|
||||
item.TooltipText = actorType.TypeName;
|
||||
var attributes = actorType.GetAttributes(false);
|
||||
var tooltipAttribute = (TooltipAttribute)attributes.FirstOrDefault(x => x is TooltipAttribute);
|
||||
if (tooltipAttribute != null)
|
||||
{
|
||||
item.TooltipText += '\n';
|
||||
item.TooltipText += tooltipAttribute.Text;
|
||||
}
|
||||
item.TooltipText = Surface.SurfaceUtils.GetVisualScriptTypeDescription(actorType);
|
||||
|
||||
var highlights = new List<Rectangle>(ranges.Length);
|
||||
var style = Style.Current;
|
||||
|
||||
Reference in New Issue
Block a user