OSDN Git Service

ClickのハンドラをPanel側に移す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 5 Apr 2020 08:47:49 +0000 (17:47 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 30 Aug 2020 05:58:21 +0000 (14:58 +0900)
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/View/MissionPanel.cs
KancolleSniffer/View/NDockPanel.cs

index e312a1d..ffa0fdd 100644 (file)
@@ -63,10 +63,10 @@ namespace KancolleSniffer
             this.labelCondTimerTitle = new System.Windows.Forms.Label();\r
             this.labelCondTimer = new System.Windows.Forms.Label();\r
             this.labelAkashiRepairTimer = new System.Windows.Forms.Label();\r
-            this.labelNDock = new System.Windows.Forms.Label();\r
+            this.labelNDockCaption = new System.Windows.Forms.Label();\r
             this.labelConstruct = new System.Windows.Forms.Label();\r
             this.labelQuest = new System.Windows.Forms.Label();\r
-            this.labelMission = new System.Windows.Forms.Label();\r
+            this.labelMissionCaption = new System.Windows.Forms.Label();\r
             this.timerMain = new System.Windows.Forms.Timer(this.components);\r
             this.notifyIconMain = new System.Windows.Forms.NotifyIcon(this.components);\r
             this.contextMenuStripNotifyIcon = new System.Windows.Forms.ContextMenuStrip(this.components);\r
@@ -272,16 +272,15 @@ namespace KancolleSniffer
             this.labelAkashiRepairTimer.Size = new System.Drawing.Size(32, 12);\r
             this.labelAkashiRepairTimer.TabIndex = 43;\r
             // \r
-            // labelNDock\r
+            // labelNDockCaption\r
             // \r
-            this.labelNDock.AutoSize = true;\r
-            this.labelNDock.Cursor = System.Windows.Forms.Cursors.Hand;\r
-            this.labelNDock.Location = new System.Drawing.Point(8, 195);\r
-            this.labelNDock.Name = "labelNDock";\r
-            this.labelNDock.Size = new System.Drawing.Size(29, 12);\r
-            this.labelNDock.TabIndex = 3;\r
-            this.labelNDock.Text = "入渠";\r
-            this.labelNDock.Click += new System.EventHandler(this.labelNDock_Click);\r
+            this.labelNDockCaption.AutoSize = true;\r
+            this.labelNDockCaption.Cursor = System.Windows.Forms.Cursors.Hand;\r
+            this.labelNDockCaption.Location = new System.Drawing.Point(8, 195);\r
+            this.labelNDockCaption.Name = "labelNDockCaption";\r
+            this.labelNDockCaption.Size = new System.Drawing.Size(29, 12);\r
+            this.labelNDockCaption.TabIndex = 3;\r
+            this.labelNDockCaption.Text = "入渠";\r
             // \r
             // labelConstruct\r
             // \r
@@ -301,16 +300,15 @@ namespace KancolleSniffer
             this.labelQuest.TabIndex = 8;\r
             this.labelQuest.Text = "任務";\r
             // \r
-            // labelMission\r
+            // labelMissionCaption\r
             // \r
-            this.labelMission.AutoSize = true;\r
-            this.labelMission.Cursor = System.Windows.Forms.Cursors.Hand;\r
-            this.labelMission.Location = new System.Drawing.Point(8, 276);\r
-            this.labelMission.Name = "labelMission";\r
-            this.labelMission.Size = new System.Drawing.Size(29, 12);\r
-            this.labelMission.TabIndex = 10;\r
-            this.labelMission.Text = "遠征";\r
-            this.labelMission.Click += new System.EventHandler(this.labelMission_Click);\r
+            this.labelMissionCaption.AutoSize = true;\r
+            this.labelMissionCaption.Cursor = System.Windows.Forms.Cursors.Hand;\r
+            this.labelMissionCaption.Location = new System.Drawing.Point(8, 276);\r
+            this.labelMissionCaption.Name = "labelMissionCaption";\r
+            this.labelMissionCaption.Size = new System.Drawing.Size(29, 12);\r
+            this.labelMissionCaption.TabIndex = 10;\r
+            this.labelMissionCaption.Text = "遠征";\r
             // \r
             // timerMain\r
             // \r
@@ -732,10 +730,10 @@ namespace KancolleSniffer
             this.Controls.Add(this.labelCheckFleet4);\r
             this.Controls.Add(this.labelFleet4);\r
             this.Controls.Add(this.labelCheckFleet1);\r
-            this.Controls.Add(this.labelMission);\r
+            this.Controls.Add(this.labelMissionCaption);\r
             this.Controls.Add(this.labelQuest);\r
             this.Controls.Add(this.labelConstruct);\r
-            this.Controls.Add(this.labelNDock);\r
+            this.Controls.Add(this.labelNDockCaption);\r
             this.Controls.Add(this.panelShipInfo);\r
             this.Controls.Add(this.labelFleet1);\r
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\r
@@ -761,10 +759,10 @@ namespace KancolleSniffer
 \r
         #endregion\r
         private System.Windows.Forms.Panel panelShipInfo;\r
-        private System.Windows.Forms.Label labelNDock;\r
+        private System.Windows.Forms.Label labelNDockCaption;\r
         private System.Windows.Forms.Label labelConstruct;\r
         private System.Windows.Forms.Label labelQuest;\r
-        private System.Windows.Forms.Label labelMission;\r
+        private System.Windows.Forms.Label labelMissionCaption;\r
         private System.Windows.Forms.Timer timerMain;\r
         private System.Windows.Forms.Label labelCondTimerTitle;\r
         private System.Windows.Forms.Label labelCondTimer;\r
index c9962a9..4cf4600 100644 (file)
@@ -96,8 +96,8 @@ namespace KancolleSniffer
             labelPresetAkashiTimer.BackColor = CustomColors.ColumnColors.Bright;\r
             SetupQuestPanel();\r
             panelRepairList.CreateLabels(panelRepairList_Click);\r
-            ndockPanel.SetClickHandler(labelNDock_Click);\r
-            missionPanel.SetClickHandler(labelMission_Click);\r
+            ndockPanel.SetClickHandler(labelNDockCaption);\r
+            missionPanel.SetClickHandler(labelMissionCaption);\r
             materialHistoryPanel.SetClickHandler(labelMaterialCaption, labelMaterialHistoryButton);\r
             SetupUpdateable();\r
             PerformZoom();\r
@@ -905,37 +905,11 @@ namespace KancolleSniffer
         private void UpdateNDocLabels()\r
         {\r
             ndockPanel.Update();\r
-            SetNDockLabel();\r
-        }\r
-\r
-        private void SetNDockLabel()\r
-        {\r
-            labelNDock.Text = (Config.ShowEndTime & TimerKind.NDock) != 0 ? "入渠終了" : "入渠";\r
-        }\r
-\r
-        private void labelNDock_Click(object sender, EventArgs e)\r
-        {\r
-            Config.ShowEndTime ^= TimerKind.NDock;\r
-            SetNDockLabel();\r
-            UpdateTimers();\r
         }\r
 \r
         private void UpdateMissionLabels()\r
         {\r
             missionPanel.Update();\r
-            SetMissionLabel();\r
-        }\r
-\r
-        private void SetMissionLabel()\r
-        {\r
-            labelMission.Text = (Config.ShowEndTime & TimerKind.Mission) != 0 ? "遠征終了" : "遠征";\r
-        }\r
-\r
-        private void labelMission_Click(object sender, EventArgs e)\r
-        {\r
-            Config.ShowEndTime ^= TimerKind.Mission;\r
-            SetMissionLabel();\r
-            UpdateTimers();\r
         }\r
 \r
         private void UpdateTimers()\r
index 7869e62..2c8815c 100644 (file)
@@ -28,6 +28,7 @@ namespace KancolleSniffer.View
         private const int LineHeight = 15;\r
         private const int Lines = 3;\r
         private readonly MissionLabels[] _labels = new MissionLabels[Lines];\r
+        private Label _caption;\r
 \r
         private class MissionLabels\r
         {\r
@@ -73,6 +74,13 @@ namespace KancolleSniffer.View
             }\r
             Controls.AddRange(_labels.SelectMany(l => new Control[] {l.Number, l.Params, l.Name, l.Timer}).ToArray());\r
             SetCursor();\r
+            SetClickHandler();\r
+        }\r
+\r
+        public void SetClickHandler(Label caption)\r
+        {\r
+            caption.Click += ClickHandler;\r
+            _caption = caption;\r
         }\r
 \r
         private void SetCursor()\r
