From a272fcb32f5c45dc831f439901062f1454c26893 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Sun, 31 Mar 2024 14:36:03 -0400 Subject: [PATCH] Improved Copy + Paste functionality --- PCK-Studio/Forms/Editor/COLEditor.Designer.cs | 294 +++++++-------- PCK-Studio/Forms/Editor/COLEditor.cs | 190 ++++------ PCK-Studio/Forms/Editor/COLEditor.resx | 340 ++++++++---------- 3 files changed, 369 insertions(+), 455 deletions(-) diff --git a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs index 8889cfb2..fd3f96eb 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs @@ -51,7 +51,19 @@ namespace PckStudio.Forms.Editor this.menuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.targetUpdateToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.waterTab = new System.Windows.Forms.TabPage(); + this.waterTreeView = new System.Windows.Forms.TreeView(); + this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); + this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.underwaterTreeView = new System.Windows.Forms.TreeView(); + this.fogTreeView = new System.Windows.Forms.TreeView(); + this.colorsTab = new System.Windows.Forms.TabPage(); + this.colorTreeView = new System.Windows.Forms.TreeView(); + this.tabControl = new MetroFramework.Controls.MetroTabControl(); + this.underwaterTab = new System.Windows.Forms.TabPage(); + this.fogTab = new System.Windows.Forms.TabPage(); this.TU12ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU13ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU14ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -65,19 +77,7 @@ namespace PckStudio.Forms.Editor this.TU54ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU69ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this._1_9_1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.waterTab = new System.Windows.Forms.TabPage(); - this.waterTreeView = new System.Windows.Forms.TreeView(); - this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); - this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.underwaterTreeView = new System.Windows.Forms.TreeView(); - this.fogTreeView = new System.Windows.Forms.TreeView(); - this.colorsTab = new System.Windows.Forms.TabPage(); - this.colorTreeView = new System.Windows.Forms.TreeView(); - this.tabControl = new MetroFramework.Controls.MetroTabControl(); - this.underwaterTab = new System.Windows.Forms.TabPage(); - this.fogTab = new System.Windows.Forms.TabPage(); + this.targetUpdateToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.metroPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.blueUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.greenUpDown)).BeginInit(); @@ -306,25 +306,105 @@ namespace PckStudio.Forms.Editor this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); // - // targetUpdateToolToolStripMenuItem + // waterTab // - this.targetUpdateToolToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.TU12ToolStripMenuItem, - this.TU13ToolStripMenuItem, - this.TU14ToolStripMenuItem, - this.TU19ToolStripMenuItem, - this.TU31ToolStripMenuItem, - this.TU32ToolStripMenuItem, - this.TU43ToolStripMenuItem, - this.TU46ToolStripMenuItem, - this.TU51ToolStripMenuItem, - this.TU53ToolStripMenuItem, - this.TU54ToolStripMenuItem, - this.TU69ToolStripMenuItem, - this._1_9_1ToolStripMenuItem}); - this.targetUpdateToolToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.targetUpdateToolToolStripMenuItem.Name = "targetUpdateToolToolStripMenuItem"; - resources.ApplyResources(this.targetUpdateToolToolStripMenuItem, "targetUpdateToolToolStripMenuItem"); + this.waterTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.waterTab.Controls.Add(this.waterTreeView); + resources.ApplyResources(this.waterTab, "waterTab"); + this.waterTab.Name = "waterTab"; + // + // waterTreeView + // + this.waterTreeView.ContextMenuStrip = this.ColorContextMenu; + resources.ApplyResources(this.waterTreeView, "waterTreeView"); + this.waterTreeView.Name = "waterTreeView"; + this.waterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView2_AfterSelect); + this.waterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown); + // + // ColorContextMenu + // + this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.copyColorToolStripMenuItem, + this.pasteColorToolStripMenuItem, + this.restoreOriginalColorToolStripMenuItem}); + this.ColorContextMenu.Name = "ColorContextMenu"; + resources.ApplyResources(this.ColorContextMenu, "ColorContextMenu"); + // + // copyColorToolStripMenuItem + // + this.copyColorToolStripMenuItem.Name = "copyColorToolStripMenuItem"; + resources.ApplyResources(this.copyColorToolStripMenuItem, "copyColorToolStripMenuItem"); + this.copyColorToolStripMenuItem.Click += new System.EventHandler(this.copyColorToolStripMenuItem_Click); + // + // pasteColorToolStripMenuItem + // + this.pasteColorToolStripMenuItem.Name = "pasteColorToolStripMenuItem"; + resources.ApplyResources(this.pasteColorToolStripMenuItem, "pasteColorToolStripMenuItem"); + this.pasteColorToolStripMenuItem.Click += new System.EventHandler(this.pasteColorToolStripMenuItem_Click); + // + // restoreOriginalColorToolStripMenuItem + // + this.restoreOriginalColorToolStripMenuItem.Name = "restoreOriginalColorToolStripMenuItem"; + resources.ApplyResources(this.restoreOriginalColorToolStripMenuItem, "restoreOriginalColorToolStripMenuItem"); + this.restoreOriginalColorToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalColorToolStripMenuItem_Click); + // + // underwaterTreeView + // + this.underwaterTreeView.ContextMenuStrip = this.ColorContextMenu; + resources.ApplyResources(this.underwaterTreeView, "underwaterTreeView"); + this.underwaterTreeView.Name = "underwaterTreeView"; + this.underwaterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView3_AfterSelect); + this.underwaterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView3_KeyDown); + // + // fogTreeView + // + this.fogTreeView.ContextMenuStrip = this.ColorContextMenu; + resources.ApplyResources(this.fogTreeView, "fogTreeView"); + this.fogTreeView.Name = "fogTreeView"; + this.fogTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView4_AfterSelect); + this.fogTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView4_KeyDown); + // + // colorsTab + // + this.colorsTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.colorsTab.Controls.Add(this.colorTreeView); + resources.ApplyResources(this.colorsTab, "colorsTab"); + this.colorsTab.Name = "colorsTab"; + // + // colorTreeView + // + this.colorTreeView.ContextMenuStrip = this.ColorContextMenu; + resources.ApplyResources(this.colorTreeView, "colorTreeView"); + this.colorTreeView.Name = "colorTreeView"; + this.colorTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); + this.colorTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); + // + // tabControl + // + resources.ApplyResources(this.tabControl, "tabControl"); + this.tabControl.Controls.Add(this.colorsTab); + this.tabControl.Controls.Add(this.waterTab); + this.tabControl.Controls.Add(this.underwaterTab); + this.tabControl.Controls.Add(this.fogTab); + this.tabControl.Name = "tabControl"; + this.tabControl.SelectedIndex = 0; + this.tabControl.Style = MetroFramework.MetroColorStyle.White; + this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; + this.tabControl.UseSelectable = true; + // + // underwaterTab + // + this.underwaterTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.underwaterTab.Controls.Add(this.underwaterTreeView); + resources.ApplyResources(this.underwaterTab, "underwaterTab"); + this.underwaterTab.Name = "underwaterTab"; + // + // fogTab + // + this.fogTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.fogTab.Controls.Add(this.fogTreeView); + resources.ApplyResources(this.fogTab, "fogTab"); + this.fogTab.Name = "fogTab"; // // TU12ToolStripMenuItem // @@ -391,105 +471,25 @@ namespace PckStudio.Forms.Editor this._1_9_1ToolStripMenuItem.Name = "_1_9_1ToolStripMenuItem"; resources.ApplyResources(this._1_9_1ToolStripMenuItem, "_1_9_1ToolStripMenuItem"); // - // waterTab + // targetUpdateToolToolStripMenuItem // - this.waterTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.waterTab.Controls.Add(this.waterTreeView); - resources.ApplyResources(this.waterTab, "waterTab"); - this.waterTab.Name = "waterTab"; - // - // waterTreeView - // - this.waterTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.waterTreeView, "waterTreeView"); - this.waterTreeView.Name = "waterTreeView"; - this.waterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView2_AfterSelect); - this.waterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown); - // - // ColorContextMenu - // - this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.restoreOriginalColorToolStripMenuItem, - this.copyColorToolStripMenuItem, - this.pasteColorToolStripMenuItem}); - this.ColorContextMenu.Name = "ColorContextMenu"; - resources.ApplyResources(this.ColorContextMenu, "ColorContextMenu"); - // - // restoreOriginalColorToolStripMenuItem - // - this.restoreOriginalColorToolStripMenuItem.Name = "restoreOriginalColorToolStripMenuItem"; - resources.ApplyResources(this.restoreOriginalColorToolStripMenuItem, "restoreOriginalColorToolStripMenuItem"); - this.restoreOriginalColorToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalColorToolStripMenuItem_Click); - // - // copyColorToolStripMenuItem - // - this.copyColorToolStripMenuItem.Name = "copyColorToolStripMenuItem"; - resources.ApplyResources(this.copyColorToolStripMenuItem, "copyColorToolStripMenuItem"); - this.copyColorToolStripMenuItem.Click += new System.EventHandler(this.copyColorToolStripMenuItem_Click); - // - // pasteColorToolStripMenuItem - // - this.pasteColorToolStripMenuItem.Name = "pasteColorToolStripMenuItem"; - resources.ApplyResources(this.pasteColorToolStripMenuItem, "pasteColorToolStripMenuItem"); - this.pasteColorToolStripMenuItem.Click += new System.EventHandler(this.pasteColorToolStripMenuItem_Click); - // - // underwaterTreeView - // - this.underwaterTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.underwaterTreeView, "underwaterTreeView"); - this.underwaterTreeView.Name = "underwaterTreeView"; - this.underwaterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView3_AfterSelect); - this.underwaterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView3_KeyDown); - // - // fogTreeView - // - this.fogTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.fogTreeView, "fogTreeView"); - this.fogTreeView.Name = "fogTreeView"; - this.fogTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView4_AfterSelect); - this.fogTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView4_KeyDown); - // - // colorsTab - // - this.colorsTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.colorsTab.Controls.Add(this.colorTreeView); - resources.ApplyResources(this.colorsTab, "colorsTab"); - this.colorsTab.Name = "colorsTab"; - // - // colorTreeView - // - this.colorTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.colorTreeView, "colorTreeView"); - this.colorTreeView.Name = "colorTreeView"; - this.colorTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); - this.colorTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); - // - // tabControl - // - resources.ApplyResources(this.tabControl, "tabControl"); - this.tabControl.Controls.Add(this.colorsTab); - this.tabControl.Controls.Add(this.waterTab); - this.tabControl.Controls.Add(this.underwaterTab); - this.tabControl.Controls.Add(this.fogTab); - this.tabControl.Name = "tabControl"; - this.tabControl.SelectedIndex = 0; - this.tabControl.Style = MetroFramework.MetroColorStyle.White; - this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; - this.tabControl.UseSelectable = true; - // - // underwaterTab - // - this.underwaterTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.underwaterTab.Controls.Add(this.underwaterTreeView); - resources.ApplyResources(this.underwaterTab, "underwaterTab"); - this.underwaterTab.Name = "underwaterTab"; - // - // fogTab - // - this.fogTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.fogTab.Controls.Add(this.fogTreeView); - resources.ApplyResources(this.fogTab, "fogTab"); - this.fogTab.Name = "fogTab"; + this.targetUpdateToolToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.TU12ToolStripMenuItem, + this.TU13ToolStripMenuItem, + this.TU14ToolStripMenuItem, + this.TU19ToolStripMenuItem, + this.TU31ToolStripMenuItem, + this.TU32ToolStripMenuItem, + this.TU43ToolStripMenuItem, + this.TU46ToolStripMenuItem, + this.TU51ToolStripMenuItem, + this.TU53ToolStripMenuItem, + this.TU54ToolStripMenuItem, + this.TU69ToolStripMenuItem, + this._1_9_1ToolStripMenuItem}); + this.targetUpdateToolToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.targetUpdateToolToolStripMenuItem.Name = "targetUpdateToolToolStripMenuItem"; + resources.ApplyResources(this.targetUpdateToolToolStripMenuItem, "targetUpdateToolToolStripMenuItem"); // // COLEditor // @@ -553,21 +553,21 @@ namespace PckStudio.Forms.Editor private ToolStripMenuItem restoreOriginalColorToolStripMenuItem; private MetroFramework.Controls.MetroTextBox metroTextBox1; private MetroFramework.Controls.MetroLabel metroLabel2; - private ToolStripMenuItem targetUpdateToolToolStripMenuItem; - private ToolStripMenuItem TU12ToolStripMenuItem; - private ToolStripMenuItem TU13ToolStripMenuItem; - private ToolStripMenuItem TU14ToolStripMenuItem; - private ToolStripMenuItem TU19ToolStripMenuItem; - private ToolStripMenuItem TU31ToolStripMenuItem; - private ToolStripMenuItem TU32ToolStripMenuItem; - private ToolStripMenuItem TU43ToolStripMenuItem; - private ToolStripMenuItem TU46ToolStripMenuItem; - private ToolStripMenuItem TU51ToolStripMenuItem; - private ToolStripMenuItem TU53ToolStripMenuItem; - private ToolStripMenuItem TU54ToolStripMenuItem; - private ToolStripMenuItem TU69ToolStripMenuItem; - private ToolStripMenuItem _1_9_1ToolStripMenuItem; - private ToolStripMenuItem copyColorToolStripMenuItem; - private ToolStripMenuItem pasteColorToolStripMenuItem; - } + private ToolStripMenuItem copyColorToolStripMenuItem; + private ToolStripMenuItem pasteColorToolStripMenuItem; + private ToolStripMenuItem targetUpdateToolToolStripMenuItem; + private ToolStripMenuItem TU12ToolStripMenuItem; + private ToolStripMenuItem TU13ToolStripMenuItem; + private ToolStripMenuItem TU14ToolStripMenuItem; + private ToolStripMenuItem TU19ToolStripMenuItem; + private ToolStripMenuItem TU31ToolStripMenuItem; + private ToolStripMenuItem TU32ToolStripMenuItem; + private ToolStripMenuItem TU43ToolStripMenuItem; + private ToolStripMenuItem TU46ToolStripMenuItem; + private ToolStripMenuItem TU51ToolStripMenuItem; + private ToolStripMenuItem TU53ToolStripMenuItem; + private ToolStripMenuItem TU54ToolStripMenuItem; + private ToolStripMenuItem TU69ToolStripMenuItem; + private ToolStripMenuItem _1_9_1ToolStripMenuItem; + } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index 2434a6be..d305ce62 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -17,7 +17,7 @@ namespace PckStudio.Forms.Editor { ColorContainer default_colourfile; ColorContainer colourfile; - ColorContainer.Color clipboard_color; + string clipboard_color = "#FFFFFF"; private readonly PckFileData _file; @@ -55,6 +55,9 @@ namespace PckStudio.Forms.Editor _1_9_1ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 12); SetUpDefaultFile(null, EventArgs.Empty, 11, false); + + colorTreeView.Select(); + colorTreeView.SelectedNode = colorTreeView.Nodes[0]; } private void SetUpDefaultFile(object sender, EventArgs e, int ID, bool targetVersion = true) @@ -151,6 +154,11 @@ namespace PckStudio.Forms.Editor { if (colorTreeView.SelectedNode.Tag == null) return; + + waterTreeView.SelectedNode = null; + underwaterTreeView.SelectedNode = null; + fogTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.Color)colorTreeView.SelectedNode.Tag; var color = colorEntry.ColorPallette.ToArgb(); SetUpValueChanged(false); @@ -168,6 +176,11 @@ namespace PckStudio.Forms.Editor { if (waterTreeView.SelectedNode.Tag == null) return; + + colorTreeView.SelectedNode = null; + underwaterTreeView.SelectedNode = null; + fogTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; int color = colorEntry.SurfaceColor.ToArgb(); SetUpValueChanged(false); @@ -187,6 +200,11 @@ namespace PckStudio.Forms.Editor { if (underwaterTreeView.SelectedNode.Tag == null) return; + + colorTreeView.SelectedNode = null; + waterTreeView.SelectedNode = null; + fogTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.WaterColor)underwaterTreeView.SelectedNode.Tag; int color = colorEntry.UnderwaterColor.ToArgb(); SetUpValueChanged(false); @@ -204,6 +222,11 @@ namespace PckStudio.Forms.Editor { if (fogTreeView.SelectedNode.Tag == null) return; + + colorTreeView.SelectedNode = null; + waterTreeView.SelectedNode = null; + underwaterTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.WaterColor)fogTreeView.SelectedNode.Tag; int color = colorEntry.FogColor.ToArgb(); SetUpValueChanged(false); @@ -338,22 +361,24 @@ namespace PckStudio.Forms.Editor private void color_ValueChanged(object sender, EventArgs e) { - Color fixed_color = new Color(); + Color color = Color.FromArgb(tabControl.SelectedTab == waterTab ? (int)alphaUpDown.Value : 255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value); + if (tabControl.SelectedTab == colorsTab) - { + { var colorEntry = (ColorContainer.Color)colorTreeView.SelectedNode.Tag; - colorEntry.ColorPallette = fixed_color = Color.FromArgb(255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value); + colorEntry.ColorPallette = color; } - else if (tabControl.SelectedTab != null && waterTreeView.SelectedNode != null) // just in case - { - var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; - fixed_color = Color.FromArgb(tabControl.SelectedTab == waterTab ? (int)alphaUpDown.Value : 255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value); - if (tabControl.SelectedTab == waterTab) colorEntry.SurfaceColor = fixed_color; - else if (tabControl.SelectedTab == underwaterTab) colorEntry.UnderwaterColor = fixed_color; - else colorEntry.FogColor = fixed_color; + else + { + var waterColorEntry = (tabControl.SelectedTab.Controls[0] as TreeView).SelectedNode.Tag as ColorContainer.WaterColor; + + if (tabControl.SelectedTab == waterTab) waterColorEntry.SurfaceColor = color; + else if (tabControl.SelectedTab == underwaterTab) waterColorEntry.UnderwaterColor = color; + else waterColorEntry.FogColor = color; } - pictureBox1.BackColor = fixed_color; + pictureBox1.BackColor = color; + colorTextbox.Text = ColorTranslator.ToHtml(color).TrimStart('#'); } private void setColorBtn_Click(object sender, EventArgs e) @@ -408,57 +433,48 @@ namespace PckStudio.Forms.Editor private void alpha_ValueChanged(object sender, EventArgs e) { - if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null && - waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; - pictureBox1.BackColor = colorEntry.SurfaceColor = Color.FromArgb((int)alphaUpDown.Value, colorEntry.SurfaceColor); - } + var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; + pictureBox1.BackColor = colorEntry.SurfaceColor = Color.FromArgb((int)alphaUpDown.Value, colorEntry.SurfaceColor); } private void restoreOriginalColorToolStripMenuItem_Click(object sender, EventArgs e) { - SetUpValueChanged(false); - if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode != null && - colorTreeView.SelectedNode.Tag != null && colorTreeView.SelectedNode.Tag is ColorContainer.Color colorInfoD) - { - var entry = default_colourfile.Colors.Find(color => color.Name == colorTreeView.SelectedNode.Text); - colorInfoD.ColorPallette = entry.ColorPallette; - UpdateDisplayColor(entry.ColorPallette); - } - else if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null && - waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfo) - { - var entry = default_colourfile.WaterColors.Find(color => color.Name == waterTreeView.SelectedNode.Text); - colorInfo.SurfaceColor = entry.SurfaceColor; - UpdateDisplayColor(entry.SurfaceColor); - } - else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode != null && - underwaterTreeView.SelectedNode.Tag != null && underwaterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoB) - { - var entry = default_colourfile.WaterColors.Find(color => color.Name == underwaterTreeView.SelectedNode.Text); - colorInfoB.UnderwaterColor = entry.UnderwaterColor; - UpdateDisplayColor(entry.UnderwaterColor); - } - else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode != null && - fogTreeView.SelectedNode.Tag != null && fogTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoC) - { - var entry = default_colourfile.WaterColors.Find(color => color.Name == fogTreeView.SelectedNode.Text); - colorInfoC.FogColor = entry.FogColor; - UpdateDisplayColor(entry.FogColor); - } - SetUpValueChanged(true); - } + if(tabControl.SelectedTab is var tab && tab != null) + { + TreeNode node = (tabControl.SelectedTab.Controls[0] as TreeView).SelectedNode; - private void UpdateDisplayColor(Color color) - { - alphaUpDown.Value = color.A; - redUpDown.Value = color.R; - greenUpDown.Value = color.G; - blueUpDown.Value = color.B; - pictureBox1.BackColor = Color.FromArgb(tabControl.SelectedTab == colorsTab ? 0xFF : color.A, color); - metroTextBox1.Text = pictureBox1.BackColor.ToString(); - } + Color color = Color.Empty; + + if (tab == colorsTab) + { + color = default_colourfile.Colors.Find(color => color.Name == node.Text).ColorPallette; + + if (color.IsEmpty) return; + + colorTextbox.Text = ColorTranslator.ToHtml(color).TrimStart('#'); + } + else + { + var WaterEntry = default_colourfile.WaterColors.Find(color => color.Name == node.Text); + + if (WaterEntry == null) return; + + color = + tab == waterTab ? WaterEntry.SurfaceColor : + tab == underwaterTab ? WaterEntry.UnderwaterColor : WaterEntry.FogColor; + + if (tab == waterTab) + { + alphaUpDown.Value = color.A; + } + + redUpDown.Value = color.R; + greenUpDown.Value = color.G; + blueUpDown.Value = color.B; + } + pictureBox1.BackColor = Color.FromArgb(tab == colorsTab ? 0xFF : color.A, color); + } + } private void metroTextBox1_TextChanged(object sender, EventArgs e) { @@ -533,66 +549,12 @@ namespace PckStudio.Forms.Editor private void copyColorToolStripMenuItem_Click(object sender, EventArgs e) { - var colorToCopy = new ColorContainer.Color() - { - Name = "", - ColorPallette = new Color() - }; - if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode.Tag is ColorContainer.Color colorInfoD) - { - colorToCopy = colorInfoD; - } - else if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfo) - { - colorToCopy.ColorPallette = colorInfo.SurfaceColor; - } - else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoB) - { - colorToCopy.ColorPallette = colorInfoB.UnderwaterColor; - } - else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoC) - { - colorToCopy.ColorPallette = colorInfoC.FogColor; - } - clipboard_color = colorToCopy; + clipboard_color = colorTextbox.Text; } private void pasteColorToolStripMenuItem_Click(object sender, EventArgs e) { - if (clipboard_color == null) return; - SetUpValueChanged(false); - Color fixed_color = Color.FromArgb(255, Color.FromArgb(0xff, clipboard_color.ColorPallette)); - - if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null && - waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = ((ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag); - colorEntry.SurfaceColor = fixed_color; - } - else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode != null && - underwaterTreeView.SelectedNode.Tag != null && underwaterTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = ((ColorContainer.WaterColor)underwaterTreeView.SelectedNode.Tag); - colorEntry.UnderwaterColor = fixed_color; - } - else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode != null && - fogTreeView.SelectedNode.Tag != null && fogTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = ((ColorContainer.WaterColor)fogTreeView.SelectedNode.Tag); - colorEntry.FogColor = fixed_color; - } - else if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode != null && - colorTreeView.SelectedNode.Tag != null && colorTreeView.SelectedNode.Tag is ColorContainer.Color) - { - var colorEntry = ((ColorContainer.Color)colorTreeView.SelectedNode.Tag); - colorEntry.ColorPallette = fixed_color; - } - - redUpDown.Value = clipboard_color.ColorPallette.R; - greenUpDown.Value = clipboard_color.ColorPallette.G; - blueUpDown.Value = clipboard_color.ColorPallette.B; - pictureBox1.BackColor = fixed_color; - SetUpValueChanged(true); + colorTextbox.Text = clipboard_color; } private void COLEditor_FormClosing(object sender, FormClosingEventArgs e) diff --git a/PCK-Studio/Forms/Editor/COLEditor.resx b/PCK-Studio/Forms/Editor/COLEditor.resx index d9de5a6d..c204e40f 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.resx +++ b/PCK-Studio/Forms/Editor/COLEditor.resx @@ -298,16 +298,16 @@ True - 367, 320 + 342, 320 - 21, 19 + 46, 19 16 - A: + Alpha: False @@ -328,16 +328,16 @@ True - 368, 395 + 351, 397 - 20, 19 + 37, 19 12 - B: + Blue: blueLabel @@ -355,16 +355,16 @@ True - 367, 371 + 341, 371 - 21, 19 + 47, 19 10 - G: + Green: greenLabel @@ -382,16 +382,16 @@ True - 368, 345 + 353, 345 - 20, 19 + 35, 19 8 - R: + Red: redLabel @@ -448,16 +448,16 @@ True - 342, 423 + 354, 423 - 46, 19 + 34, 19 3 - Color: + Hex: metroLabel1 @@ -522,36 +522,6 @@ False - - 20, 60 - - - 612, 24 - - - 3 - - - menuStrip1 - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - - 37, 20 - - - File - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -563,16 +533,16 @@ - 98, 22 + 180, 22 Save - - 119, 20 + + 37, 20 - - Target Update Tool + + File 416, 22 @@ -652,6 +622,81 @@ 1.91 (PS4) + + 119, 20 + + + Target Update Tool + + + 20, 60 + + + 612, 24 + + + 3 + + + menuStrip1 + + + menuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 125, 17 + + + 134, 22 + + + Copy Color + + + 134, 22 + + + Paste Color + + + 134, 22 + + + Restore + + + 135, 70 + + + ColorContextMenu + + + MetroFramework.Controls.MetroContextMenu, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + Fill + + + 0, 0 + + + No + + + 320, 424 + + + 0 + waterTreeView @@ -688,63 +733,6 @@ 1 - - 125, 17 - - - 187, 70 - - - ColorContextMenu - - - MetroFramework.Controls.MetroContextMenu, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - Fill - - - 0, 0 - - - No - - - 320, 424 - - - 0 - - - waterTreeView - - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - waterTab - - - 0 - - - 186, 22 - - - Restore original color - - - 186, 22 - - - Copy Color - - - 186, 22 - - - Paste Color - 0, 0 @@ -787,6 +775,18 @@ 0 + + Fill + + + 0, 0 + + + 320, 424 + + + 0 + colorTreeView @@ -823,78 +823,9 @@ 0 - - Fill - - - 0, 0 - - - 320, 424 - - - 0 - - - colorTreeView - - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - colorsTab - - - 0 - Top, Bottom, Left - - underwaterTab - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl - - - 2 - - - fogTab - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl - - - 3 - - - 23, 114 - - - 328, 466 - - - 22 - - - tabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 2 - 4, 38 @@ -943,6 +874,27 @@ 3 + + 23, 114 + + + 328, 466 + + + 22 + + + tabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 2 + True @@ -3479,10 +3431,22 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - targetUpdateToolToolStripMenuItem + + copyColorToolStripMenuItem - + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pasteColorToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + restoreOriginalColorToolStripMenuItem + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -3563,22 +3527,10 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - restoreOriginalColorToolStripMenuItem + + targetUpdateToolToolStripMenuItem - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - copyColorToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - pasteColorToolStripMenuItem - - + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089