Add tooltips to overflowing labels

This commit is contained in:
Ivaylo Draganov
2019-05-25 22:21:06 +03:00
committed by abcdefg30
parent 1fee50be2e
commit fde215360c
23 changed files with 91 additions and 30 deletions

View File

@@ -287,7 +287,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
() => currentFilename == filepath && currentPackage == package, () => currentFilename == filepath && currentPackage == package,
() => { LoadAsset(package, filepath); }); () => { LoadAsset(package, filepath); });
item.Get<LabelWidget>("TITLE").GetText = () => filepath; var label = item.Get<LabelWithTooltipWidget>("TITLE");
WidgetUtils.TruncateLabelToTooltip(label, filepath);
item.IsVisible = () => item.IsVisible = () =>
{ {
bool visible; bool visible;

View File

@@ -201,7 +201,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
item.OnDoubleClick = Load; item.OnDoubleClick = Load;
var title = Path.GetFileNameWithoutExtension(savePath); var title = Path.GetFileNameWithoutExtension(savePath);
item.Get<LabelWidget>("TITLE").GetText = () => title; var label = item.Get<LabelWithTooltipWidget>("TITLE");
WidgetUtils.TruncateLabelToTooltip(label, title);
var date = File.GetLastWriteTime(savePath).ToString("yyyy-MM-dd HH:mm:ss"); var date = File.GetLastWriteTime(savePath).ToString("yyyy-MM-dd HH:mm:ss");
item.Get<LabelWidget>("DATE").GetText = () => date; item.Get<LabelWidget>("DATE").GetText = () => date;

View File

@@ -192,7 +192,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
() => SelectMap(preview), () => SelectMap(preview),
StartMissionClicked); StartMissionClicked);
item.Get<LabelWidget>("TITLE").GetText = () => preview.Title; var label = item.Get<LabelWithTooltipWidget>("TITLE");
WidgetUtils.TruncateLabelToTooltip(label, preview.Title);
missionList.AddChild(item); missionList.AddChild(item);
} }
} }

View File

@@ -135,7 +135,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
foreach (var song in music) foreach (var song in music)
{ {
var item = ScrollItemWidget.Setup(song.Filename, itemTemplate, () => currentSong == song, () => { currentSong = song; Play(); }, () => { }); var item = ScrollItemWidget.Setup(song.Filename, itemTemplate, () => currentSong == song, () => { currentSong = song; Play(); }, () => { });
item.Get<LabelWidget>("TITLE").GetText = () => song.Title; var label = item.Get<LabelWithTooltipWidget>("TITLE");
WidgetUtils.TruncateLabelToTooltip(label, song.Title);
item.Get<LabelWidget>("LENGTH").GetText = () => SongLengthLabel(song); item.Get<LabelWidget>("LENGTH").GetText = () => SongLengthLabel(song);
musicList.AddChild(item); musicList.AddChild(item);
} }

View File

@@ -709,7 +709,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}; };
item.Text = Path.GetFileNameWithoutExtension(replay.FilePath); item.Text = Path.GetFileNameWithoutExtension(replay.FilePath);
item.Get<LabelWidget>("TITLE").GetText = () => item.Text; var label = item.Get<LabelWithTooltipWidget>("TITLE");
WidgetUtils.TruncateLabelToTooltip(label, item.Text);
item.IsVisible = () => replayState[replay].Visible; item.IsVisible = () => replayState[replay].Visible;
replayList.AddChild(item); replayList.AddChild(item);
} }

View File

@@ -594,12 +594,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var canJoin = game.IsJoinable; var canJoin = game.IsJoinable;
var item = ScrollItemWidget.Setup(serverTemplate, () => currentServer == game, () => SelectServer(game), () => onJoin(game)); var item = ScrollItemWidget.Setup(serverTemplate, () => currentServer == game, () => SelectServer(game), () => onJoin(game));
var title = item.GetOrNull<LabelWidget>("TITLE"); var title = item.GetOrNull<LabelWithTooltipWidget>("TITLE");
if (title != null) if (title != null)
{ {
var font = Game.Renderer.Fonts[title.Font]; WidgetUtils.TruncateLabelToTooltip(title, game.Name);
var label = WidgetUtils.TruncateText(game.Name, title.Bounds.Width, font);
title.GetText = () => label;
title.GetColor = () => canJoin ? title.TextColor : incompatibleGameColor; title.GetColor = () => canJoin ? title.TextColor : incompatibleGameColor;
} }

View File

@@ -48,11 +48,14 @@ Container@ASSETBROWSER_PANEL:
X: 2 X: 2
Y: 0 Y: 0
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 15 Width: PARENT_RIGHT - 15
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@FILENAME_DESC: Label@FILENAME_DESC:
X: 15 X: 15
Y: 340 Y: 340
@@ -200,3 +203,4 @@ Container@ASSETBROWSER_PANEL:
Width: 140 Width: 140
Height: 35 Height: 35
Text: Back Text: Back
TooltipContainer@TOOLTIP_CONTAINER:

View File

