OSDN Git Service

すべてのウィンドウで艦娘名のツールチップに装備を表示する
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / View / MainWindow / ShipListPanels.cs
index 51df835..d288c22 100644 (file)
@@ -42,17 +42,21 @@ namespace KancolleSniffer.View.MainWindow
         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
@@ -120,6 +124,7 @@ namespace KancolleSniffer.View.MainWindow
             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
@@ -131,11 +136,12 @@ namespace KancolleSniffer.View.MainWindow
                 _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
@@ -149,9 +155,9 @@ namespace KancolleSniffer.View.MainWindow
                         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
@@ -183,7 +189,7 @@ namespace KancolleSniffer.View.MainWindow
                         labels.Reset();\r
                         continue;\r
                     }\r
-                    labels.Set(ships[i]);\r
+                    labels.Set(ships[i], _toolTip);\r
                 }\r
             }\r
 \r
@@ -286,11 +292,13 @@ namespace KancolleSniffer.View.MainWindow
 \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
@@ -303,10 +311,10 @@ namespace KancolleSniffer.View.MainWindow
                         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
@@ -341,7 +349,7 @@ namespace KancolleSniffer.View.MainWindow
                         labels.Reset();\r
                         continue;\r
                     }\r
-                    labels.Set(ships[idx]);\r
+                    labels.Set(ships[idx], _toolTip);\r
                 }\r
             }\r
         }\r