OSDN Git Service

艦隊情報で各艦隊の先頭にスキップできるようにする
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 18 Dec 2016 12:14:56 +0000 (21:14 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 18 Dec 2016 12:14:56 +0000 (21:14 +0900)
KancolleSniffer/FleetPanel.cs
KancolleSniffer/ListForm.Designer.cs
KancolleSniffer/ListForm.cs

index 8711d46..75215a1 100644 (file)
@@ -268,5 +268,14 @@ namespace KancolleSniffer
             var y = (int)Math.Round(ShipLabel.ScaleFactor.Height * LineHeight * i);\r
             AutoScrollPosition = new Point(0, y);\r
         }\r
+\r
+        public void ShowFleet(string fn)\r
+        {\r
+            var i = Array.FindIndex(_table, e => e.Fleet.StartsWith(fn));\r
+            if (i == -1)\r
+                return;\r
+            var y = (int)Math.Round(ShipLabel.ScaleFactor.Height * LineHeight * i);\r
+            AutoScrollPosition = new Point(0, y);\r
+        }\r
     }\r
 }
\ No newline at end of file
index 6e202b0..9bd7ec0 100644 (file)
@@ -44,7 +44,6 @@ namespace KancolleSniffer
         {\r
             this.components = new System.ComponentModel.Container();\r
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ListForm));\r
-            this.shipListPanel = new KancolleSniffer.ShipListPanel();\r
             this.contextMenuStripShipList = new System.Windows.Forms.ContextMenuStrip(this.components);\r
             this.csvToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
             this.kantaiSarashiToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
@@ -72,27 +71,22 @@ namespace KancolleSniffer
             this.contextMenuStripFleetData = new System.Windows.Forms.ContextMenuStrip(this.components);\r
             this.textToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
             this.deckBuilderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
+            this.panelFleetHeader = new System.Windows.Forms.Panel();\r
+            this.labelFleet4 = new System.Windows.Forms.Label();\r
+            this.label1Fleet3 = new System.Windows.Forms.Label();\r
+            this.labelFleet2 = new System.Windows.Forms.Label();\r
+            this.labelFleet1 = new System.Windows.Forms.Label();\r
             this.fleetPanel = new KancolleSniffer.FleetPanel();\r
             this.itemTreeView = new KancolleSniffer.ItemTreeView();\r
+            this.shipListPanel = new KancolleSniffer.ShipListPanel();\r
             this.contextMenuStripShipList.SuspendLayout();\r
             this.contextMenuStrip.SuspendLayout();\r
             this.panelGroupHeader.SuspendLayout();\r
             this.panelRepairHeader.SuspendLayout();\r
             this.contextMenuStripFleetData.SuspendLayout();\r
+            this.panelFleetHeader.SuspendLayout();\r
             this.SuspendLayout();\r
             // \r
-            // shipListPanel\r
-            // \r
-            this.shipListPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) \r
-            | System.Windows.Forms.AnchorStyles.Left)));\r
-            this.shipListPanel.AutoScroll = true;\r
-            this.shipListPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
-            this.shipListPanel.ContextMenuStrip = this.contextMenuStripShipList;\r
-            this.shipListPanel.Location = new System.Drawing.Point(6, 23);\r
-            this.shipListPanel.Name = "shipListPanel";\r
-            this.shipListPanel.Size = new System.Drawing.Size(238, 263);\r
-            this.shipListPanel.TabIndex = 0;\r
-            // \r
             // contextMenuStripShipList\r
             // \r
             this.contextMenuStripShipList.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
@@ -348,6 +342,57 @@ namespace KancolleSniffer
             this.deckBuilderToolStripMenuItem.Text = "デッキビルダー形式でコピー(&D)";\r
             this.deckBuilderToolStripMenuItem.Click += new System.EventHandler(this.deckBuilderToolStripMenuItem_Click);\r
             // \r