@@ -82,11 +90,18 @@ namespace KancolleSniffer.View
                 control.Cursor = Cursors.Hand;\r
         }\r
 \r
-        public void SetClickHandler(EventHandler onClick)\r
+        private void SetClickHandler()\r
         {\r
-            Click += onClick;\r
+            Click += ClickHandler;\r
             foreach (Control control in Controls)\r
-                control.Click += onClick;\r
+                control.Click += ClickHandler;\r
+        }\r
+\r
+        private void ClickHandler(Object sender, EventArgs e)\r
+        {\r
+            Context.Config.ShowEndTime ^= TimerKind.Mission;\r
+            SetCaption();\r
+            UpdateTimers();\r
         }\r
 \r
         public new void Update()\r
@@ -101,6 +116,12 @@ namespace KancolleSniffer.View
                 _labels[i].Name.Text = names[i];\r
                 ToolTip.SetToolTip(_labels[i].Name, inPort ? "" : fleetParams);\r
             }\r
+            SetCaption();\r
+        }\r
+\r
+        private void SetCaption()\r
+        {\r
+            _caption.Text = (Context.Config.ShowEndTime & TimerKind.Mission) != 0 ? "遠征終了" : "遠征";\r
         }\r
 \r
         public void UpdateTimers()\r
index 9e4732c..0c35fcd 100644 (file)
@@ -26,6 +26,7 @@ namespace KancolleSniffer.View
         private const int LeftMargin = 2;\r
         private const int LineHeight = 15;\r
         private readonly NDockLabels[] _labels = new NDockLabels[DockInfo.DockCount];\r
