Add a tooltip text to overflowing ButtonWidget in hotkey settings panel
This commit is contained in:
committed by
abcdefg30
parent
ef0cb7552d
commit
86c8dfe96e
@@ -207,11 +207,11 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
|
|
||||||
public override void MouseEntered()
|
public override void MouseEntered()
|
||||||
{
|
{
|
||||||
if (TooltipContainer == null || GetTooltipText() == null)
|
if (TooltipContainer == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
tooltipContainer.Value.SetTooltip(TooltipTemplate,
|
if (GetTooltipText != null)
|
||||||
new WidgetArgs { { "button", this }, { "getText", GetTooltipText }, { "getDesc", GetTooltipDesc } });
|
tooltipContainer.Value.SetTooltip(TooltipTemplate, new WidgetArgs { { "button", this }, { "getText", GetTooltipText }, { "getDesc", GetTooltipDesc } });
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void MouseExited()
|
public override void MouseExited()
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
key.Get<LabelWidget>("FUNCTION").GetText = () => hd.Description + ":";
|
key.Get<LabelWidget>("FUNCTION").GetText = () => hd.Description + ":";
|
||||||
|
|
||||||
var remapButton = key.Get<ButtonWidget>("HOTKEY");
|
var remapButton = key.Get<ButtonWidget>("HOTKEY");
|
||||||
remapButton.GetText = () => manager[hd.Name].GetValue().DisplayString();
|
WidgetUtils.TruncateButtonToTooltip(remapButton, manager[hd.Name].GetValue().DisplayString());
|
||||||
|
|
||||||
if (manager.GetFirstDuplicate(hd.Name, manager[hd.Name].GetValue(), hd) != null)
|
if (manager.GetFirstDuplicate(hd.Name, manager[hd.Name].GetValue(), hd) != null)
|
||||||
remapButton.GetColor = () => ChromeMetrics.Get<Color>("HotkeyColorInvalid");
|
remapButton.GetColor = () => ChromeMetrics.Get<Color>("HotkeyColorInvalid");
|
||||||
@@ -171,7 +171,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
{
|
{
|
||||||
"onSave", () =>
|
"onSave", () =>
|
||||||
{
|
{
|
||||||
remapButton.GetText = () => manager[hd.Name].GetValue().DisplayString();
|
WidgetUtils.TruncateButtonToTooltip(remapButton, manager[hd.Name].GetValue().DisplayString());
|
||||||
remapButton.GetColor = () => ChromeMetrics.Get<Color>("ButtonTextColor");
|
remapButton.GetColor = () => ChromeMetrics.Get<Color>("ButtonTextColor");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -276,6 +276,18 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
else
|
else
|
||||||
label.GetTooltipText = null;
|
label.GetTooltipText = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void TruncateButtonToTooltip(ButtonWidget button, string text)
|
||||||
|
{
|
||||||
|
var truncatedText = TruncateText(text, button.Bounds.Width - button.LeftMargin - button.RightMargin, Game.Renderer.Fonts[button.Font]);
|
||||||
|
|
||||||
|
button.GetText = () => truncatedText;
|
||||||
|
|
||||||
|
if (text != truncatedText)
|
||||||
|
button.GetTooltipText = () => text;
|
||||||
|
else
|
||||||
|
button.GetTooltipText = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CachedTransform<T, U>
|
public class CachedTransform<T, U>
|
||||||
|
|||||||
Reference in New Issue
Block a user