+            // panelFleetHeader\r
+            // \r
+            this.panelFleetHeader.Controls.Add(this.labelFleet4);\r
+            this.panelFleetHeader.Controls.Add(this.label1Fleet3);\r
+            this.panelFleetHeader.Controls.Add(this.labelFleet2);\r
+            this.panelFleetHeader.Controls.Add(this.labelFleet1);\r
+            this.panelFleetHeader.Location = new System.Drawing.Point(58, 3);\r
+            this.panelFleetHeader.Name = "panelFleetHeader";\r
+            this.panelFleetHeader.Size = new System.Drawing.Size(172, 19);\r
+            this.panelFleetHeader.TabIndex = 0;\r
+            // \r
+            // labelFleet4\r
+            // \r
+            this.labelFleet4.AutoSize = true;\r
+            this.labelFleet4.Location = new System.Drawing.Point(138, 4);\r
+            this.labelFleet4.Name = "labelFleet4";\r
+            this.labelFleet4.Size = new System.Drawing.Size(29, 12);\r
+            this.labelFleet4.TabIndex = 3;\r
+            this.labelFleet4.Text = "第四";\r
+            this.labelFleet4.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
+            // label1Fleet3\r
+            // \r
+            this.label1Fleet3.AutoSize = true;\r
+            this.label1Fleet3.Location = new System.Drawing.Point(100, 4);\r
+            this.label1Fleet3.Name = "label1Fleet3";\r
+            this.label1Fleet3.Size = new System.Drawing.Size(29, 12);\r
+            this.label1Fleet3.TabIndex = 2;\r
+            this.label1Fleet3.Text = "第三";\r
+            this.label1Fleet3.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
+            // labelFleet2\r
+            // \r
+            this.labelFleet2.AutoSize = true;\r
+            this.labelFleet2.Location = new System.Drawing.Point(62, 4);\r
+            this.labelFleet2.Name = "labelFleet2";\r
+            this.labelFleet2.Size = new System.Drawing.Size(29, 12);\r
+            this.labelFleet2.TabIndex = 1;\r
+            this.labelFleet2.Text = "第二";\r
+            this.labelFleet2.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
+            // labelFleet1\r
+            // \r
+            this.labelFleet1.AutoSize = true;\r
+            this.labelFleet1.Location = new System.Drawing.Point(24, 4);\r
+            this.labelFleet1.Name = "labelFleet1";\r
+            this.labelFleet1.Size = new System.Drawing.Size(29, 12);\r
+            this.labelFleet1.TabIndex = 0;\r
+            this.labelFleet1.Text = "第一";\r
+            this.labelFleet1.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
             // fleetPanel\r
             // \r
             this.fleetPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) \r
@@ -370,11 +415,24 @@ namespace KancolleSniffer
             this.itemTreeView.Size = new System.Drawing.Size(238, 263);\r
             this.itemTreeView.TabIndex = 0;\r
             // \r
+            // shipListPanel\r
+            // \r
+            this.shipListPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) \r
+            | System.Windows.Forms.AnchorStyles.Left)));\r
+            this.shipListPanel.AutoScroll = true;\r
+            this.shipListPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
+            this.shipListPanel.ContextMenuStrip = this.contextMenuStripShipList;\r
+            this.shipListPanel.Location = new System.Drawing.Point(6, 23);\r
+            this.shipListPanel.Name = "shipListPanel";\r
+            this.shipListPanel.Size = new System.Drawing.Size(238, 263);\r
+            this.shipListPanel.TabIndex = 0;\r
+            // \r
             // ListForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
             this.ClientSize = new System.Drawing.Size(250, 292);\r
+            this.Controls.Add(this.panelFleetHeader);\r
             this.Controls.Add(this.panelItemHeader);\r
             this.Controls.Add(this.panelRepairHeader);\r
             this.Controls.Add(this.panelGroupHeader);\r
@@ -403,6 +461,8 @@ namespace KancolleSniffer
             this.panelRepairHeader.ResumeLayout(false);\r
             this.panelRepairHeader.PerformLayout();\r
             this.contextMenuStripFleetData.ResumeLayout(false);\r
+            this.panelFleetHeader.ResumeLayout(false);\r
+            this.panelFleetHeader.PerformLayout();\r
             this.ResumeLayout(false);\r
             this.PerformLayout();\r
 \r
@@ -440,5 +500,10 @@ namespace KancolleSniffer
         private System.Windows.Forms.ContextMenuStrip contextMenuStripShipList;\r
         private System.Windows.Forms.ToolStripMenuItem csvToolStripMenuItem;\r
         private System.Windows.Forms.ToolStripMenuItem kantaiSarashiToolStripMenuItem;\r
+        private System.Windows.Forms.Panel panelFleetHeader;\r
+        private System.Windows.Forms.Label labelFleet4;\r
+        private System.Windows.Forms.Label label1Fleet3;\r
+        private System.Windows.Forms.Label labelFleet2;\r
+        private System.Windows.Forms.Label labelFleet1;\r
     }\r
 }
\ No newline at end of file
index 6e512ed..274885b 100644 (file)
@@ -48,9 +48,10 @@ namespace KancolleSniffer
 \r
         public void UpdateList()\r
         {\r
-            panelItemHeader.Visible = InItemList || InFleetInfo || InMiscText;\r
+            panelItemHeader.Visible = InItemList || InMiscText;\r
             panelGroupHeader.Visible = InGroupConfig;\r
             panelRepairHeader.Visible = InRepairList;\r
+            panelFleetHeader.Visible = InFleetInfo;\r
             // SwipeScrollifyが誤作動するのでEnabledも切り替える\r
             shipListPanel.Visible = shipListPanel.Enabled = InShipStatus || InGroupConfig || InRepairList;\r
             itemTreeView.Visible = itemTreeView.Enabled = InItemList;\r
@@ -247,5 +248,10 @@ namespace KancolleSniffer
         {\r
             Clipboard.SetText(TextGenerator.GenerateKantaiSarashiData(shipListPanel.CurrentShipList));\r
         }\r
+\r
+        private void labelFleet_Click(object sender, EventArgs e)\r
+        {\r
+            fleetPanel.ShowFleet(((Label)sender).Text);\r
+        }\r
     }\r
 }
\ No newline at end of file