+        private Label _caption;\r
 \r
         private class NDockLabels\r
         {\r
@@ -63,6 +64,13 @@ namespace KancolleSniffer.View
             }\r
             Controls.AddRange(_labels.SelectMany(l => new Control[] {l.Number, l.Name, l.Timer}).ToArray());\r
             SetCursor();\r
+            SetClickHandler();\r
+        }\r
+\r
+        public void SetClickHandler(Label caption)\r
+        {\r
+            caption.Click += ClickHandler;\r
+            _caption = caption;\r
         }\r
 \r
         private void SetCursor()\r
@@ -72,17 +80,30 @@ namespace KancolleSniffer.View
                 control.Cursor = Cursors.Hand;\r
         }\r
 \r
-        public void SetClickHandler(EventHandler onClick)\r
+        private void SetClickHandler()\r
         {\r
-            Click += onClick;\r
+            Click += ClickHandler;\r
             foreach (Control control in Controls)\r
-                control.Click += onClick;\r
+                control.Click += ClickHandler;\r
+        }\r
+\r
+        private void ClickHandler(object sender, EventArgs e)\r
+        {\r
+            Context.Config.ShowEndTime ^= TimerKind.NDock;\r
+            SetCaption();\r
+            UpdateTimers();\r
         }\r
 \r
         public new void Update()\r
         {\r
             for (var i = 0; i < _labels.Length; i++)\r
                 _labels[i].Name.SetName(Context.Sniffer.NDock[i].Name);\r
+            SetCaption();\r
+        }\r
+\r
+        private void SetCaption()\r
+        {\r
+            _caption.Text = (Context.Config.ShowEndTime & TimerKind.NDock) != 0 ? "入渠終了" : "入渠";\r
         }\r
 \r
         public void UpdateTimers()\r