}\r
else\r
{\r
- labels.Set(ship);\r
+ labels.Set(ship, ToolTip);\r
if (ship.Name.StartsWith("基地航空隊"))\r
labels.Name.SetName(ship.Name.Substring(2));\r
}\r
- ToolTip.SetToolTip(labels.Name, GetEquipString(ship));\r
}\r
for (var i = ships.Length; i < labelsList.Count; i++)\r
labelsList[i].Reset();\r
return fleet.Main.Concat(new[] {new ShipStatus()}.Concat(fleet.Guard)).ToArray();\r
}\r
\r
- private static string GetEquipString(ShipStatus ship)\r
- {\r
- var result =\r
- (from i in Enumerable.Range(0, ship.Slot.Count)\r
- let item = ship.Slot[i]\r
- where !item.Empty\r
- select item.Spec.Name +\r
- (item.Spec.IsAircraft && ship.OnSlot.Length > 0 && ship.Spec.MaxEq.Length > 0\r
- ? $"{ship.OnSlot[i]}/{ship.Spec.MaxEq[i]}"\r
- : ""));\r
- if (ship.SlotEx.Id > 0)\r
- result = result.Concat(new[] {ship.SlotEx.Spec.Name});\r
- return string.Join("\r\n", result);\r
- }\r
-\r
private static string ShortenName(string name)\r
{\r
return new Regex(@"\(elite\)|\(flagship\)").Replace(name,\r
\r
namespace KancolleSniffer.View.MainWindow\r
{\r
- public class RepairListPanel : Panel\r
+ public class RepairListPanel : PanelWithToolTip\r
{\r
private const int PanelPadding = 5;\r
private const int LineHeight = 15;\r
\r
protected override Control[] AddedControls => new Control[] {Time, Damage};\r
\r
- public override void Set(ShipStatus status)\r
+ public override void Set(ShipStatus status, ToolTip toolTip)\r
{\r
- base.Set(status);\r
+ base.Set(status, toolTip);\r
Time.Set(status);\r
}\r
\r
{\r
var s = _repairList[i + _listScroller.Position];\r
var labels = _repairLabels[i];\r
- labels.Set(s);\r
+ labels.Set(s, ToolTip);\r
labels.Damage.SetColor(s);\r
}\r
if (_repairList.Length < _repairLabels.Length)\r
private readonly ShipLabelLines _shipLines7;\r
private readonly CombinedShipLines _combinedLines = new CombinedShipLines();\r
private readonly HpToggle _hpToggle = new HpToggle();\r
+ private readonly ToolTip _toolTip;\r
+ private readonly EventHandler _onClick;\r
\r
public bool ShowHpInPercent => _hpToggle.InPercent;\r
\r
- public ShipListPanels(Control parent, EventHandler onClick)\r
+ public ShipListPanels(ShipInfoPanel parent, EventHandler onClick)\r
{\r
+ _onClick = onClick;\r
+ _toolTip = parent.ToolTip;\r
_shipLines = new ShipLabelLines(ShipInfo.MemberCount, 16);\r
_shipLines7 = new ShipLabelLines(7, 14);\r
parent.Controls.AddRange(new Control[] {_combined, _7Ships});\r
- _shipLines.Create(parent, _hpToggle, onClick);\r
- _shipLines7.Create(_7Ships, _hpToggle, onClick);\r
- _combinedLines.Create(_combined, _hpToggle, onClick);\r
+ _shipLines.Create(parent, this);\r
+ _shipLines7.Create(_7Ships, this);\r
+ _combinedLines.Create(_combined, this);\r
}\r
\r
public void ToggleHpPercent()\r
private readonly int _lineHeight;\r
private readonly ShipLabels[] _shipLines;\r
private readonly AkashiTimerLabels _akashiTimerLabels;\r
+ private ToolTip _toolTip;\r
\r
private const int Top = 1;\r
private const int LabelHeight = 12;\r
_lineHeight = lineHeight;\r
}\r
\r
- public void Create(Control parent, HpToggle hpToggle, EventHandler onClick)\r
+ public void Create(Control parent, ShipListPanels panels)\r
{\r
+ _toolTip = panels._toolTip;\r
parent.SuspendLayout();\r
_akashiTimerLabels.Create(parent);\r
- CreateHeader(parent, hpToggle);\r
+ CreateHeader(parent, panels._hpToggle);\r
for (var i = 0; i < _shipLines.Length; i++)\r
{\r
var y = Top + _lineHeight * (i + 1);\r
BackGround = new Label {Location = new Point(0, y), Size = new Size(PanelWidth, _lineHeight)}\r
};\r
labels.Arrange(parent, CustomColors.ColumnColors.DarkFirst(i));\r
- labels.SetClickHandler(onClick);\r
+ labels.SetClickHandler(panels._onClick);\r
labels.SetTag(i);\r
- hpToggle.AddHpLabel(labels.Hp);\r
+ panels._hpToggle.AddHpLabel(labels.Hp);\r
}\r
parent.ResumeLayout();\r
}\r
labels.Reset();\r
continue;\r
}\r
- labels.Set(ships[i]);\r
+ labels.Set(ships[i], _toolTip);\r
}\r
}\r
\r
\r
private const int Top = 1;\r
private const int LineHeight = 16;\r
+ private ToolTip _toolTip;\r
\r
- public void Create(Control parent, HpToggle hpToggle, EventHandler onClick)\r
+ public void Create(Control parent, ShipListPanels panels)\r
{\r
+ _toolTip = panels._toolTip;\r
parent.SuspendLayout();\r
- CreateHeader(parent, hpToggle);\r
+ CreateHeader(parent, panels._hpToggle);\r
for (var i = 0; i < _combinedLines.Length; i++)\r
{\r
var x = PanelWidth / 2 * (i / ShipInfo.MemberCount);\r
BackGround = new Label {Location = new Point(x, y), Size = new Size(PanelWidth / 2, LineHeight)}\r
};\r
labels.Arrange(parent, CustomColors.ColumnColors.DarkFirst(i));\r
- labels.SetClickHandler(onClick);\r
+ labels.SetClickHandler(panels._onClick);\r
labels.SetTag(i);\r
var hpLabel = _combinedLines[i].Hp;\r
- hpToggle.AddHpLabel(hpLabel);\r
+ panels._hpToggle.AddHpLabel(hpLabel);\r
}\r
parent.ResumeLayout();\r
}\r
labels.Reset();\r
continue;\r
}\r
- labels.Set(ships[idx]);\r
+ labels.Set(ships[idx], _toolTip);\r
}\r
}\r
}\r