Skip to content

Commit

Permalink
Add tooltips to Vessel Comms Report window
Browse files Browse the repository at this point in the history
  • Loading branch information
rockfactory committed Feb 17, 2024
1 parent a1abeeb commit 2231daf
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 2 deletions.
5 changes: 4 additions & 1 deletion plugin_template/localizations/commnext_localizations.csv
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,7 @@ CommNext/UI/ConnectionsDisplayModeNone,Text,Connections display mode: None,Disab
CommNext/UI/ConnectionsDisplayModeLines,Text,Connections display mode: Lines,All active connections,Tutte le connessioni attive,Alle aktiven Verbindungen,Toutes les connexions actives,Todas las conexiones activas,所有活动连接,모든 활성 연결,Wszystkie aktywne połączenia,Все активные соединения,所有活动连接,Todas as conexões ativas,所有活动连接
CommNext/UI/ConnectionsDisplayModeActive,Text,Connections display mode: Active,Active vessel path,Percorso del veicolo attivo,Aktiver Schiffspfad,Chemin du vaisseau actif,Ruta de la nave activa,活动船只路径,활성 선박 경로,Aktywna ścieżka statku,Активный путь судна,活动船只路径,Caminho da nave ativa,活动船只路径
CommNext/UI/RulersTooltip,Text,Show sphere rulers tooltip,Show sphere rulers,Mostra righelli sferici,Sphärenlineale anzeigen,Afficher les règles de la sphère,Mostrar reglas de la esfera,显示球体标尺,구체 규칙 보기,Pokaż linijki sferyczne,Показать шаровые линейки,显示球体标尺,Mostrar réguas de esfera,显示球体标尺
CommNext/UI/VesselReportTooltip,Text,,Show vessel report,Mostra report del veicolo,Schiffbericht anzeigen,Afficher le rapport du vaisseau,Mostrar informe de la nave,显示船只报告,선박 보고서 보기,Pokaż raport statku,Показать отчет о судне,显示船只报告,Mostrar relatório da nave,显示船只报告
CommNext/UI/VesselReportTooltip,Text,,Show vessel report,Mostra report del veicolo,Schiffbericht anzeigen,Afficher le rapport du vaisseau,Mostrar informe de la nave,显示船只报告,선박 보고서 보기,Pokaż raport statku,Показать отчет о судне,显示船只报告,Mostrar relatório da nave,显示船只报告
CommNext/UI/FilterLabel,Text,,Filter,Filtra,Filter,Filtre,Filtrar,过滤,필터,Filter,Filtr,过滤,Filtro,过滤
CommNext/UI/SortLabel,Text,,Sort,Ordina,Sortieren,Trier,Ordenar,排序,정렬,Sortuj,Сортировать,排序,Ordenar,排序
CommNext/UI/NoPower,Text,,No power,Nessuna alimentazione,Keine Stromversorgung,Aucune alimentation,Sin alimentación,无电源,전원 없음,Brak zasilania,Нет питания,无电源,Sem energia,无电源
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using CommNext.Managers;
using CommNext.Network;
using CommNext.UI.Tooltip;
using CommNext.UI.Utils;
using CommNext.Unity.Runtime.Controls;
using I2.Loc;
Expand All @@ -22,6 +23,7 @@ public class NetworkConnectionViewController : UIToolkitElement
private Label _directionLabel;
private VisualElement _powerIcon;
private SignalStrengthIcon _signalStrengthIcon;
private TooltipManipulator _signalStrengthTooltip;


private static Color ActiveColor => new(0f, 1f, 0.4f, 1f);
Expand All @@ -36,7 +38,10 @@ public NetworkConnectionViewController() : base("Components/NetworkConnectionVie
_detailsLabel = _root.Q<Label>("details-label");
_directionLabel = _root.Q<Label>("direction-label");
_powerIcon = _root.Q<VisualElement>("power-icon");
_powerIcon.AddTooltip(LocalizedStrings.NoPower);
_signalStrengthIcon = _root.Q<SignalStrengthIcon>("signal-strength-icon");
_signalStrengthTooltip = new TooltipManipulator("");
_signalStrengthIcon.AddManipulator(_signalStrengthTooltip);
}

public void Bind(NetworkNode currentNode, NetworkConnection connection)
Expand Down Expand Up @@ -69,7 +74,9 @@ public void Bind(NetworkNode currentNode, NetworkConnection connection)

_detailsLabel.text = distanceText + occludedText;

_signalStrengthIcon.SetStrengthPercentage(connection.SignalStrength());
var signalStrength = connection.SignalStrength();
_signalStrengthIcon.SetStrengthPercentage(signalStrength);
_signalStrengthTooltip.TooltipText = signalStrength.ToString("P0");

_connectionIcon.style.unityBackgroundImageTintColor = connection.IsConnected ? ActiveColor : InactiveColor;
}
Expand Down
3 changes: 3 additions & 0 deletions src/CommNext/UI/LocalizedStrings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ public static class LocalizedStrings
public static LocalizedString ConnectionsDisplayModeActive = "CommNext/UI/ConnectionsDisplayModeActive";
public static LocalizedString RulersTooltip = "CommNext/UI/RulersTooltip";
public static LocalizedString VesselReportTooltip = "CommNext/UI/VesselReportTooltip";
public static LocalizedString FilterLabel = "CommNext/UI/FilterLabel";
public static LocalizedString SortLabel = "CommNext/UI/SortLabel";
public static LocalizedString NoPower = "CommNext/UI/NoPower";

// Only keys
public const string DistanceLabelKey = "CommNext/UI/DistanceLabel";
Expand Down
14 changes: 14 additions & 0 deletions src/CommNext/UI/Tooltip/TooltipExtensions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using UnityEngine.UIElements;

namespace CommNext.UI.Tooltip;

public static class TooltipExtensions
{
/// <summary>
/// Adds a static tooltip to the target element.
/// </summary>
public static void AddTooltip(this VisualElement target, string tooltipText)
{
target.AddManipulator(new TooltipManipulator(tooltipText));
}
}
4 changes: 4 additions & 0 deletions src/CommNext/UI/VesselReportWindowController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
using CommNext.UI.Components;
using CommNext.UI.Logic;
using CommNext.UI.Screen;
using CommNext.UI.Tooltip;
using CommNext.UI.Utils;
using CommNext.Unity.Runtime.Controls;
using I2.Loc;
using KSP.Sim.impl;
using UitkForKsp2.API;
using UnityEngine;
Expand Down Expand Up @@ -125,7 +127,9 @@ private void OnEnable()
_nameLabel = _root.Q<Label>("name-label");
_connectionsList = _root.Q<ScrollView>("connections-list");
_filterDropdown = _root.Q<DropdownField>("filter-dropdown");
_filterDropdown.AddTooltip(LocalizedStrings.FilterLabel);
_sortDropdown = _root.Q<DropdownField>("sort-dropdown");
_sortDropdown.AddTooltip(LocalizedStrings.SortLabel);
_sortDirectionButton = _root.Q<SortDirectionButton>("sort-direction-button");
_query.BindFilter(_filterDropdown);
_query.BindSort(_sortDropdown);
Expand Down

0 comments on commit 2231daf

Please sign in to comment.