@@ -48,11 +48,14 @@ Container@GAMESAVE_BROWSER_PANEL:
Height: 25 Height: 25
X: 2 X: 2
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 200 - 10 Width: PARENT_RIGHT - 200 - 10
Height: 25 Height: 25
TooltipContainer: GAMESAVE_TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@DATE: Label@DATE:
X: PARENT_RIGHT - WIDTH - 10 X: PARENT_RIGHT - WIDTH - 10
Width: 200 Width: 200
@@ -112,4 +115,4 @@ Container@GAMESAVE_BROWSER_PANEL:
Height: 35 Height: 35
Text: Save Text: Save
Visible: False Visible: False
TooltipContainer@TOOLTIP_CONTAINER: TooltipContainer@GAMESAVE_TOOLTIP_CONTAINER:

View File

@@ -154,11 +154,14 @@ Container@LOBBY_MUSIC_BIN:
Height: 25 Height: 25
X: 2 X: 2
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 50 Width: PARENT_RIGHT - 50
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@LENGTH: Label@LENGTH:
X: PARENT_RIGHT - 60 X: PARENT_RIGHT - 60
Width: 50 Width: 50

View File

@@ -85,10 +85,12 @@ Container@LOBBY_SERVERS_BIN:
X: 2 X: 2
EnableChildMouseOver: True EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 5 X: 5
Width: 245 Width: 245
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Image@PASSWORD_PROTECTED: Image@PASSWORD_PROTECTED:
X: 272 X: 272
Y: 6 Y: 6

View File

@@ -39,11 +39,14 @@ Container@MISSIONBROWSER_PANEL:
Height: 25 Height: 25
X: 2 X: 2
Visible: False Visible: False
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 20 Width: PARENT_RIGHT - 20
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Container@MISSION_INFO: Container@MISSION_INFO:
X: 337 X: 337
Y: 15 Y: 15
@@ -148,6 +151,7 @@ Container@MISSIONBROWSER_PANEL:
Y: 1 Y: 1
Width: 712 Width: 712
Height: 418 Height: 418
TooltipContainer@TOOLTIP_CONTAINER:
Background@FULLSCREEN_PLAYER: Background@FULLSCREEN_PLAYER:
Width: WINDOW_RIGHT Width: WINDOW_RIGHT

View File

@@ -106,10 +106,12 @@ Container@MULTIPLAYER_PANEL:
X: 2 X: 2
EnableChildMouseOver: True EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 5 X: 5
Width: 245 Width: 245
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Image@PASSWORD_PROTECTED: Image@PASSWORD_PROTECTED:
X: 272 X: 272
Y: 6 Y: 6

View File

@@ -30,11 +30,14 @@ Container@MUSIC_PANEL:
X: 2 X: 2
Y: 0 Y: 0
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 50 Width: PARENT_RIGHT - 50
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@LENGTH: Label@LENGTH:
Width: 50 Width: 50
X: PARENT_RIGHT - 60 X: PARENT_RIGHT - 60
@@ -192,3 +195,4 @@ Container@MUSIC_PANEL:
Width: 300 Width: 300
Height: 20 Height: 20
Font: Small Font: Small
TooltipContainer@TOOLTIP_CONTAINER:

View File

@@ -167,7 +167,7 @@ Container@REPLAYBROWSER_PANEL:
Container@REPLAY_LIST_CONTAINER: Container@REPLAY_LIST_CONTAINER:
X: 310 X: 310
Y: 20 Y: 20
Width: 245 Width: 250
Height: PARENT_BOTTOM - 20 - 20 Height: PARENT_BOTTOM - 20 - 20
Children: Children:
Label@REPLAYBROWSER_LABEL_TITLE: Label@REPLAYBROWSER_LABEL_TITLE:
@@ -188,11 +188,14 @@ Container@REPLAYBROWSER_PANEL:
Height: 25 Height: 25
X: 2 X: 2
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 20 Width: PARENT_RIGHT - 20
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Container@MAP_PREVIEW_ROOT: Container@MAP_PREVIEW_ROOT:
X: PARENT_RIGHT - WIDTH - 20 X: PARENT_RIGHT - WIDTH - 20
Y: 50 Y: 50

View File

@@ -43,11 +43,14 @@ Background@ASSETBROWSER_PANEL:
X: 2 X: 2
Y: 0 Y: 0
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 20 Width: PARENT_RIGHT - 20
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@FILENAME_DESC: Label@FILENAME_DESC:
X: 20 X: 20
Y: 370 Y: 370
@@ -203,3 +206,4 @@ Background@ASSETBROWSER_PANEL:
Height: 25 Height: 25
Font: Bold Font: Bold
Text: Close Text: Close
TooltipContainer@TOOLTIP_CONTAINER:

View File

@@ -43,11 +43,14 @@ Background@GAMESAVE_BROWSER_PANEL:
Height: 25 Height: 25
X: 2 X: 2
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 200 - 10 Width: PARENT_RIGHT - 200 - 10
Height: 25 Height: 25
TooltipContainer: GAMESAVE_TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@DATE: Label@DATE:
X: PARENT_RIGHT - WIDTH - 10 X: PARENT_RIGHT - WIDTH - 10
Width: 200 Width: 200
@@ -113,4 +116,4 @@ Background@GAMESAVE_BROWSER_PANEL:
Text: Save Text: Save
Font: Bold Font: Bold
Visible: False Visible: False
TooltipContainer@TOOLTIP_CONTAINER: TooltipContainer@GAMESAVE_TOOLTIP_CONTAINER:

View File

@@ -144,11 +144,14 @@ Container@LOBBY_MUSIC_BIN:
Height: 25 Height: 25
X: 2 X: 2
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 50 Width: PARENT_RIGHT - 50
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@LENGTH: Label@LENGTH:
X: PARENT_RIGHT - 60 X: PARENT_RIGHT - 60
Width: 50 Width: 50

View File

@@ -82,10 +82,12 @@ Container@LOBBY_SERVERS_BIN:
Height: 25 Height: 25
EnableChildMouseOver: True EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 5 X: 5
Width: 245 Width: 245
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Image@PASSWORD_PROTECTED: Image@PASSWORD_PROTECTED:
X: 272 X: 272
Y: 6 Y: 6

View File

@@ -34,11 +34,14 @@ Background@MISSIONBROWSER_PANEL:
Width: PARENT_RIGHT - 27 Width: PARENT_RIGHT - 27
Height: 25 Height: 25
X: 2 X: 2
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 20 Width: PARENT_RIGHT - 20
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Container@MISSION_INFO: Container@MISSION_INFO:
X: 300 X: 300
Y: 50 Y: 50
@@ -149,6 +152,7 @@ Background@MISSIONBROWSER_PANEL:
Y: 1 Y: 1
Width: 640 Width: 640
Height: 375 Height: 375
TooltipContainer@TOOLTIP_CONTAINER:
Background@FULLSCREEN_PLAYER: Background@FULLSCREEN_PLAYER:
Width: WINDOW_RIGHT Width: WINDOW_RIGHT

View File

@@ -98,10 +98,12 @@ Background@MULTIPLAYER_PANEL:
Height: 25 Height: 25
EnableChildMouseOver: True EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 5 X: 5
Width: 245 Width: 245
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Image@PASSWORD_PROTECTED: Image@PASSWORD_PROTECTED:
X: 272 X: 272
Y: 6 Y: 6

View File

@@ -18,11 +18,14 @@ Background@MUSIC_PANEL:
X: 2 X: 2
Y: 0 Y: 0
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 50 Width: PARENT_RIGHT - 50
Height: 25 Height: 25
TooltipContainer: MUSIC_TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@LENGTH: Label@LENGTH:
Width: 50 Width: 50
X: PARENT_RIGHT - 60 X: PARENT_RIGHT - 60
@@ -180,3 +183,4 @@ Background@MUSIC_PANEL:
Width: 300 Width: 300
Height: 20 Height: 20
Font: Small Font: Small
TooltipContainer@MUSIC_TOOLTIP_CONTAINER:

View File

@@ -155,7 +155,7 @@ Background@REPLAYBROWSER_PANEL:
Container@REPLAY_LIST_CONTAINER: Container@REPLAY_LIST_CONTAINER:
X: 310 X: 310
Y: 20 Y: 20
Width: 245 Width: 250
Height: PARENT_BOTTOM - 20 - 55 Height: PARENT_BOTTOM - 20 - 55
Children: Children:
Label@REPLAYBROWSER_LABEL_TITLE: Label@REPLAYBROWSER_LABEL_TITLE:
@@ -176,11 +176,14 @@ Background@REPLAYBROWSER_PANEL:
Height: 25 Height: 25
X: 2 X: 2
Visible: false Visible: false
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 20 Width: PARENT_RIGHT - 20
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Container@MAP_PREVIEW_ROOT: Container@MAP_PREVIEW_ROOT:
X: PARENT_RIGHT - WIDTH - 20 X: PARENT_RIGHT - WIDTH - 20
Y: 50 Y: 50

View File

@@ -34,11 +34,14 @@ Background@MISSIONBROWSER_PANEL:
Width: PARENT_RIGHT - 27 Width: PARENT_RIGHT - 27
Height: 25 Height: 25
X: 2 X: 2
EnableChildMouseOver: True
Children: Children:
Label@TITLE: LabelWithTooltip@TITLE:
X: 10 X: 10
Width: PARENT_RIGHT - 20 Width: PARENT_RIGHT - 20
Height: 25 Height: 25
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP
Label@DIFFICULTY_DESC: Label@DIFFICULTY_DESC:
X: 210 - WIDTH - 125 X: 210 - WIDTH - 125
Y: 468 Y: 468
@@ -152,6 +155,7 @@ Background@MISSIONBROWSER_PANEL:
Height: 480 Height: 480
AspectRatio: 1.2 AspectRatio: 1.2
DrawOverlay: False DrawOverlay: False
TooltipContainer@TOOLTIP_CONTAINER:
Background@FULLSCREEN_PLAYER: Background@FULLSCREEN_PLAYER:
Width: WINDOW_RIGHT Width: WINDOW_RIGHT