From 15629e7f4715b67cca0081c0cee2bbdf6660f816 Mon Sep 17 00:00:00 2001 From: "SND\\eagleeyestudios_cp" Date: Sun, 26 Aug 2012 19:03:12 +0000 Subject: [PATCH] Imported Content Compiler GUI into Tools section --- Tools/ANX.Framework.Tools.sln | 44 +- .../ANX.ContentCompiler.GUI.csproj | 187 ++++++++ Tools/ANXContentCompilerGUI/App.config | 8 + .../Controls/ArrowButton.Designer.cs | 95 ++++ .../Controls/ArrowButton.cs | 52 +++ .../Controls/ArrowButton.resx | 120 +++++ .../Controls/RibbonButton.Designer.cs | 90 ++++ .../Controls/RibbonButton.cs | 55 +++ .../Controls/RibbonButton.resx | 120 +++++ .../Dialogues/FirstStartScreen.Designer.cs | 247 ++++++++++ .../Dialogues/FirstStartScreen.cs | 12 + .../Dialogues/FirstStartScreen.resx | 419 +++++++++++++++++ .../NewProjectImportersScreen.Designer.cs | 228 +++++++++ .../Dialogues/NewProjectImportersScreen.cs | 50 ++ .../Dialogues/NewProjectImportersScreen.resx | 120 +++++ .../NewProjectOutputScreen.Designer.cs | 228 +++++++++ .../Dialogues/NewProjectOutputScreen.cs | 42 ++ .../Dialogues/NewProjectOutputScreen.resx | 120 +++++ .../Dialogues/NewProjectScreen.Designer.cs | 220 +++++++++ .../Dialogues/NewProjectScreen.cs | 43 ++ .../Dialogues/NewProjectScreen.resx | 120 +++++ .../NewProjectSummaryScreen.Designer.cs | 159 +++++++ .../Dialogues/NewProjectSummaryScreen.cs | 34 ++ .../Dialogues/NewProjectSummaryScreen.resx | 136 ++++++ .../MainWindow.Designer.cs | 440 ++++++++++++++++++ Tools/ANXContentCompilerGUI/MainWindow.cs | 145 ++++++ Tools/ANXContentCompilerGUI/MainWindow.resx | 123 +++++ Tools/ANXContentCompilerGUI/Program.cs | 19 + .../Properties/AssemblyInfo.cs | 39 ++ .../Properties/Resources.Designer.cs | 113 +++++ .../Properties/Resources.resx | 136 ++++++ .../Properties/Settings.Designer.cs | 26 ++ .../Properties/Settings.settings | 8 + .../Resources/Deleket-Smileys-8.png | Bin 0 -> 71613 bytes .../Resources/arrow-left.png | Bin 0 -> 8983 bytes .../Resources/arrow-right.png | Bin 0 -> 8954 bytes .../ANXContentCompilerGUI/Resources/arrow.png | Bin 0 -> 3574 bytes .../Resources/clouds.png | Bin 0 -> 70980 bytes .../States/EditingState.Designer.cs | 134 ++++++ .../States/EditingState.cs | 19 + .../States/EditingState.resx | 120 +++++ .../States/StartState.Designer.cs | 116 +++++ .../States/StartState.cs | 12 + .../States/StartState.resx | 120 +++++ 44 files changed, 4517 insertions(+), 2 deletions(-) create mode 100644 Tools/ANXContentCompilerGUI/ANX.ContentCompiler.GUI.csproj create mode 100644 Tools/ANXContentCompilerGUI/App.config create mode 100644 Tools/ANXContentCompilerGUI/Controls/ArrowButton.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Controls/ArrowButton.cs create mode 100644 Tools/ANXContentCompilerGUI/Controls/ArrowButton.resx create mode 100644 Tools/ANXContentCompilerGUI/Controls/RibbonButton.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Controls/RibbonButton.cs create mode 100644 Tools/ANXContentCompilerGUI/Controls/RibbonButton.resx create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.resx create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.resx create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.resx create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.resx create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.cs create mode 100644 Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.resx create mode 100644 Tools/ANXContentCompilerGUI/MainWindow.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/MainWindow.cs create mode 100644 Tools/ANXContentCompilerGUI/MainWindow.resx create mode 100644 Tools/ANXContentCompilerGUI/Program.cs create mode 100644 Tools/ANXContentCompilerGUI/Properties/AssemblyInfo.cs create mode 100644 Tools/ANXContentCompilerGUI/Properties/Resources.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Properties/Resources.resx create mode 100644 Tools/ANXContentCompilerGUI/Properties/Settings.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/Properties/Settings.settings create mode 100644 Tools/ANXContentCompilerGUI/Resources/Deleket-Smileys-8.png create mode 100644 Tools/ANXContentCompilerGUI/Resources/arrow-left.png create mode 100644 Tools/ANXContentCompilerGUI/Resources/arrow-right.png create mode 100644 Tools/ANXContentCompilerGUI/Resources/arrow.png create mode 100644 Tools/ANXContentCompilerGUI/Resources/clouds.png create mode 100644 Tools/ANXContentCompilerGUI/States/EditingState.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/States/EditingState.cs create mode 100644 Tools/ANXContentCompilerGUI/States/EditingState.resx create mode 100644 Tools/ANXContentCompilerGUI/States/StartState.Designer.cs create mode 100644 Tools/ANXContentCompilerGUI/States/StartState.cs create mode 100644 Tools/ANXContentCompilerGUI/States/StartState.resx diff --git a/Tools/ANX.Framework.Tools.sln b/Tools/ANX.Framework.Tools.sln index 7291963f..fbe2364f 100644 --- a/Tools/ANX.Framework.Tools.sln +++ b/Tools/ANX.Framework.Tools.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANXStatusComparer", "ANXStatusComparer\ANXStatusComparer.csproj", "{9D8DC781-2E0D-4348-BAD9-745F91428A3F}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StockShaderCodeGenerator", "StockShaderCodeGenerator\StockShaderCodeGenerator.csproj", "{D73E5FF4-AE88-4637-8159-120FBDA564BF}" @@ -9,27 +9,67 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Project EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnxSampleBrowser", "AnxSampleBrowser\AnxSampleBrowser.csproj", "{938D5F88-B888-4B04-BEEE-EE701FBA51EF}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.ContentCompiler.GUI", "ANXContentCompilerGUI\ANX.ContentCompiler.GUI.csproj", "{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Debug|Any CPU.ActiveCfg = Debug|x86 + {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Debug|Mixed Platforms.Build.0 = Debug|x86 {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Debug|x86.ActiveCfg = Debug|x86 {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Debug|x86.Build.0 = Debug|x86 + {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Release|Any CPU.ActiveCfg = Release|x86 + {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Release|Mixed Platforms.Build.0 = Release|x86 {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Release|x86.ActiveCfg = Release|x86 {9D8DC781-2E0D-4348-BAD9-745F91428A3F}.Release|x86.Build.0 = Release|x86 + {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Debug|Any CPU.ActiveCfg = Debug|x86 + {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Debug|Mixed Platforms.Build.0 = Debug|x86 {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Debug|x86.ActiveCfg = Debug|x86 {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Debug|x86.Build.0 = Debug|x86 + {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Release|Any CPU.ActiveCfg = Release|x86 + {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Release|Mixed Platforms.Build.0 = Release|x86 {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Release|x86.ActiveCfg = Release|x86 {D73E5FF4-AE88-4637-8159-120FBDA564BF}.Release|x86.Build.0 = Release|x86 + {B5209A04-B2F8-4033-A5E7-545BE771214C}.Debug|Any CPU.ActiveCfg = Debug|x86 + {B5209A04-B2F8-4033-A5E7-545BE771214C}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {B5209A04-B2F8-4033-A5E7-545BE771214C}.Debug|Mixed Platforms.Build.0 = Debug|x86 {B5209A04-B2F8-4033-A5E7-545BE771214C}.Debug|x86.ActiveCfg = Debug|x86 + {B5209A04-B2F8-4033-A5E7-545BE771214C}.Release|Any CPU.ActiveCfg = Release|x86 + {B5209A04-B2F8-4033-A5E7-545BE771214C}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {B5209A04-B2F8-4033-A5E7-545BE771214C}.Release|Mixed Platforms.Build.0 = Release|x86 {B5209A04-B2F8-4033-A5E7-545BE771214C}.Release|x86.ActiveCfg = Release|x86 {B5209A04-B2F8-4033-A5E7-545BE771214C}.Release|x86.Build.0 = Release|x86 + {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Debug|Any CPU.ActiveCfg = Debug|x86 + {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Debug|Mixed Platforms.Build.0 = Debug|x86 {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Debug|x86.ActiveCfg = Debug|x86 {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Debug|x86.Build.0 = Debug|x86 + {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Release|Any CPU.ActiveCfg = Release|x86 + {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Release|Mixed Platforms.Build.0 = Release|x86 {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Release|x86.ActiveCfg = Release|x86 {938D5F88-B888-4B04-BEEE-EE701FBA51EF}.Release|x86.Build.0 = Release|x86 + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|x86.ActiveCfg = Debug|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|Any CPU.Build.0 = Release|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Tools/ANXContentCompilerGUI/ANX.ContentCompiler.GUI.csproj b/Tools/ANXContentCompilerGUI/ANX.ContentCompiler.GUI.csproj new file mode 100644 index 00000000..72eea06a --- /dev/null +++ b/Tools/ANXContentCompilerGUI/ANX.ContentCompiler.GUI.csproj @@ -0,0 +1,187 @@ + + + + + Debug + AnyCPU + {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3} + WinExe + Properties + ANX.ContentCompiler.GUI + ccompiler4 + v3.5 + 512 + + + + AnyCPU + true + full + false + ..\..\bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + ANX.ContentCompiler.GUI.Program + + + + + + + + + + + + + + + + UserControl + + + ArrowButton.cs + + + UserControl + + + RibbonButton.cs + + + Form + + + NewProjectSummaryScreen.cs + + + Form + + + NewProjectImportersScreen.cs + + + Form + + + NewProjectOutputScreen.cs + + + Form + + + NewProjectScreen.cs + + + Form + + + FirstStartScreen.cs + + + UserControl + + + EditingState.cs + + + UserControl + + + StartState.cs + + + Form + + + MainWindow.cs + + + + + ArrowButton.cs + + + RibbonButton.cs + + + NewProjectSummaryScreen.cs + + + NewProjectImportersScreen.cs + + + NewProjectOutputScreen.cs + + + NewProjectScreen.cs + + + FirstStartScreen.cs + + + EditingState.cs + + + StartState.cs + + + MainWindow.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/App.config b/Tools/ANXContentCompilerGUI/App.config new file mode 100644 index 00000000..b5da8a47 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/App.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Controls/ArrowButton.Designer.cs b/Tools/ANXContentCompilerGUI/Controls/ArrowButton.Designer.cs new file mode 100644 index 00000000..4029512c --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Controls/ArrowButton.Designer.cs @@ -0,0 +1,95 @@ +namespace ANX.ContentCompiler.GUI.Controls +{ + partial class ArrowButton + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.labelText = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // labelText + // + this.labelText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelText.Font = new System.Drawing.Font("Segoe UI Semibold", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelText.Location = new System.Drawing.Point(82, -1); + this.labelText.Name = "labelText"; + this.labelText.Size = new System.Drawing.Size(252, 90); + this.labelText.TabIndex = 0; + this.labelText.Text = "Test Text"; + this.labelText.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.labelText.Click += new System.EventHandler(this.labelText_Click); + this.labelText.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ArrowButton_MouseDown); + this.labelText.MouseEnter += new System.EventHandler(this.ArrowButton_MouseEnter); + this.labelText.MouseLeave += new System.EventHandler(this.ArrowButton_MouseLeave); + this.labelText.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ArrowButton_MouseUp); + // + // pictureBox1 + // + this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.pictureBox1.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.arrow; + this.pictureBox1.Location = new System.Drawing.Point(17, 16); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(55, 61); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 1; + this.pictureBox1.TabStop = false; + this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); + this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ArrowButton_MouseDown); + this.pictureBox1.MouseEnter += new System.EventHandler(this.ArrowButton_MouseEnter); + this.pictureBox1.MouseLeave += new System.EventHandler(this.ArrowButton_MouseLeave); + this.pictureBox1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ArrowButton_MouseUp); + // + // ArrowButton + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.labelText); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.Name = "ArrowButton"; + this.Size = new System.Drawing.Size(337, 93); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ArrowButton_MouseDown); + this.MouseEnter += new System.EventHandler(this.ArrowButton_MouseEnter); + this.MouseLeave += new System.EventHandler(this.ArrowButton_MouseLeave); + this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ArrowButton_MouseUp); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label labelText; + private System.Windows.Forms.PictureBox pictureBox1; + } +} diff --git a/Tools/ANXContentCompilerGUI/Controls/ArrowButton.cs b/Tools/ANXContentCompilerGUI/Controls/ArrowButton.cs new file mode 100644 index 00000000..47cd98e9 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Controls/ArrowButton.cs @@ -0,0 +1,52 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Controls +{ + public partial class ArrowButton : UserControl + { + public ArrowButton() + { + InitializeComponent(); + } + + [EditorBrowsable(EditorBrowsableState.Always)] + public String Content + { + get { return labelText.Text; } + set { labelText.Text = value; } + } + + private void ArrowButton_MouseEnter(object sender, EventArgs e) + { + BorderStyle = BorderStyle.FixedSingle; + } + + private void ArrowButton_MouseLeave(object sender, EventArgs e) + { + BorderStyle = BorderStyle.None; + } + + private void ArrowButton_MouseDown(object sender, MouseEventArgs e) + { + BackColor = Color.Green; + } + + private void ArrowButton_MouseUp(object sender, MouseEventArgs e) + { + BackColor = Color.Transparent; + } + + private void pictureBox1_Click(object sender, EventArgs e) + { + OnClick(e); + } + + private void labelText_Click(object sender, EventArgs e) + { + OnClick(e); + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Controls/ArrowButton.resx b/Tools/ANXContentCompilerGUI/Controls/ArrowButton.resx new file mode 100644 index 00000000..5ea0895e --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Controls/ArrowButton.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Controls/RibbonButton.Designer.cs b/Tools/ANXContentCompilerGUI/Controls/RibbonButton.Designer.cs new file mode 100644 index 00000000..537d0d24 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Controls/RibbonButton.Designer.cs @@ -0,0 +1,90 @@ +namespace ANX.ContentCompiler.GUI.Controls +{ + partial class RibbonButton + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Komponenten-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.pictureBox = new System.Windows.Forms.PictureBox(); + this.labelText = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox + // + this.pictureBox.Location = new System.Drawing.Point(0, 0); + this.pictureBox.Name = "pictureBox"; + this.pictureBox.Size = new System.Drawing.Size(60, 60); + this.pictureBox.TabIndex = 0; + this.pictureBox.TabStop = false; + this.pictureBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.RibbonButton_MouseDown); + this.pictureBox.MouseEnter += new System.EventHandler(this.RibbonButton_MouseEnter); + this.pictureBox.MouseLeave += new System.EventHandler(this.RibbonButton_MouseLeave); + this.pictureBox.MouseHover += new System.EventHandler(this.RibbonButton_MouseHover); + this.pictureBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.RibbonButton_MouseUp); + // + // labelText + // + this.labelText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelText.Location = new System.Drawing.Point(2, 61); + this.labelText.Name = "labelText"; + this.labelText.Size = new System.Drawing.Size(57, 16); + this.labelText.TabIndex = 1; + this.labelText.Text = "Button"; + this.labelText.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.labelText.MouseDown += new System.Windows.Forms.MouseEventHandler(this.RibbonButton_MouseDown); + this.labelText.MouseEnter += new System.EventHandler(this.RibbonButton_MouseEnter); + this.labelText.MouseLeave += new System.EventHandler(this.RibbonButton_MouseLeave); + this.labelText.MouseHover += new System.EventHandler(this.RibbonButton_MouseHover); + this.labelText.MouseUp += new System.Windows.Forms.MouseEventHandler(this.RibbonButton_MouseUp); + // + // RibbonButton + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.Controls.Add(this.labelText); + this.Controls.Add(this.pictureBox); + this.ForeColor = System.Drawing.Color.White; + this.Name = "RibbonButton"; + this.Size = new System.Drawing.Size(60, 79); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.RibbonButton_MouseDown); + this.MouseEnter += new System.EventHandler(this.RibbonButton_MouseEnter); + this.MouseLeave += new System.EventHandler(this.RibbonButton_MouseLeave); + this.MouseHover += new System.EventHandler(this.RibbonButton_MouseHover); + this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.RibbonButton_MouseUp); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox; + private System.Windows.Forms.Label labelText; + } +} diff --git a/Tools/ANXContentCompilerGUI/Controls/RibbonButton.cs b/Tools/ANXContentCompilerGUI/Controls/RibbonButton.cs new file mode 100644 index 00000000..4edddbf5 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Controls/RibbonButton.cs @@ -0,0 +1,55 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Controls +{ + public partial class RibbonButton : UserControl + { + public RibbonButton() + { + InitializeComponent(); + } + + [Category("Content"), Description("Text der auf dem Button gezeigt werden soll.")] + public String Content + { + get { return labelText.Text; } + set { labelText.Text = value; } + } + + [Category("Design"), Description("Das Bild, das als Icon dienen soll. (60x60)")] + public Image Image + { + get { return pictureBox.Image; } + set { pictureBox.Image = value; } + } + + private void RibbonButton_MouseEnter(object sender, EventArgs e) + { + BackColor = Color.LightGray; + } + + private void RibbonButton_MouseDown(object sender, MouseEventArgs e) + { + BackColor = Color.LimeGreen; + OnClick(new EventArgs()); + } + + private void RibbonButton_MouseUp(object sender, MouseEventArgs e) + { + BackColor = Color.LightGray; + } + + private void RibbonButton_MouseLeave(object sender, EventArgs e) + { + BackColor = Color.FromArgb(0, 64, 64, 64); + } + + private void RibbonButton_MouseHover(object sender, EventArgs e) + { + //BackColor = Color.LightGray; + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Controls/RibbonButton.resx b/Tools/ANXContentCompilerGUI/Controls/RibbonButton.resx new file mode 100644 index 00000000..29dcb1b3 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Controls/RibbonButton.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.Designer.cs b/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.Designer.cs new file mode 100644 index 00000000..9650582a --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.Designer.cs @@ -0,0 +1,247 @@ +namespace ANX.ContentCompiler.GUI.Dialogues +{ + partial class FirstStartScreen + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FirstStartScreen)); + this.labelTour = new System.Windows.Forms.Label(); + this.labelSkip = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.pictureBoxSmiley = new System.Windows.Forms.PictureBox(); + this.pictureBoxArrowLeft = new System.Windows.Forms.PictureBox(); + this.pictureBoxArrowRight = new System.Windows.Forms.PictureBox(); + this.labelHeading = new System.Windows.Forms.Label(); + this.labelSlogan = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label1 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSmiley)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArrowLeft)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArrowRight)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // labelTour + // + this.labelTour.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelTour.Location = new System.Drawing.Point(387, 260); + this.labelTour.Name = "labelTour"; + this.labelTour.Size = new System.Drawing.Size(172, 60); + this.labelTour.TabIndex = 3; + this.labelTour.Text = "May I show you around?"; + this.labelTour.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelSkip + // + this.labelSkip.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelSkip.Location = new System.Drawing.Point(114, 274); + this.labelSkip.Name = "labelSkip"; + this.labelSkip.Size = new System.Drawing.Size(120, 60); + this.labelSkip.TabIndex = 4; + this.labelSkip.Text = "Or do you know\r\nme already?"; + this.labelSkip.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // button1 + // + this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.button1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button1.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.button1.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button1.Location = new System.Drawing.Point(12, 358); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 30); + this.button1.TabIndex = 5; + this.button1.Text = "Skip"; + this.button1.UseVisualStyleBackColor = true; + // + // button2 + // + this.button2.DialogResult = System.Windows.Forms.DialogResult.OK; + this.button2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button2.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.button2.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button2.Location = new System.Drawing.Point(504, 358); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(84, 30); + this.button2.TabIndex = 6; + this.button2.Text = "Take Tour"; + this.button2.UseVisualStyleBackColor = true; + // + // button3 + // + this.button3.DialogResult = System.Windows.Forms.DialogResult.Abort; + this.button3.FlatAppearance.BorderSize = 0; + this.button3.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.button3.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button3.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button3.Location = new System.Drawing.Point(572, -1); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(26, 23); + this.button3.TabIndex = 7; + this.button3.Text = "X"; + this.button3.UseVisualStyleBackColor = true; + // + // pictureBoxSmiley + // + this.pictureBoxSmiley.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.Deleket_Smileys_8; + this.pictureBoxSmiley.Location = new System.Drawing.Point(238, 129); + this.pictureBoxSmiley.Name = "pictureBoxSmiley"; + this.pictureBoxSmiley.Size = new System.Drawing.Size(143, 139); + this.pictureBoxSmiley.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBoxSmiley.TabIndex = 2; + this.pictureBoxSmiley.TabStop = false; + // + // pictureBoxArrowLeft + // + this.pictureBoxArrowLeft.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxArrowLeft.Image"))); + this.pictureBoxArrowLeft.Location = new System.Drawing.Point(176, 274); + this.pictureBoxArrowLeft.Name = "pictureBoxArrowLeft"; + this.pictureBoxArrowLeft.Size = new System.Drawing.Size(118, 114); + this.pictureBoxArrowLeft.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBoxArrowLeft.TabIndex = 8; + this.pictureBoxArrowLeft.TabStop = false; + // + // pictureBoxArrowRight + // + this.pictureBoxArrowRight.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxArrowRight.Image"))); + this.pictureBoxArrowRight.Location = new System.Drawing.Point(317, 274); + this.pictureBoxArrowRight.Name = "pictureBoxArrowRight"; + this.pictureBoxArrowRight.Size = new System.Drawing.Size(119, 114); + this.pictureBoxArrowRight.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBoxArrowRight.TabIndex = 9; + this.pictureBoxArrowRight.TabStop = false; + // + // labelHeading + // + this.labelHeading.BackColor = System.Drawing.Color.Transparent; + this.labelHeading.Font = new System.Drawing.Font("Segoe UI", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelHeading.Location = new System.Drawing.Point(229, 55); + this.labelHeading.Name = "labelHeading"; + this.labelHeading.Size = new System.Drawing.Size(171, 48); + this.labelHeading.TabIndex = 0; + this.labelHeading.Text = "Hello."; + this.labelHeading.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelSlogan + // + this.labelSlogan.BackColor = System.Drawing.Color.Transparent; + this.labelSlogan.Font = new System.Drawing.Font("Segoe UI", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelSlogan.Location = new System.Drawing.Point(264, 95); + this.labelSlogan.Name = "labelSlogan"; + this.labelSlogan.Size = new System.Drawing.Size(223, 27); + this.labelSlogan.TabIndex = 1; + this.labelSlogan.Text = "Are you new here?"; + this.labelSlogan.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // pictureBox1 + // + this.pictureBox1.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.clouds; + this.pictureBox1.Location = new System.Drawing.Point(-42, 73); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(264, 80); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 13; + this.pictureBox1.TabStop = false; + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.button2); + this.panel1.Controls.Add(this.button3); + this.panel1.Controls.Add(this.labelSlogan); + this.panel1.Controls.Add(this.button1); + this.panel1.Controls.Add(this.pictureBoxSmiley); + this.panel1.Controls.Add(this.labelSkip); + this.panel1.Controls.Add(this.labelTour); + this.panel1.Controls.Add(this.pictureBoxArrowLeft); + this.panel1.Controls.Add(this.pictureBoxArrowRight); + this.panel1.Controls.Add(this.labelHeading); + this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(600, 400); + this.panel1.TabIndex = 14; + // + // label1 + // + this.label1.Location = new System.Drawing.Point(-4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(570, 22); + this.label1.TabIndex = 14; + this.label1.Text = "First Start"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // FirstStartScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ClientSize = new System.Drawing.Size(600, 400); + this.Controls.Add(this.panel1); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "FirstStartScreen"; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FirstStartScreen"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSmiley)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArrowLeft)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArrowRight)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label labelHeading; + private System.Windows.Forms.Label labelSlogan; + private System.Windows.Forms.PictureBox pictureBoxSmiley; + private System.Windows.Forms.Label labelTour; + private System.Windows.Forms.Label labelSkip; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.PictureBox pictureBoxArrowLeft; + private System.Windows.Forms.PictureBox pictureBoxArrowRight; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.cs b/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.cs new file mode 100644 index 00000000..3acd877b --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.cs @@ -0,0 +1,12 @@ +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Dialogues +{ + public partial class FirstStartScreen : Form + { + public FirstStartScreen() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.resx b/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.resx new file mode 100644 index 00000000..1debbb84 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/FirstStartScreen.resx @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAAIAAAABvCAYAAAAkLMicAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH + DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp + bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE + sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs + AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4 + JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR + 3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd + li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF + ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX + wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF + hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55 + 4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ + VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB + 5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC + qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE + j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I + 1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9 + rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG + fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp + B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ + yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC + YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln + yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v + vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp + vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L + Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA + bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z + llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW + ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s + xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6 + eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw + YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR + XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm + WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl + xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2 + dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8 + V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za + Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v + Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb + PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/ + 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h + /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr + XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS + fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+ + tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/ + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDAAACwwBP0AiyAAAFu9JREFUeF7tXU3ILUcR + fTF/xjx/kqAmohBEEBR/ke+JGk3Mw0BAXYmIiCiCgm4kCREMifg+BdGVuFLIwoULRRQ3blwoEgQXSggh + REREJOgiiASREB6fXd1dPaeqT3XPTVx80N9iuPfO9MydO1V16tSpnrnnTk5Ozq223HB84dwrLh2dk9cb + jo/y+7zI+7p063VMfdVj6H75Mx7LjW/fAevlO8xx8Dza98D59ce8up2nP2/9LZPzWM744uzGWAOjoaM0 + 48L4YsDqNNmhNoMaBxoYljoAGW8caDuHL6Tz+kHadoNxYjS6/33OMZZ0ALxYzQD1QqFBu4vu0WIQXeoA + JkK76LfR7c+loRJ3iOuS8U/SmJP8enz0QFpe3CGNnjO8otMt6wBq6BbFPg34KAqQotsfU4S/+N5h3DEV + QYwjNMcsaQuWb6bx6AD6/jNpzJWdIzvkUkRb1gEsCmwXlkYhOIfP/cgZum07eMCQN8Tp6WU58tPSnKB+ + LusuyLYPRb+x8J/ym88cgEQhEjtqcCWM8EpzPhA55B2e/HXpoh5X0YWkkV+oA/hXdYjqBH9Nn9+hTsbQ + 6swBIBoYU/frOtI24gVKCpUsjlLAqIKw1cItLcohBVSDlzTQo8Gv07pb2e87c4DAKJ7dIyHron0HOSwl + Z192KjLgMcPSrpzrPxX6Gfz71CBjsnMUZ3k4LTdialjbAQwzHtbbhoCN4N4w91EtHmkAmF56DvH2Lu9n + A7dKoEOAIFU8lNZfJ79jWQdgkVfIUWXbBJIxMkf1+xAh1MCO3Y+/tyGHg3cP91tVwFICQYyXLOsAXT4M + yOAw2n1unwlBhhROEAdLyPL+wy3SXZ7PUV75gDd8mCbK+GvPHMCLLArbzCFQLBoQurBycEKQcUJIF1Sp + VKhH4ysJJA4BeT8qFy8sXwayun1K8EZsPZB8/THZZ0o6N8T4klH9asSb6GYOwisCQYtHk/GvkN+/LgIg + QWNGHRC4xubrGJomCJJMySMXjq5MxvqvLe0g91cC2EE9qoQ9Qtx6JgRNanJP8myZ1hPFYVOHCEfYXJo0 + hL7L8ngI8VgVNLUwK4NaLfwEye6aCNDl905nz63dBssB7KtThAb0nMEfh322684nY/2HlXJR6decRev/ + rVmkTvBK5B5rOwBc7FHEo3BC3x8gCVPtHxm/bUL9LKjjtQOoun817gXzueMNl46+53/n2g7gRRdiCCRn + GDnTfM6MOkES51yvM8YPyjwxsieDaHjY9lxaL4hi5kOs6QCmHCPw7/jB1NjaTxg5kEGbbRLJoBv4K+YA + HSKgA0BZSISgrxqVsp7z2g7QWDxo9Bilo5IPOYJT95jIpNCLENwpi5uQ9LYWxcrga06fEkKnDVRH+Ec6 + J6kmWhtYz2NtByCVgBjFMv5+rkC03UB4FPGgBgZq5BVp/R9bpA/EHlQAOVEs7D8tn4iQZm0HcNG+Rak1 + OkYqGpmN74w6au60KgHS0PHRXRHMY/QzWVi3y6tEfv0s0e9nE7VJsEs6wLR8I4qeuYge/n2dT9KIRxaF + Y8cvrkqR+sxI12+53SNDI4lbX6AixHtG5HVdB2C5HuHfGZkRQezgdUJRcPwwGovTfbqw+gbdrcnT4H6o + /9vuYDrWU9b4PeFd0gF8LR+y/Bkh3EhbD7HVgVrke07Qo8w1o06eJ3+MDLrUcTl9fr1n/p4LrOkAlf13 + F4fk66b7A4P2DoTHGY63Io+/KeSSGLDk722Sx8jQJc878WebLPrY9Pel67CmA3hjOuaP5VLA1Lu7iSLB + iBlBxwI6pNk5APvQ3zdRHaQH3xeo+9zQSdQE0ZZ1gKGRq1qGOX7I7oleMHSIfg7CLzX68bWrBkAT8Ntc + hfDj9vtcpeHT3ZIOYMlbuacvr/OGBGTAysEYdyIWtaYSE4vKvq9WY7bSDiId17E5AQE5vNb/FmN4SIFL + OsCMGYekECK3u6BOY6c8wXGAOuavLZqxlNtu8IDpXjE30BSSXr+mN6uMUO5MCaSw/QL6Aj6/jpBhc6Q3 + awSreNOaO9FED8cPVPABDpElX79QCTqNWx4B9EIpIaO9fTWmK+U6pIhKPabEFRhuM31YmYfKHuZ8T/ra + vsdJ8p01sir867mfOQCpAAp06jMEYhk10teNE2m+7RHhTg/9+HlHnd/mBFQUeTbtQ6N/5BTLOgCSvhbJ + 3hlQL4jyf5D7uXJonOmZkOVv07e6mz8NKti7fm4zJSfTOlz0yzku6wAI/RjJQwJoIN7yhZJC4qeEtMqh + HONz1Ph6h8+Oad6uXfyHdDzpItonnkSdR3D0Mweo9+wZmNxD4LxqSKJLDYIIk9ZdmYz39Nbwcbd1kUmd + 4iysHCzEMev/b4wcd+SY4rBrOkATR+zjXcJc6RxCCWPItOH4xDDfMtFrZvG4Zg48A2Ar81y379KR3CpO + n3PEqgEsEWX7mg4AF8yWR7wMpJVBg1fyoCkgkTj9O13wl6bl2Y78TSZ9oEzckcPjo5s190/1C5IS1nQA + zYEM6n3JR9ACI2uU99u47Xt+WOC8b+C00o5N6QocJBn84Qbxbk6CrsdXlubWdACnxXsUiLQAjLAQFQL+ + kPa9BaGfRrVPB8zwm1ooGsL1B3EXL1YtmwIwqplIE4kpRBAa5VlHwH7RiBy7uxcbPcTwzWG2bd+gnIWh + W13HhKu1EWBkfBItM+hvpZ6vEBJLN3kfyz14D6yePvwJEORf6Xgvos43+E2uGsnNrzMHaK3f/U8IKeUd + v51MCRloC1KfP5qNF0A6Ejv7vjzaZRN/2pyBzxJ+YfX/qJR16LeuAyCcR2SwXaygSURQgpSI72/RP4J+ + 82CnwFnKmP/2rd74qSbqKGxyyLJKICuXGDy2aJ7wBFZK1uMJTPcPaIC2L5LBbWyNdD7z944o9/vztaTV + qYTVeddFAFcJFFiHh0YHRo9mCQWKm3Tnwgc3GeMH07w1ddQ0IBoCnYA6TQmuTNTxazoAUfam0T7oAwRk + 7Cpv/C2Xw9Rv29DhaLE5h5BJwz+M0450De/wVbpe0wFqNPBUsOV7s93Iu5v6N1AJ8yzfvOyUe9FhdKIH + TBD5Szh1zZNSaPZQwgqOsqQDRFr+Rpjs3butvNuJAmm8PLW73eDRsXyEe31PRKBSFjbmbx7sYEvSPnUN + eQ6gwbIOYFvA5Smehl0TQcXU+ZBTCYH8mZ+145GApQfVATrR5/hIRCTLUVyUGw4zE7egulnSAQxhGihn + CJ9qgFFjqPKImzz0IwI0R3ATQAtiaMVQb+zcUOE6BuWdQ7KuICO3q6cAOpULKoDpdDDkEJVMAYl8ggo+ + OMsXK4OAHzSnOT76uiGZ+H3e4GDsVpXAuZp1dd+1EYBAZdTdU5jHqCNo8IZk/Mtdzvdk0KuCUTu4cIBr + NPqt3jAvWdXRGR/QbWs6QKTza3QF5RSvCoxKKHfjdszf5HtK+urTvI3sm4/zKQ79ejOLcwJMZ07yLRUE + kNuVEQCjOYoOI/jAhWsI0V9MmZTZPczZE7qODxgJ2NwfKA0feV6Ane2DOZ2kAK9JbL+Vy9lLIoCJBBI1 + XhRikUPg/6lSs7dn87M/buANIYca9RgXZ4RTtncVyI4KYOM4q84JjC4Sg/6+tWsishrgk7Myr+kCjv1r + 6ed0gzbL1ztj+xypmQc4gBxrSQToWLW7aBrxBu7rGFOPF+cQyVeew2M1/3Aal70NvEOMst9brNCzaRRd + yiJ53VcxrFm1NAmkF4Q2h4Kev1UE5fl79rEuMyJIOoSbBnD0q0bYwDExl4epAcQhy3Oq0EU4w5IIQIlf + JVezvOtI1nnWzqWs39X+2eC8LfwaP3XbEzv9PCrvRjwGS90lHUAvMFXSIqGFt2G/20E/RjfT/MeTQn4e + qXvM2EabaClq+1/kPY6zpgOMiF0gp7aLucG/NGd2Q38he+3Zfa3tC4qfPBX8+lHZFyEXRYyI0DpHPnOA + GWuOa+3U8Akme7j1kN9H/+olaNI9paRLSR3753cxo7NEqHJWBaioEpRUmCtdvf16zOEFCeLburoS0eX/ + tF1m+vSzfCel3latFLHIiD6EEG7S8EZu10UA1zhhDSIPufWzzPItDZ8dpV7X2uUc4ItoQKwCwrIvG3hQ + pfRNKoMuuu/SDkDyehN5GmzCha4X7d2R4ZEQdogQpYvCI9wfUzrDQjTTTmZQLlotgTePzhxgpApW44P4 + I9Ef5/G4tLNz/WxD6G4T/Tv0fcruoZ3dCV0Bb1iXA+xkyAQhPt4cgHT1Rs5BOUJxGPpAJ0bcEJWi7h7V + CKDf4XnNsghQohraqq59SmC5zPGf1fa1pdsk3qAiqM7y1o75+9weRbZHrkASNk5D0G5ZB2iRN9TSzXP8 + Hzg4wrE6MDN/cj/g7wr9w/qeSNQY5ZqeRqUeSxnLk0AT4R6G+x781d74oQYw6QOAJnBzyPBn2gRNG7YU + 9LwicrI1EWBSIvUX78KPjAOwvv9gLkDRCcyNnj/tcnU9py0t4f0J7t4/24zayrvDZOzMPdZ0AFM29bW0 + y/8vx6aN4QGstJuog1UOlkfFtL9t8c7Q+AnL8zN08PqGF7uc8yzpAFHHj0FyWvdIV/ejCDSoBlQEcj0A + uWOI/oePV/aicm/XuK45RHSA5AxLOkAXfURyrc5w6xb9bqoXM3wv8faagdw1BMye8gDiIH6Sh/8Ne9rY + Ts5eOwVEOrpTzx73dT/2/0f6f7Dt81H0t3IQy75Wmk6UQqIEor4wqhDWRoBxW/jdQ+Y/a/701YBMG5Pp + Y1vuD2p8FqmNmDq9whPWzsFAzWSi07oOEEQXGOhP6gASzVC+xc/vwbTQO8hHPNxPYZtVKyOnJePDhlEm + hwvPCmY6ABjoY0z0MWSuKX7WOXA/SAOP4V066Ah7OYCPbAProGqacVUCHs0pWBcB6OSLDM9mlm+TdBHS + WRUwnur1rmnuZ5FtSjZXOTixKiwdXTXgyeOSDtAigiuAXx7p/ZgKGEoYnaA4xe9VrmXTvXxuNxL1qFxE + h3H9g45DEOVQHWFJB+jhtLFsefJmV7oh85ftW31PHgDV7/9aT75MBRIZB2B9r85v0okpNYmSWLefOYCV + T7+9ET/3P37QCcQSLyoFi6OkOf4RBLvoZnW+rGP5u3MIX02Qzw2FHHKcuz6tYMv59OWyRNtH+9VtF9Pr + TYfs77/v/KV9339ycnKQI3sorpFzY7m3L76/DzWBHeNknt/5Pvr7P5pw2kOe24eGZ5G9q4Lwk0ucY8hx + p0aeOYFuF2NVg70mGf136f1J2vaqF+IAum90Drr+YAfgvYCfmnl+A1UPy8Ia6WyW0PdNjR6KOm4mMEkJ + BQnIfwKA7k+Rhhg8j4NjTR0gQgey/uq07lIyykl61eVVMwfC42TUEUeqyONfZSw73v/BAV6n0d9ex6y+ + Gdw7A5DAfGt3V+YF0K+GMQTOpifaP/AG3RyhGBpnALWxcF4G4vHi7oFfGHNnev9vMHxzgEMQIDJwQ4Ka + Esx5Jmd5Pg4AeVTm+W1/3giTOGh+JwpgG7ehxj1dpUEju5/ZyxyGOpFHFJ/3o64hOFVOAV0Eurw/coRk + iFvS/o9kuE8LOoAgQbqw9yYvlEebynJXei9/lfbetNyWvvwD6VWeo/v++l62fSiNuVj3uZg+y3t58MJ7 + 0quMvT2NvU3ep1c95l31+LJO9pFx8h1y/DuSIW7XffM5XDq6O437YFr/vjrmmy2345Sv8VSuOskTiCKo + hel4+Q+cwpLOOQOSOhqxg/a1kruQNwxKQDlHzduHkj2B+6+TiM9OoGkgfcGf0/JoOjlZHk8XRP7SXO59 + /2NejutreS9qWV5kfNourzJexuo+sl73zcesi7yX9d34+t1yfNlXmjuy6HHktZ/f76Pcd/6QLDqnSQb8 + aDO+izZZP08J5CaPkUjkuYGP/JoGPGnUz9nwLNfqepIWPpi2/Ssyvq6vCLA9L0fZ9Z6JlXCDZVSDi+FK + /iXl2u78DQ9ljiZymPLPRrwihzsHG/2eiZNmEGP52Yn8WFcdmO3U8ONH4JsUMIT6kntvTstv0cAK+5Xx + mxRQx10urzY9eOfx6WOGLBll4JgGwgmMNwNNZuvQVOCcyfMClIrTtndumj+/aydEACR8QVQP0aNxAp56 + ut6HCkGMVWNply62wP3XmFEc4+84gKaD2TjcLu/ZeF3nx8p3FDToHq5o8jQhah30d6QPoB+3Be+fTMa/ + grVch+u84dQRfO5muXyHo4ycJncDGUsHNLgjbX+6i1hb6pW8P4nyWcp4vtvlezsECKZjD5ECGzwM9hE9 + +DQwKSXNrWWhWANQHhkIiaFyClQLR0KQP6Y/lhJHOd+urq7GF7j/DcL9oQYaRT1zqJEDzY6lfEAJnUao + iWjL0hs3oWMZh9D9+UTQnxjox6jGPB718idM3VQUpiLo6/xR61c5A1YMHgEE7h9CJs8g91BnGI2fIcfM + +JoCvIBTUkJMEDu4D4zO0CUrhpbMyvOBu1m+HevHWj0wukZvH7XB39YQkokaREOD4LubAyRD3K5wn/Mw + qeu9MabGg2PsMeQhjoXHawZR6OdRam/QZOUfOsGoKrC84zuGsXdKn71vP6rzN8PXJ4IxUufLyB3IwVIM + Opc4wKvT8uthlJKcf4ixnm8qQQdTp2SOhFE6LQ3BsD2jtw96GKaQ7Tj5zxvDvNvqcD4te4824FMAzf8D + cSlKIZkDJOOYfP98DEsrhBr9EUogq3+h6GDg2M/LU3IXKXtVS2AVwIwfJEPc0+X+bHB2x++4Jg+NRNrJ + HYpkBxz8c5ieE6ksUAiijH9Uk4+My7ax1IJ8Y0+pyWTnLicTwpaNaco6J+qAo1B+0KcEeTSsneWrhtgB + zbZi2J/f0VFM2iDav+ERpGSU7YwE0po/Mg7jCiNEmG2b8QrmMNmwrDSD9U6w2UpHXtK5bl9xlpJe2owh + mTiaIy8qyQyhc+w9OwCIP71UGyDGhDwaJHFGZ8gU9QCM6ndIWjBVwyQNqDF9VFMhaKAzeA7AdYGgIvCo + wDiCKyHThZQeh3usi3tIk2/gVGNTQ4MjiFMwQ1HD4n5MOibn6FNNOBsoGUe2Nd2/yb6OEI4QYFjbg3PQ + dHFABdHg3Ys1Qd735M6VdKNHuWn5d6HL2TPYD7nBDvgnOr9XF5u4Q1KBJ5pYGu7pBmYpOCJqhqnvUANn + TuH7CjOCWJtOz6Uf+Vz6Yc9hSdiQ4Dg/hk0WGfNsGvOsjE3LZTq+jM3j03Y5try/LEuK4KdMhGJ9DdWA + gX9CvtQoozzefY+L+LDyoOjE74IuJBDm3rk+wKYTHF+QtPDIzCAuXfwtfX48LU/oa9pf3uvypG6D9TI+ + L2md7vtEei9jn6yvj6dz1mNIe/e+ZKj70uv96VWe5PFgMtSD6f1D6f0D6fWe9HpvHldeZbk/LV/J27cl + 7Zc/yzyGNKmjHDOz/TJW9gvn+JcoHES0g/qMIhFMj7qIQZTjsdA5Ck/xKaucp50QQiZhqkPUlCDj70xL + m/0zkXDflL5E/vPmWnjV9/LUjavTienrNen9NenCy/htOW775nFt8WO3/eT4stjx5XM5bt03f9/2XXjs + 8h62t7HpQh46A+k0jzfzATwagNH9uDwhpFMGKz/Qjl56HU4KHbWgI2Ty5ySfT/MFPu3nRptBkWEEDVyK + yFPCEPZdrf9/mRWsRvdopJ9P+0U+zefXVQFifLzQsyitxpG08AzhB8YBSDqhk1JH34lOqI5xmi/waT+3 + PVVAlyYYDKd1eVq4I4HZAYYGHdz8MXIY3HbaL/JpPr8eAXqYH04YJUYqN4YUPtClAGbUvcjgU8FZCjjs + jijmiBnud8K8uWljFtlp+8V0bHNr2N7vCRAmnLx6miPstJ/b/wCgFU3LMEWwAgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAIAAAABvCAYAAAAkLMicAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH + DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp + bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE + sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs + AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4 + JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR + 3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd + li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF + ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX + wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF + hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55 + 4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ + VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB + 5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC + qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE + j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I + 1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9 + rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG + fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp + B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ + yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC + YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln + yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v + vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp + vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L + Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA + bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z + llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW + ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s + xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6 + eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw + YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR + XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm + WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl + xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2 + dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8 + V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za + Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v + Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb + PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/ + 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h + /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr + XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS + fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+ + tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/ + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDAAACwwBP0AiyAAAF0xJREFUeF7tXVuodVUV + /hW13zRSgi5GdtG8FN0o97aIHiqDrlqED4bQgxBRdCEwsPJ2NopQvUQUURFFPaQleU2qB3soIojMhEAs + I7yWWRqZ6e9pjLXmmHOMMb8x59r+PTnPw2Lvs/Zcl7PGN78xxjfHnGvfMTurfcduVvuO4U2+0yd/n7a0 + H/3Gx9H2ktxW2qtj9PHVORrt5Nr+3qa/9f31vkt7/RmcY3d3d99oW/0wI4P7B7mzejMZ4pdk4O8Yo0RG + 9Q+9ASwByrGbNQFsXYOxZcwZlPa4FkgU8EczPv+/c+9HDyje/0o65ho6Zpc3+s6frwoN5Y3V6cEQTAFY + NDsYJlOM1mM1zXRDAqBF8Y6+n08P6xvG8LPxCQTrm+YHXXpr7oWdnt4CX5fua1Yy7gy5MbNPHc/XGhMA + zs/LA5qMOfek/bTvMjF8Mvgu7dcMwN/fqHuhHG+YwcUb2viQQVJ7CyzlEoJYBYEqg6nBQOMCID1I6bXy + wOnvT5ChH2SaT1SfDa8BMYFhs7qN9j3NAAgEkplVGn662/PV/fogMwwQo+spdzE8ABQ9nkPf75Beboyt + ff8EjLVmgrNgr270ukUZiKPq0Mi9jAABUh0zNACSId5KD/dXxc+TcRPVYxDMxldt/kXn2S89OKWJyyNy + Z8DCRIn2UUrnU08V1fu4pGILB8yRAfBqMtZ13r9nwyoQTK5AtsQGDhwfl1hgq3RMxSIFQIG/13ELCARz + LOJjBJ+ippRR2o8KgNeWHj8HdtHfFQsIMGqWOLwZiGnBSadsrRTRpXbT+YEesFVau8cA+1gDeHmL5hH1 + R/tUsPh5AwDnwytmAAFaNxAMwGK0gSgFdaCTa43KAAyC88PeXcSe4u9L/t+KEY5sGlHRr+nJIJDTLuHJ + AkMYAwpN6ZojA+CZ9IDuMSAAwV/2/9r3Izcw7/ueyirKuEJE894/L4jou2AA6eIeAOx4hx7s+YBE9FXO + n4K+vN9G/pVGkFLDx6hns3oIB5ZkvzeiZA4VeLaRq4NswmQBLlvg643JAKXnHUYP6JY5E0iBoGYBlwkY + cQhnA+webtaGrHqsY4Nej86/t4JFkaRR0OhUT68+jgkAHZHvrN6hAWB6vDOyBol2DTMwkj6ws/ovne90 + nBHwSJ8fbu6kfaDXFq0BDGp1gWKvPywAHB3/XFyB+UR+36mCur0Cz62VG8iGnA3uB5Eq9xDJuC23EMUU + AERyvWEB4Kh1TQ/kgO793KO9/9cSsDDAtE9nCAU0ZyMWqPb5HtswlkT1acAKjETa3g2vrzORvRigUCgZ + 8kcw1w8yA0X5Figlnri9N2jjRw21wbRukN2GM55nDe9ePAuheGNYBqgf9uoF9IAerrICif4b4wMolUwM + 8TFjpIZ/DiuBdFoHhrH7QaQbU1AuhI8dEwCxIb6SjRkYXPd80xZnEXdTm2ONzwdiEGQCLfnqEb2GGtjK + 930RjDDMmABoCC5kjIe1X88ZQjwGYItEdB3BzB6X24dfemQuQKlyeFyyVukFZjCpriMsBSrG1ali2PWY + DNChzQt8Kgg1guQaMli0cCQgmPc9SiA6PpR+UU93NC3Hyn0j4OiYQesQOB0tweIeA7iHnR7yQygd1Lk/ + GjbWsUBuO4Pg6zmCVxpEGLQhmlf6gWEC0Da7lJYmkM63BwCVkytmOJeM9oSr/CnDxq2A0NcRSFq4WZ3k + e6bp0U4baGYQKBsQgHhGgQAp8x+GBgD0qYUR7vVpodcFYNqYhaKsDIpOcGNLA9BuCYlEHiyaUbw+EOX/ + HlTjZgFWCoZFFvSweBJIrgSCcQAYMNLt+LtxGzur14TikOqpMEYxv1v5uJcK6lTUZxzDMoB/aOAhHkoP + 7retXo5+i4CS9v+BgHWEKHk6PVRVyWW6WqL6XrbQEpRMCgqynz0AmFTKzQ3crE5FtYCzTGwqgys1sAGc + d2kALM0OqoDR+3ytFWTxyKWGeiAqgWtMAAT6ezV2vlkxC1zfE4eKelhVDOeKInEHBJwHqf0hc8+0+X7F + QsAtzIphu97AuBkFFMQUYwKgVXlTR9gsEZvC0W3rCYFb+DAMCAOtvzJor3JoOk+a5RRoCnLOsQGQfWyh + fhRQ0b4iEbsh4gocqFCkLil/rOm3fQ9vyL9VNqDpv2IYxx7DjgZGDymItMnIx9H2eJUGdqqITBxQs8iO + 76UIFBmQPXfRiAGgaxk6Bqi097pnANr9nFEHA7fgGSGngkUQkriAJWKOMSa6Lnl+meu/jfF7qWOUfg7p + AuCDBb1fG4UeII/q3dXy/5Wx7XoCKI74FjKMZgbPCuZvHdWnoLLKFoJ4Qc4zJACM3/TSqQ+a7AM8j1nA + jxbClA9MJQPs8G8C1HHej0fCDu+3KqFdm8Ckl652IDrnmAAAaWCUWhUWyMO4t3kWmAyrDb6keKS0+UlE + z81BHdf7YVbRAIH8X2MCoJdG6QenGWL+fmZmgdqvy+ohZfZQAwyJER6n870+9vcLJosCTSEDIrHGHGdI + QWrREcYEQDJqS3ipJFSrvOXp5DMYzHTxRRNNc7wwA+TX2mARI8D9XixK9ykGd3FMlpklVhgaAK0HrcHh + 3QM93BUd+1iV5qXBn5Y2EMYPm5VZaCKkdM1e3g0EAlDsYkatCazSwLJeIDL8HHy5Mq3N6sfzmEB7arlp + k8vHzUQSOQcvN3OIpISVSwjEIJCu4mXwULBL+/YYIItCcR1ejq6tQvcceviPGG3Azyo26w7M8wc6gDlP + UsDeCF/PHcwurAKtBcewAACqma+ahT65Dgi/KW5ARge1W0C6QG6n2EBlFTxbeaoibvbsBht0BSEnMw/J + AFloEWpHFB8NoqhjEjPwjGC/fBxaUi5OFZWkTAa8UIs5Uf4uAKkiexUEhjGOih2GBECmxyV+1eXS1ZDx + zuoS3+u1TqAzBKF/Hwga9pgziudVLsBmIdX8wsnYUN+o00gNqmEBkB9YJKgsAIcKDu1AEVhzCAFBYgIN + gAQSHn3MbiASqZCb6rkAuec9KVilTFZeba/MrelZGSlJxMUVxNqAm3Sa5xfobGJqc7wJ5Or4QwGknnG8 + VEsYkgFwsURSyhb0fPBwucLn7yUWsOVicA6ByggqbWCOCbiK+NCwPDwQs4rwE8wUcjrCkADwBiyBlPOX + PTBYFe7tRhjyMrH+O1AO8/EFHK+IaF6YqJnqBfc/u4H5fx0aAAGdw7H5EnWLaORLs9dHUBsWc6wUrMcC + Gt8DfYAXmji0mQkEAo8PVithKQWNQwOglWvDwEvRrhmpK/u57r8eLvYKoAOCNj5gkbdZjQJM9/apKRrs + smyVM4YxAdCgRhQ8hT3QiSopaLsBCUA+PrBMoWYRqdXIEjDuR27AZgl5mfvqlTdRMCj/05gASPSHAiZv + 7NLGvZbF96jS6072vbjk/1YKNu3iYeMnqN0HIQh6MUqgKBa5edQYQIsqXgeIHqpS2LQ/DfLur9mALp4v + UIlGuMbgoTAb8LK2SxcrkGd3NXIQ6AKnZpDlh19TESeKH2Qkj4zF6wE8YiqH8jxCtRz9FlXFdG4uSjVv + OkOBXfS/6P36+7guwI0C5oxAB1RGjbNr/Imixj3T6Apy/M5qM7EAqh5GYwegrQsOec2CaUaRBoLPTlo+ + PwNUjRQODwB5mGE+3XIJzhguXuC1iO/yaaHIvr6WYJaFi6uQQHICQQHRV5HxDQjCABe8im5kHUD34F6U + rR+wGaQxgSCs3ftIWAEEZhDBoWLbjtYvWr3Q93I4cIRclbgQdd9jMgDqJYG0itPCRqFm/eBvB7l9uO7A + 3PNdWmhBwOsZxm8S3TIzGBMAwI9GqmCmXJ8tBL4YUPT7KgCI1ItSPxQz1LLyWqqUqvvuANm7ujEBUAK1 + qid5iveKoDxwE4F7V1D3wt/btBBUEnuZuFFOTue6eXZhdhSwCWLAGnz8mADYhkJdVhDFACiOUG1Po995 + FfH65VOR4XX9oCk8ze6BVzmvM4Je0OrUy7EB4PSAyrdGtN+i/xhc/B4Bs2CEKSULgOBSQT2/8FY6/nBf + y9jTNDyjDQmAnAG4gE1TqKfTSlELKnYqcab0uOfSb4/7ymBUKaxTxQkkcTXxuQzaiPrhfqeCDgmA3Guc + bOrl1iq9ao2yRWxiKfm7KCC0WoF9caXoAZo9VHseKDqmTguDF0l490B/jw2AbQ3qHqDREpxvnRVCvwbQ + mt8z7N88aqeNoxVGgn3JPXxa1EhfIYwAvJcF7E7vDawnTQQjZybQWhAzlCyhnoiZGOYKqAuAQlJpV1yC + UgWznDwFhc9qsZf3+zpVHZMBGkEcKvRYKrzY1KxMN3PHH27kXZDu5d+jCiK3ThEZ/8v6Gtn3A8oXoAgo + xgZAIx3UvUYb1hgzBVTbVBUnA3w0R/d6RDASgRYIRnQPz64D17ZiyfcyJgCUiIJ8dZVfd6jfgqVeng0E + afvpuv8UXQCmeiIJq8EgzQz6mPT9GjpfWnMoZB8zeYTve0wAuJ7vfWQY/fd0dh34BW1VCnqm0fxdLwcG + totO2FFCCSRfal0BAKMD8x4AQMGH1tkj+jc1ACgX1yKSeugKbJwR/A5mBZHvB3qAY4/fLEoJ1f+8BwAt + BqGgqSUbe/Ck45EA42OKZKg3GDXQzRKyLOAmm7h0UsUUb2oGren/lXscEgCBMfAQa4/WQXwg5/c5dxVA + zgDiGUDm3YPhcHBrwKiww53++q37GRIAOg9uGsmniy0hKBVbKB8fT+60oHmlyL0MBJMdtEYE26OF5/hA + Ft0XtxkXAEAMQv4e+vpgaDWiXq3QVYaYwfDtyvh+dRG36GTOCND+ndV9GdidwHVMAOT8XWr9U7UteljZ + r6PJljbdCtmklz3srF5ELDC9tLKuC7RjA3lgyAwRw/kGnxZACogRKMYEQOrBc5VsIJYo3x8ZtrlfZwGt + MYfy2xcyC4AsQPd4cRPl05aQpYLTvxFYjmQQVDUMCpBjAqDfI8OAUFLE0rvq9XyMnNzJIpRxnk7nnF9U + tUQRNAJRWEP4JR0LIMCOCYBKCAIs4PN4BZqF0X2u1vGlWzBWmBnnUyYWCFYdc7k/Hk2cAcJu5cWVsjm8 + DqBTu+Z4QEdLT5G/Vd/sWj025YzPp4LDv1QMgFihMazs0sjvhwAYVQrOQk2U1qUMAdbbJ/CY7CDvs+/o + 9RmEpWO70rcCyvuxANQsFTc1BhIvqJTydRXrJIYb0gWYqNizgcoQtF5gImpUO1CByerwS8Wh1O72iua1 + 9q9qAabeHmgC6hw/9fUC8veQAEC9YZEglLMHVY3bCigXuhoAtNNpH68ibl9X2xZ/whdbJSC8pS4a2V4I + OoqewdLt6J314rb6nHTcGUdv1hvadyR9Vufg8/J+9Ft0b7pttbqWrhEsPRXPpfPgqXp2BAggGRuDZObJ + K4D8wrBAP+/HTFCO44Gn/f7+t2WAyKjbGoQN5Q2o/n4n/b5L259pe68BBwBED5D+OovfuzfrBG69viwM + WX9vHiwSjxR7VGyjQVOyD54DGK835ESjqi2qI9yszvZp7LYAmAwX9Oxte/zUk9O5xEjpUwDAIODtRtpO + RKAR429z7XheXdbzg6IObXzQ03NwuWQEERvd39uVxg2YeQWy+HSJAbrp4Wb1IAHgaO1ytgXAwRhfGzyk + 6hkQBgAECgbBf2jbYbeAjl1ybjkuWFIVL9BsWMDTeI/u4XgDKBY1yqRJI3mKOV532PVwrw5C4MzH3ETb + RbR9lv63S+nzCgLF5fR5MW0Xps9L6LeLaP9neB9957UO+DdeFpfb8kZtpn28cIUce8H094bWRuBtbs+f + l9G2Q/v4unwMb3x+PpavsSPnpH18zFWp5++y8cm402fadyd9nrWN//eAqWMAYKipl/jRQBcEIoGnF0zm + 373Pr8SpXLn8xSgWaBi59y5jXpX8btr48z566DR4tL6HPud9m2m7mzZ+SxrvY4Vy+o3u5b7pmPlYbsOb + fOf1EPjve6dtar/mT/mbzzFtdB75ztfgNnwf3J7P9YAAoPF5g7iFXgzg3VZlWEPdkf+OKN9r7QImzRY9 + 6VllCyA+eIYYukvxUcxQlZuB5WoDsYmvqQeoDOiWZCU5ZVXzIXQhbCBoecMzC2RWSN+JBR6hfZdGbsEE + jypu6a+07f0zUPyYHZR6B1llYhAJ6kAWgNiiGriZmeGTrQc/D/40hCL0wFsTUFzGkXUG2q+NIEbRxlnQ + c/M5Gm2fiH5TrkCf50/U/kzPBJGbyEZp0XWlFvro32QHWOL1xvRBIsowjIvIQenqaNr/VygOgR5keuyS + XioZRWcQiq/PhgmMEO73PXcpSMLrKDbQ5yIgXu/dAgJBPNIndN6L0FE2gPL8XjbgXUNLK+AUDqd227/Z + vEfBEQPMKVm1RYaCbQPj6aDvII/7Nx1/CXILk1ZBrsAAoBe0CdWboFBF7bI/1P17IPCBJooX5n28FvEt + SPZFQaLOCsr3um5gOp/30z4eUL9HAEAg0Pu8m/h/sYi5RsoUpsxhs/4j3et7ljOA8vOtAopi8M57fZTh + YdEJijOCWEOB74xU7FEvNBGxg+rtGijQnQRg0C5lKX0vpf1e/ND6XaeHOR6ZjT+7qpltrqPtBK1f1DqA + MRZ+U0fIFEW5iwNB1cujEUbEMAH7/CyMBYAPz23FuA16hy7GjUdsC4BWzNA6V8ut9EADzstu4WI6bhpb + sMuqeKlXU3Lko0HOPhtLreTdS/2qc/SnlCWQnMaUbYSfpUZNIDCgyEWlde0hcjfbPnyTvhUxZ0kmYNro + jGPbe1CAuIO+v7ukZp5yHRhEBVwSJ5geDOhdzmFSR5BJwGslnWC+nwlktUSs/bgydB4u9r/7kcaG32dm + ENAsSc+atN0AwVLDNtlBnR+cb4oL2mMBXhVcyAIwNmjoCYYtFHsEOsAEWgWOF9H1eOnYfgZg2KEWgEL9 + oBKP5msJpadAq84IFkT5kaGz79Z+3AGmeyzLxvU9mMygWfDpe2qRe5UBrDHg+bDIA17thrIEHVdkydiv + NrLigk8DgEgpnNU8u7hEUzhSPd4LUAeTorUj/6L09eKMHgjc8ddT+2kkUbZmKXhE5TCS12zRUPz8EKyp + AwjGG/x9WNFocgOH0Xke6BmyJ936eECAkgGjmUCEoCLFFmVwoX93Aztd8cgHka3U0hm+UgclE8Br62Vx + x80VaARzMKJPdL5V3LB1wJjZ4PzZP/v8vr1Kecn71XGaIUBKKSyy1P/2erH+fYnv30Js6o4PFAAIlSvK + 9UatDIliAufrbW8t5WORWCTBZqgx+AEm6zb4ZRL8VhHeuIzsQNr4+1xWVgeA3PYA7edl66Zj6B7o5Zfr + XIbmmEHOeWCJsZa6CRnqVTm7kZor8agTX9B5JilYerrO/Y9KZWTsBsxLFyAdm7wdL8ysY4Moh5dz67gi + yO3xCKWPDzBT8FyCq+gaV9P1rqTPH9LfP+DvvJ82XjnkWrpf/pTtavr+Q2pzFW/0G7fn71fSxm2uo/Nc + Ox9Hf/M5N9M5f0AP9T56iPenjb//lTcyJn/q/fybbHr//dyWNtlnfkvH/KMFIsAGXCNQDwYFlUtPqRmx + ZCReLfQk+jyFNn5f0SlktJNpH68WMm309wn094nye2m3Pjm15WO5Lbc5gQDxkvT9ZfR5amqfzr2ePqdr + 8nn5GPqkY/h4Pg+350+6j/V8L3xf8z3O7dN9pfNw++kYasufJ5ExPyQA8DGDA0auEvK9vlUw8pQCwLYl + XQfbnik0erh+v6XgEoXLoIyOzKfzlhpBVBLmU85cEKKv0zJ8zgIO9iGMfLw3Gvp7iRGUsecS70zXpSYw + CPymkjB43YVl6HsMsLv7pJ+BPPiQBRYaoQMkXxXMvf9R2nboulVRaMQ00TWe9D8/cs+X/10bftsHX7kI + V+Ovfg/LwpcwkG6D7ncPAAfJAD1DRkaaqL4zsSP9Hk4MkVghMnLz2omd9gBwkADwbqBn1KW9Vs5DzHIG + HTNNDVty7LZM9D+nY5XUz5r5UwAAAABJRU5ErkJggg== + + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.Designer.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.Designer.cs new file mode 100644 index 00000000..aa5c0c54 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.Designer.cs @@ -0,0 +1,228 @@ +namespace ANX.ContentCompiler.GUI.Dialogues +{ + partial class NewProjectImportersScreen + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonNext = new System.Windows.Forms.Button(); + this.buttonClose = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.arrowButtonYes = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonNo = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.buttonBrowse = new System.Windows.Forms.Button(); + this.textBoxLocation = new System.Windows.Forms.TextBox(); + this.labelLocation = new System.Windows.Forms.Label(); + this.labelHeading = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonCancel.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonCancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonCancel.Location = new System.Drawing.Point(12, 317); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 30); + this.buttonCancel.TabIndex = 5; + this.buttonCancel.Text = "<- Back"; + this.buttonCancel.UseVisualStyleBackColor = true; + // + // buttonNext + // + this.buttonNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonNext.Enabled = false; + this.buttonNext.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonNext.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonNext.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNext.Location = new System.Drawing.Point(504, 317); + this.buttonNext.Name = "buttonNext"; + this.buttonNext.Size = new System.Drawing.Size(84, 30); + this.buttonNext.TabIndex = 6; + this.buttonNext.Text = "Next ->"; + this.buttonNext.UseVisualStyleBackColor = true; + this.buttonNext.Click += new System.EventHandler(this.ButtonNextClick); + // + // buttonClose + // + this.buttonClose.DialogResult = System.Windows.Forms.DialogResult.Abort; + this.buttonClose.FlatAppearance.BorderSize = 0; + this.buttonClose.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonClose.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonClose.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonClose.Location = new System.Drawing.Point(572, -1); + this.buttonClose.Name = "buttonClose"; + this.buttonClose.Size = new System.Drawing.Size(26, 23); + this.buttonClose.TabIndex = 7; + this.buttonClose.Text = "X"; + this.buttonClose.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.arrowButtonYes); + this.panel1.Controls.Add(this.arrowButtonNo); + this.panel1.Controls.Add(this.buttonBrowse); + this.panel1.Controls.Add(this.textBoxLocation); + this.panel1.Controls.Add(this.labelLocation); + this.panel1.Controls.Add(this.labelHeading); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.buttonNext); + this.panel1.Controls.Add(this.buttonClose); + this.panel1.Controls.Add(this.buttonCancel); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(600, 359); + this.panel1.TabIndex = 14; + // + // arrowButtonYes + // + this.arrowButtonYes.AutoSize = true; + this.arrowButtonYes.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonYes.Content = "Yes"; + this.arrowButtonYes.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonYes.ForeColor = System.Drawing.Color.White; + this.arrowButtonYes.Location = new System.Drawing.Point(90, 171); + this.arrowButtonYes.Name = "arrowButtonYes"; + this.arrowButtonYes.Size = new System.Drawing.Size(315, 75); + this.arrowButtonYes.TabIndex = 22; + this.arrowButtonYes.Click += new System.EventHandler(this.ArrowButtonYesClick); + // + // arrowButtonNo + // + this.arrowButtonNo.AutoSize = true; + this.arrowButtonNo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonNo.Content = "No"; + this.arrowButtonNo.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonNo.ForeColor = System.Drawing.Color.White; + this.arrowButtonNo.Location = new System.Drawing.Point(90, 93); + this.arrowButtonNo.Name = "arrowButtonNo"; + this.arrowButtonNo.Size = new System.Drawing.Size(315, 75); + this.arrowButtonNo.TabIndex = 21; + this.arrowButtonNo.Click += new System.EventHandler(this.ArrowButtonNoClick); + // + // buttonBrowse + // + this.buttonBrowse.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonBrowse.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonBrowse.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonBrowse.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonBrowse.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonBrowse.Location = new System.Drawing.Point(460, 275); + this.buttonBrowse.Name = "buttonBrowse"; + this.buttonBrowse.Size = new System.Drawing.Size(87, 23); + this.buttonBrowse.TabIndex = 20; + this.buttonBrowse.Text = "Browse"; + this.buttonBrowse.UseVisualStyleBackColor = true; + this.buttonBrowse.Visible = false; + this.buttonBrowse.Click += new System.EventHandler(this.ButtonBrowseClick); + // + // textBoxLocation + // + this.textBoxLocation.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.textBoxLocation.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBoxLocation.ForeColor = System.Drawing.Color.White; + this.textBoxLocation.Location = new System.Drawing.Point(52, 275); + this.textBoxLocation.Name = "textBoxLocation"; + this.textBoxLocation.Size = new System.Drawing.Size(402, 22); + this.textBoxLocation.TabIndex = 19; + this.textBoxLocation.Visible = false; + // + // labelLocation + // + this.labelLocation.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelLocation.Location = new System.Drawing.Point(22, 245); + this.labelLocation.Name = "labelLocation"; + this.labelLocation.Size = new System.Drawing.Size(554, 27); + this.labelLocation.TabIndex = 18; + this.labelLocation.Text = "And where are they located?"; + this.labelLocation.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.labelLocation.Visible = false; + // + // labelHeading + // + this.labelHeading.Font = new System.Drawing.Font("Segoe UI Semibold", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelHeading.Location = new System.Drawing.Point(85, 37); + this.labelHeading.Name = "labelHeading"; + this.labelHeading.Size = new System.Drawing.Size(429, 65); + this.labelHeading.TabIndex = 15; + this.labelHeading.Text = "Do you have own Importers or Processor you want to include/use in your project?"; + this.labelHeading.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // label1 + // + this.label1.Location = new System.Drawing.Point(-4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(570, 22); + this.label1.TabIndex = 14; + this.label1.Text = "New Project"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // NewProjectImportersScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ClientSize = new System.Drawing.Size(600, 359); + this.Controls.Add(this.panel1); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "NewProjectImportersScreen"; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FirstStartScreen"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonNext; + private System.Windows.Forms.Button buttonClose; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelHeading; + private System.Windows.Forms.Button buttonBrowse; + private System.Windows.Forms.Label labelLocation; + private Controls.ArrowButton arrowButtonNo; + private Controls.ArrowButton arrowButtonYes; + public System.Windows.Forms.TextBox textBoxLocation; + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.cs new file mode 100644 index 00000000..18854503 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.cs @@ -0,0 +1,50 @@ +using System; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Dialogues +{ + public partial class NewProjectImportersScreen : Form + { + public NewProjectImportersScreen() + { + InitializeComponent(); + } + + private void ArrowButtonYesClick(object sender, EventArgs e) + { + labelLocation.Visible = true; + textBoxLocation.Visible = true; + buttonBrowse.Visible = true; + buttonNext.Enabled = true; + } + + private void ArrowButtonNoClick(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void ButtonBrowseClick(object sender, EventArgs e) + { + using (var dlg = new FolderBrowserDialog()) + { + dlg.ShowNewFolderButton = true; + dlg.RootFolder = Environment.SpecialFolder.MyComputer; + if (dlg.ShowDialog() == DialogResult.OK) + { + textBoxLocation.Text = dlg.SelectedPath; + } + } + DialogResult = DialogResult.None; + } + + private void ButtonNextClick(object sender, EventArgs e) + { + if (String.IsNullOrEmpty(textBoxLocation.Text)) + MessageBox.Show("You need to specify the directory where your Importers/Processors are located in!", + "Missing value", MessageBoxButtons.OK, MessageBoxIcon.Warning); + else + DialogResult = DialogResult.OK; + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.resx b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.resx new file mode 100644 index 00000000..5ea0895e --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectImportersScreen.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.Designer.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.Designer.cs new file mode 100644 index 00000000..9933b87d --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.Designer.cs @@ -0,0 +1,228 @@ +namespace ANX.ContentCompiler.GUI.Dialogues +{ + partial class NewProjectOutputScreen + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonNext = new System.Windows.Forms.Button(); + this.buttonClose = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonBrowse = new System.Windows.Forms.Button(); + this.textBoxLocation = new System.Windows.Forms.TextBox(); + this.labelLocation = new System.Windows.Forms.Label(); + this.labelHeading = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.arrowButtonYes = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonNo = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonCancel.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonCancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonCancel.Location = new System.Drawing.Point(12, 317); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 30); + this.buttonCancel.TabIndex = 5; + this.buttonCancel.Text = "<- Back"; + this.buttonCancel.UseVisualStyleBackColor = true; + // + // buttonNext + // + this.buttonNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonNext.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonNext.Enabled = false; + this.buttonNext.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonNext.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonNext.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNext.Location = new System.Drawing.Point(504, 317); + this.buttonNext.Name = "buttonNext"; + this.buttonNext.Size = new System.Drawing.Size(84, 30); + this.buttonNext.TabIndex = 6; + this.buttonNext.Text = "Next ->"; + this.buttonNext.UseVisualStyleBackColor = true; + // + // buttonClose + // + this.buttonClose.DialogResult = System.Windows.Forms.DialogResult.Abort; + this.buttonClose.FlatAppearance.BorderSize = 0; + this.buttonClose.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonClose.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonClose.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonClose.Location = new System.Drawing.Point(572, -1); + this.buttonClose.Name = "buttonClose"; + this.buttonClose.Size = new System.Drawing.Size(26, 23); + this.buttonClose.TabIndex = 7; + this.buttonClose.Text = "X"; + this.buttonClose.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.arrowButtonYes); + this.panel1.Controls.Add(this.arrowButtonNo); + this.panel1.Controls.Add(this.buttonBrowse); + this.panel1.Controls.Add(this.textBoxLocation); + this.panel1.Controls.Add(this.labelLocation); + this.panel1.Controls.Add(this.labelHeading); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.buttonNext); + this.panel1.Controls.Add(this.buttonClose); + this.panel1.Controls.Add(this.buttonCancel); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(600, 359); + this.panel1.TabIndex = 14; + // + // buttonBrowse + // + this.buttonBrowse.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonBrowse.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonBrowse.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonBrowse.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonBrowse.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonBrowse.Location = new System.Drawing.Point(460, 275); + this.buttonBrowse.Name = "buttonBrowse"; + this.buttonBrowse.Size = new System.Drawing.Size(87, 23); + this.buttonBrowse.TabIndex = 20; + this.buttonBrowse.Text = "Browse"; + this.buttonBrowse.UseVisualStyleBackColor = true; + this.buttonBrowse.Visible = false; + this.buttonBrowse.Click += new System.EventHandler(this.ButtonBrowseClick); + // + // textBoxLocation + // + this.textBoxLocation.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.textBoxLocation.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBoxLocation.ForeColor = System.Drawing.Color.White; + this.textBoxLocation.Location = new System.Drawing.Point(52, 275); + this.textBoxLocation.Name = "textBoxLocation"; + this.textBoxLocation.Size = new System.Drawing.Size(402, 22); + this.textBoxLocation.TabIndex = 19; + this.textBoxLocation.Visible = false; + // + // labelLocation + // + this.labelLocation.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelLocation.Location = new System.Drawing.Point(22, 245); + this.labelLocation.Name = "labelLocation"; + this.labelLocation.Size = new System.Drawing.Size(554, 27); + this.labelLocation.TabIndex = 18; + this.labelLocation.Text = "And where do you want to put it?"; + this.labelLocation.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.labelLocation.Visible = false; + // + // labelHeading + // + this.labelHeading.Font = new System.Drawing.Font("Segoe UI Semibold", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelHeading.Location = new System.Drawing.Point(85, 37); + this.labelHeading.Name = "labelHeading"; + this.labelHeading.Size = new System.Drawing.Size(429, 65); + this.labelHeading.TabIndex = 15; + this.labelHeading.Text = "Do you have special wishes where the output shall be thrown in?"; + this.labelHeading.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // label1 + // + this.label1.Location = new System.Drawing.Point(-4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(570, 22); + this.label1.TabIndex = 14; + this.label1.Text = "New Project"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // arrowButtonYes + // + this.arrowButtonYes.AutoSize = true; + this.arrowButtonYes.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonYes.Content = "Yes"; + this.arrowButtonYes.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonYes.ForeColor = System.Drawing.Color.White; + this.arrowButtonYes.Location = new System.Drawing.Point(90, 171); + this.arrowButtonYes.Name = "arrowButtonYes"; + this.arrowButtonYes.Size = new System.Drawing.Size(315, 75); + this.arrowButtonYes.TabIndex = 22; + this.arrowButtonYes.Click += new System.EventHandler(this.ArrowButtonYesClick); + // + // arrowButtonNo + // + this.arrowButtonNo.AutoSize = true; + this.arrowButtonNo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonNo.Content = "No"; + this.arrowButtonNo.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonNo.ForeColor = System.Drawing.Color.White; + this.arrowButtonNo.Location = new System.Drawing.Point(90, 93); + this.arrowButtonNo.Name = "arrowButtonNo"; + this.arrowButtonNo.Size = new System.Drawing.Size(315, 75); + this.arrowButtonNo.TabIndex = 21; + this.arrowButtonNo.Click += new System.EventHandler(this.ArrowButtonNoClick); + // + // NewProjectOutputScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ClientSize = new System.Drawing.Size(600, 359); + this.Controls.Add(this.panel1); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "NewProjectOutputScreen"; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FirstStartScreen"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonNext; + private System.Windows.Forms.Button buttonClose; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelHeading; + private System.Windows.Forms.Button buttonBrowse; + private System.Windows.Forms.Label labelLocation; + private Controls.ArrowButton arrowButtonNo; + private Controls.ArrowButton arrowButtonYes; + public System.Windows.Forms.TextBox textBoxLocation; + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.cs new file mode 100644 index 00000000..1b9f81ca --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.cs @@ -0,0 +1,42 @@ +using System; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Dialogues +{ + public partial class NewProjectOutputScreen : Form + { + public NewProjectOutputScreen() + { + InitializeComponent(); + } + + private void ArrowButtonYesClick(object sender, EventArgs e) + { + labelLocation.Visible = true; + textBoxLocation.Visible = true; + buttonBrowse.Visible = true; + buttonNext.Enabled = true; + arrowButtonNo.Enabled = false; + } + + private void ArrowButtonNoClick(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void ButtonBrowseClick(object sender, EventArgs e) + { + using (var dlg = new FolderBrowserDialog()) + { + dlg.ShowNewFolderButton = true; + dlg.RootFolder = Environment.SpecialFolder.MyComputer; + if (dlg.ShowDialog() == DialogResult.OK) + { + textBoxLocation.Text = dlg.SelectedPath; + } + } + DialogResult = DialogResult.None; + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.resx b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.resx new file mode 100644 index 00000000..5ea0895e --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectOutputScreen.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.Designer.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.Designer.cs new file mode 100644 index 00000000..b825b67b --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.Designer.cs @@ -0,0 +1,220 @@ +namespace ANX.ContentCompiler.GUI.Dialogues +{ + partial class NewProjectScreen + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonNext = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonBrowse = new System.Windows.Forms.Button(); + this.textBoxLocation = new System.Windows.Forms.TextBox(); + this.labelLocation = new System.Windows.Forms.Label(); + this.textBoxName = new System.Windows.Forms.TextBox(); + this.labelName = new System.Windows.Forms.Label(); + this.labelHeading = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonCancel.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonCancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonCancel.Location = new System.Drawing.Point(12, 317); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 30); + this.buttonCancel.TabIndex = 5; + this.buttonCancel.Text = "Cancel"; + this.buttonCancel.UseVisualStyleBackColor = true; + // + // buttonNext + // + this.buttonNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonNext.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonNext.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonNext.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNext.Location = new System.Drawing.Point(504, 317); + this.buttonNext.Name = "buttonNext"; + this.buttonNext.Size = new System.Drawing.Size(84, 30); + this.buttonNext.TabIndex = 6; + this.buttonNext.Text = "Next ->"; + this.buttonNext.UseVisualStyleBackColor = true; + this.buttonNext.Click += new System.EventHandler(this.ButtonNextClick); + // + // button3 + // + this.button3.DialogResult = System.Windows.Forms.DialogResult.Abort; + this.button3.FlatAppearance.BorderSize = 0; + this.button3.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.button3.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button3.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button3.Location = new System.Drawing.Point(572, -1); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(26, 23); + this.button3.TabIndex = 7; + this.button3.Text = "X"; + this.button3.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.buttonBrowse); + this.panel1.Controls.Add(this.textBoxLocation); + this.panel1.Controls.Add(this.labelLocation); + this.panel1.Controls.Add(this.textBoxName); + this.panel1.Controls.Add(this.labelName); + this.panel1.Controls.Add(this.labelHeading); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.buttonNext); + this.panel1.Controls.Add(this.button3); + this.panel1.Controls.Add(this.buttonCancel); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(600, 359); + this.panel1.TabIndex = 14; + // + // buttonBrowse + // + this.buttonBrowse.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonBrowse.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonBrowse.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonBrowse.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonBrowse.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonBrowse.Location = new System.Drawing.Point(479, 249); + this.buttonBrowse.Name = "buttonBrowse"; + this.buttonBrowse.Size = new System.Drawing.Size(87, 23); + this.buttonBrowse.TabIndex = 20; + this.buttonBrowse.Text = "Browse"; + this.buttonBrowse.UseVisualStyleBackColor = true; + this.buttonBrowse.Click += new System.EventHandler(this.ButtonBrowseClick); + // + // textBoxLocation + // + this.textBoxLocation.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.textBoxLocation.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBoxLocation.ForeColor = System.Drawing.Color.White; + this.textBoxLocation.Location = new System.Drawing.Point(71, 249); + this.textBoxLocation.Name = "textBoxLocation"; + this.textBoxLocation.Size = new System.Drawing.Size(402, 22); + this.textBoxLocation.TabIndex = 19; + // + // labelLocation + // + this.labelLocation.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelLocation.Location = new System.Drawing.Point(22, 219); + this.labelLocation.Name = "labelLocation"; + this.labelLocation.Size = new System.Drawing.Size(554, 27); + this.labelLocation.TabIndex = 18; + this.labelLocation.Text = "And where do you want to store it?"; + this.labelLocation.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // textBoxName + // + this.textBoxName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.textBoxName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBoxName.ForeColor = System.Drawing.Color.White; + this.textBoxName.Location = new System.Drawing.Point(172, 150); + this.textBoxName.Name = "textBoxName"; + this.textBoxName.Size = new System.Drawing.Size(252, 22); + this.textBoxName.TabIndex = 17; + this.textBoxName.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.textBoxName.TextChanged += new System.EventHandler(this.TextBoxNameTextChanged); + // + // labelName + // + this.labelName.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelName.Location = new System.Drawing.Point(66, 120); + this.labelName.Name = "labelName"; + this.labelName.Size = new System.Drawing.Size(500, 27); + this.labelName.TabIndex = 16; + this.labelName.Text = "What do you want your new Project to be called?"; + this.labelName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // labelHeading + // + this.labelHeading.Font = new System.Drawing.Font("Segoe UI Semibold", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelHeading.Location = new System.Drawing.Point(85, 55); + this.labelHeading.Name = "labelHeading"; + this.labelHeading.Size = new System.Drawing.Size(429, 65); + this.labelHeading.TabIndex = 15; + this.labelHeading.Text = "So let\'s start a new one then..."; + this.labelHeading.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // label1 + // + this.label1.Location = new System.Drawing.Point(-4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(570, 22); + this.label1.TabIndex = 14; + this.label1.Text = "New Project"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // NewProjectScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ClientSize = new System.Drawing.Size(600, 359); + this.Controls.Add(this.panel1); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "NewProjectScreen"; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FirstStartScreen"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonNext; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelHeading; + private System.Windows.Forms.Label labelName; + private System.Windows.Forms.Button buttonBrowse; + private System.Windows.Forms.Label labelLocation; + public System.Windows.Forms.TextBox textBoxName; + public System.Windows.Forms.TextBox textBoxLocation; + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.cs new file mode 100644 index 00000000..d503e98d --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.cs @@ -0,0 +1,43 @@ +using System; +using System.IO; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Dialogues +{ + public partial class NewProjectScreen : Form + { + public NewProjectScreen() + { + InitializeComponent(); + textBoxLocation.Text = MainWindow.DefaultProjectPath; + } + + private void ButtonBrowseClick(object sender, EventArgs e) + { + using (var dlg = new FolderBrowserDialog()) + { + dlg.ShowNewFolderButton = true; + dlg.Description = "Select Directory to save the uncompiled files in:"; + dlg.RootFolder = Environment.SpecialFolder.MyComputer; + if (dlg.ShowDialog() == DialogResult.OK) + { + textBoxLocation.Text = dlg.SelectedPath; + } + } + DialogResult = DialogResult.None; + } + + private void TextBoxNameTextChanged(object sender, EventArgs e) + { + textBoxLocation.Text = Path.Combine(MainWindow.DefaultProjectPath, textBoxName.Text); + } + + private void ButtonNextClick(object sender, EventArgs e) + { + if (String.IsNullOrEmpty(textBoxName.Text)) + MessageBox.Show("Give your child a name!", "Missing value", MessageBoxButtons.OK, MessageBoxIcon.Warning); + else + DialogResult = DialogResult.OK; + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.resx b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.resx new file mode 100644 index 00000000..5ea0895e --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectScreen.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.Designer.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.Designer.cs new file mode 100644 index 00000000..bfa0f06a --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.Designer.cs @@ -0,0 +1,159 @@ +namespace ANX.ContentCompiler.GUI.Dialogues +{ + partial class NewProjectSummaryScreen + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewProjectSummaryScreen)); + this.buttonClose = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.textBox = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.labelHeading = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonNext = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // buttonClose + // + this.buttonClose.DialogResult = System.Windows.Forms.DialogResult.Abort; + this.buttonClose.FlatAppearance.BorderSize = 0; + this.buttonClose.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonClose.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonClose.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonClose.Location = new System.Drawing.Point(572, -1); + this.buttonClose.Name = "buttonClose"; + this.buttonClose.Size = new System.Drawing.Size(26, 23); + this.buttonClose.TabIndex = 7; + this.buttonClose.Text = "X"; + this.buttonClose.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.textBox); + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.labelHeading); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.buttonNext); + this.panel1.Controls.Add(this.buttonClose); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(600, 359); + this.panel1.TabIndex = 14; + // + // textBox + // + this.textBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); + this.textBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBox.ForeColor = System.Drawing.Color.Gray; + this.textBox.Location = new System.Drawing.Point(90, 99); + this.textBox.Multiline = true; + this.textBox.Name = "textBox"; + this.textBox.ReadOnly = true; + this.textBox.Size = new System.Drawing.Size(424, 198); + this.textBox.TabIndex = 17; + this.textBox.Text = resources.GetString("textBox.Text"); + // + // label2 + // + this.label2.Location = new System.Drawing.Point(87, 68); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(427, 28); + this.label2.TabIndex = 16; + this.label2.Text = "Below you can see a summary of the new project:"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // labelHeading + // + this.labelHeading.Font = new System.Drawing.Font("Segoe UI Semibold", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelHeading.Location = new System.Drawing.Point(85, 37); + this.labelHeading.Name = "labelHeading"; + this.labelHeading.Size = new System.Drawing.Size(429, 31); + this.labelHeading.TabIndex = 15; + this.labelHeading.Text = "Hej, looks like we\'re done here!"; + this.labelHeading.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // label1 + // + this.label1.Location = new System.Drawing.Point(-4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(570, 22); + this.label1.TabIndex = 14; + this.label1.Text = "New Project"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // buttonNext + // + this.buttonNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonNext.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonNext.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonNext.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNext.Location = new System.Drawing.Point(185, 316); + this.buttonNext.Name = "buttonNext"; + this.buttonNext.Size = new System.Drawing.Size(228, 30); + this.buttonNext.TabIndex = 6; + this.buttonNext.Text = "Start working!"; + this.buttonNext.UseVisualStyleBackColor = true; + this.buttonNext.Click += new System.EventHandler(this.ButtonNextClick); + // + // NewProjectSummaryScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ClientSize = new System.Drawing.Size(600, 359); + this.Controls.Add(this.panel1); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "NewProjectSummaryScreen"; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FirstStartScreen"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonClose; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelHeading; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox textBox; + private System.Windows.Forms.Button buttonNext; + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.cs b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.cs new file mode 100644 index 00000000..062aac34 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.cs @@ -0,0 +1,34 @@ +using System; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.Dialogues +{ + public partial class NewProjectSummaryScreen : Form + { + public NewProjectSummaryScreen(String projectName, String projectDir, String outputDir, bool customImporters, String customImportersDir, int customImportersFound, int customProcessorsFound) + { + InitializeComponent(); + textBox.Text = + "Summary for new project " + projectName + Environment.NewLine + + "=========================================" + Environment.NewLine + + "Name: " + projectName + Environment.NewLine + + "Media Directory: " + projectDir + Environment.NewLine + Environment.NewLine + + "Output Directory: " + outputDir + Environment.NewLine + Environment.NewLine + + "Custom Importers/Processors: " + customImporters + Environment.NewLine; + if (customImporters) + { + textBox.Text += + "Custom Importers/Processors Location: " + customImportersDir + Environment.NewLine + Environment.NewLine + + "Importers/Processors found in given Location:" + Environment.NewLine + + "Importers: " + customImportersFound + Environment.NewLine + + "Processors: " + customProcessorsFound; + } + + } + + private void ButtonNextClick(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.resx b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.resx new file mode 100644 index 00000000..386ba7c1 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Dialogues/NewProjectSummaryScreen.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Summary of new project <Name> +==================================== + +Name: <Name> +Media Location: <Path> + +Output Location: <Path> + +Custom Importers/Processors: Yes/No +Custom Importers/Processors Path: <Path> + +Importers/Processors found in Directory: +Importers: 0 +Processors: 0 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs b/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs new file mode 100644 index 00000000..70506ad9 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs @@ -0,0 +1,440 @@ +using ANX.ContentCompiler.GUI.States; + +namespace ANX.ContentCompiler.GUI +{ + partial class MainWindow + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.splitContainerMenuLayout = new System.Windows.Forms.SplitContainer(); + this.buttonQuit = new System.Windows.Forms.Button(); + this.buttonMenu = new System.Windows.Forms.Button(); + this.labelTitle = new System.Windows.Forms.Label(); + this.splitContainerFileTree = new System.Windows.Forms.SplitContainer(); + this.labelFileTree = new System.Windows.Forms.Label(); + this.treeView = new System.Windows.Forms.TreeView(); + this.treeViewContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.treeViewItemAddFolder = new System.Windows.Forms.ToolStripMenuItem(); + this.treeViewItemRename = new System.Windows.Forms.ToolStripMenuItem(); + this.treeViewItemDelete = new System.Windows.Forms.ToolStripMenuItem(); + this.splitContainerProperties = new System.Windows.Forms.SplitContainer(); + this.labelProperties = new System.Windows.Forms.Label(); + this.propertyGrid = new System.Windows.Forms.PropertyGrid(); + this.ribbonButtonHelp = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonWeb = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonClean = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonSave = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonLoad = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonNew = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.editingState = new ANX.ContentCompiler.GUI.States.EditingState(); + this.startState = new ANX.ContentCompiler.GUI.States.StartState(); + this.splitContainerMenuLayout.Panel1.SuspendLayout(); + this.splitContainerMenuLayout.Panel2.SuspendLayout(); + this.splitContainerMenuLayout.SuspendLayout(); + this.splitContainerFileTree.Panel1.SuspendLayout(); + this.splitContainerFileTree.Panel2.SuspendLayout(); + this.splitContainerFileTree.SuspendLayout(); + this.treeViewContextMenu.SuspendLayout(); + this.splitContainerProperties.Panel1.SuspendLayout(); + this.splitContainerProperties.Panel2.SuspendLayout(); + this.splitContainerProperties.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainerMenuLayout + // + this.splitContainerMenuLayout.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.splitContainerMenuLayout.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainerMenuLayout.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainerMenuLayout.IsSplitterFixed = true; + this.splitContainerMenuLayout.Location = new System.Drawing.Point(0, 0); + this.splitContainerMenuLayout.Name = "splitContainerMenuLayout"; + this.splitContainerMenuLayout.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainerMenuLayout.Panel1 + // + this.splitContainerMenuLayout.Panel1.Controls.Add(this.ribbonButtonHelp); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.ribbonButtonWeb); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.ribbonButtonClean); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.ribbonButtonSave); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.ribbonButtonLoad); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.ribbonButtonNew); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.buttonQuit); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.buttonMenu); + this.splitContainerMenuLayout.Panel1.Controls.Add(this.labelTitle); + // + // splitContainerMenuLayout.Panel2 + // + this.splitContainerMenuLayout.Panel2.Controls.Add(this.splitContainerFileTree); + this.splitContainerMenuLayout.Size = new System.Drawing.Size(865, 652); + this.splitContainerMenuLayout.SplitterDistance = 99; + this.splitContainerMenuLayout.TabIndex = 0; + // + // buttonQuit + // + this.buttonQuit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonQuit.FlatAppearance.BorderSize = 0; + this.buttonQuit.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); + this.buttonQuit.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Gray; + this.buttonQuit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonQuit.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonQuit.ForeColor = System.Drawing.Color.White; + this.buttonQuit.Location = new System.Drawing.Point(837, -1); + this.buttonQuit.Name = "buttonQuit"; + this.buttonQuit.Size = new System.Drawing.Size(26, 23); + this.buttonQuit.TabIndex = 1; + this.buttonQuit.Text = "X"; + this.buttonQuit.UseVisualStyleBackColor = true; + this.buttonQuit.Click += new System.EventHandler(this.ButtonQuitClick); + // + // buttonMenu + // + this.buttonMenu.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); + this.buttonMenu.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonMenu.FlatAppearance.BorderSize = 0; + this.buttonMenu.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Green; + this.buttonMenu.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Lime; + this.buttonMenu.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonMenu.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonMenu.ForeColor = System.Drawing.Color.White; + this.buttonMenu.Location = new System.Drawing.Point(-1, -1); + this.buttonMenu.Name = "buttonMenu"; + this.buttonMenu.Size = new System.Drawing.Size(56, 24); + this.buttonMenu.TabIndex = 0; + this.buttonMenu.Text = "File"; + this.buttonMenu.UseVisualStyleBackColor = false; + // + // labelTitle + // + this.labelTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelTitle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.labelTitle.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelTitle.ForeColor = System.Drawing.Color.Silver; + this.labelTitle.Location = new System.Drawing.Point(-1, 0); + this.labelTitle.Name = "labelTitle"; + this.labelTitle.Size = new System.Drawing.Size(865, 23); + this.labelTitle.TabIndex = 2; + this.labelTitle.Text = "ANX Content Compiler"; + this.labelTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.labelTitle.MouseDown += new System.Windows.Forms.MouseEventHandler(this.LabelTitleMouseDown); + this.labelTitle.MouseMove += new System.Windows.Forms.MouseEventHandler(this.LabelTitleMouseMove); + this.labelTitle.MouseUp += new System.Windows.Forms.MouseEventHandler(this.LabelTitleMouseUp); + // + // splitContainerFileTree + // + this.splitContainerFileTree.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.splitContainerFileTree.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainerFileTree.Location = new System.Drawing.Point(0, 0); + this.splitContainerFileTree.Name = "splitContainerFileTree"; + // + // splitContainerFileTree.Panel1 + // + this.splitContainerFileTree.Panel1.Controls.Add(this.labelFileTree); + this.splitContainerFileTree.Panel1.Controls.Add(this.treeView); + // + // splitContainerFileTree.Panel2 + // + this.splitContainerFileTree.Panel2.Controls.Add(this.splitContainerProperties); + this.splitContainerFileTree.Size = new System.Drawing.Size(865, 549); + this.splitContainerFileTree.SplitterDistance = 221; + this.splitContainerFileTree.TabIndex = 0; + // + // labelFileTree + // + this.labelFileTree.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelFileTree.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelFileTree.ForeColor = System.Drawing.Color.White; + this.labelFileTree.Location = new System.Drawing.Point(-1, 0); + this.labelFileTree.Name = "labelFileTree"; + this.labelFileTree.Size = new System.Drawing.Size(220, 19); + this.labelFileTree.TabIndex = 1; + this.labelFileTree.Text = "Project Explorer"; + this.labelFileTree.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // treeView + // + this.treeView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.treeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); + this.treeView.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.treeView.ContextMenuStrip = this.treeViewContextMenu; + this.treeView.ForeColor = System.Drawing.Color.White; + this.treeView.LineColor = System.Drawing.Color.White; + this.treeView.Location = new System.Drawing.Point(0, 22); + this.treeView.Name = "treeView"; + this.treeView.Size = new System.Drawing.Size(219, 527); + this.treeView.TabIndex = 0; + // + // treeViewContextMenu + // + this.treeViewContextMenu.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.treeViewContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.treeViewItemAddFolder, + this.treeViewItemRename, + this.treeViewItemDelete}); + this.treeViewContextMenu.Name = "treeViewContextMenu"; + this.treeViewContextMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; + this.treeViewContextMenu.ShowImageMargin = false; + this.treeViewContextMenu.Size = new System.Drawing.Size(93, 70); + // + // treeViewItemAddFolder + // + this.treeViewItemAddFolder.ForeColor = System.Drawing.Color.White; + this.treeViewItemAddFolder.Name = "treeViewItemAddFolder"; + this.treeViewItemAddFolder.Size = new System.Drawing.Size(92, 22); + this.treeViewItemAddFolder.Text = "Add"; + this.treeViewItemAddFolder.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); + this.treeViewItemAddFolder.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); + // + // treeViewItemRename + // + this.treeViewItemRename.ForeColor = System.Drawing.Color.White; + this.treeViewItemRename.Name = "treeViewItemRename"; + this.treeViewItemRename.Size = new System.Drawing.Size(92, 22); + this.treeViewItemRename.Text = "Rename"; + this.treeViewItemRename.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); + this.treeViewItemRename.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); + // + // treeViewItemDelete + // + this.treeViewItemDelete.ForeColor = System.Drawing.Color.White; + this.treeViewItemDelete.Name = "treeViewItemDelete"; + this.treeViewItemDelete.Size = new System.Drawing.Size(92, 22); + this.treeViewItemDelete.Text = "Delete"; + this.treeViewItemDelete.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); + this.treeViewItemDelete.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); + // + // splitContainerProperties + // + this.splitContainerProperties.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.splitContainerProperties.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainerProperties.ForeColor = System.Drawing.Color.White; + this.splitContainerProperties.Location = new System.Drawing.Point(0, 0); + this.splitContainerProperties.Name = "splitContainerProperties"; + // + // splitContainerProperties.Panel1 + // + this.splitContainerProperties.Panel1.Controls.Add(this.editingState); + this.splitContainerProperties.Panel1.Controls.Add(this.startState); + // + // splitContainerProperties.Panel2 + // + this.splitContainerProperties.Panel2.Controls.Add(this.labelProperties); + this.splitContainerProperties.Panel2.Controls.Add(this.propertyGrid); + this.splitContainerProperties.Panel2.ForeColor = System.Drawing.Color.White; + this.splitContainerProperties.Size = new System.Drawing.Size(640, 549); + this.splitContainerProperties.SplitterDistance = 409; + this.splitContainerProperties.TabIndex = 0; + // + // labelProperties + // + this.labelProperties.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelProperties.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelProperties.ForeColor = System.Drawing.Color.White; + this.labelProperties.Location = new System.Drawing.Point(3, 0); + this.labelProperties.Name = "labelProperties"; + this.labelProperties.Size = new System.Drawing.Size(221, 19); + this.labelProperties.TabIndex = 2; + this.labelProperties.Text = "Eigenschaften"; + this.labelProperties.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // propertyGrid + // + this.propertyGrid.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.propertyGrid.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); + this.propertyGrid.CategoryForeColor = System.Drawing.SystemColors.ControlLightLight; + this.propertyGrid.CommandsActiveLinkColor = System.Drawing.Color.White; + this.propertyGrid.CommandsBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); + this.propertyGrid.CommandsForeColor = System.Drawing.Color.White; + this.propertyGrid.CommandsLinkColor = System.Drawing.Color.White; + this.propertyGrid.HelpBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); + this.propertyGrid.HelpForeColor = System.Drawing.Color.White; + this.propertyGrid.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.propertyGrid.Location = new System.Drawing.Point(3, 22); + this.propertyGrid.Name = "propertyGrid"; + this.propertyGrid.Size = new System.Drawing.Size(221, 503); + this.propertyGrid.TabIndex = 0; + this.propertyGrid.ViewBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); + this.propertyGrid.ViewForeColor = System.Drawing.Color.White; + // + // ribbonButtonHelp + // + this.ribbonButtonHelp.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonButtonHelp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonHelp.Content = "Help"; + this.ribbonButtonHelp.ForeColor = System.Drawing.Color.White; + this.ribbonButtonHelp.Image = null; + this.ribbonButtonHelp.Location = new System.Drawing.Point(299, 26); + this.ribbonButtonHelp.Name = "ribbonButtonHelp"; + this.ribbonButtonHelp.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonHelp.TabIndex = 8; + // + // ribbonButtonWeb + // + this.ribbonButtonWeb.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonButtonWeb.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonWeb.Content = "Website"; + this.ribbonButtonWeb.ForeColor = System.Drawing.Color.White; + this.ribbonButtonWeb.Image = null; + this.ribbonButtonWeb.Location = new System.Drawing.Point(237, 26); + this.ribbonButtonWeb.Name = "ribbonButtonWeb"; + this.ribbonButtonWeb.Size = new System.Drawing.Size(63, 68); + this.ribbonButtonWeb.TabIndex = 7; + // + // ribbonButtonClean + // + this.ribbonButtonClean.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonButtonClean.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonClean.Content = "Clean"; + this.ribbonButtonClean.ForeColor = System.Drawing.Color.White; + this.ribbonButtonClean.Image = null; + this.ribbonButtonClean.Location = new System.Drawing.Point(186, 26); + this.ribbonButtonClean.Name = "ribbonButtonClean"; + this.ribbonButtonClean.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonClean.TabIndex = 6; + // + // ribbonButtonSave + // + this.ribbonButtonSave.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonButtonSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonSave.Content = "Save"; + this.ribbonButtonSave.ForeColor = System.Drawing.Color.White; + this.ribbonButtonSave.Image = null; + this.ribbonButtonSave.Location = new System.Drawing.Point(105, 26); + this.ribbonButtonSave.Name = "ribbonButtonSave"; + this.ribbonButtonSave.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonSave.TabIndex = 5; + // + // ribbonButtonLoad + // + this.ribbonButtonLoad.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonButtonLoad.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonLoad.Content = "Open"; + this.ribbonButtonLoad.ForeColor = System.Drawing.Color.White; + this.ribbonButtonLoad.Image = null; + this.ribbonButtonLoad.Location = new System.Drawing.Point(54, 26); + this.ribbonButtonLoad.Name = "ribbonButtonLoad"; + this.ribbonButtonLoad.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonLoad.TabIndex = 4; + // + // ribbonButtonNew + // + this.ribbonButtonNew.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonButtonNew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonNew.Content = "New"; + this.ribbonButtonNew.ForeColor = System.Drawing.Color.White; + this.ribbonButtonNew.Image = null; + this.ribbonButtonNew.Location = new System.Drawing.Point(3, 26); + this.ribbonButtonNew.Name = "ribbonButtonNew"; + this.ribbonButtonNew.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonNew.TabIndex = 3; + this.ribbonButtonNew.Click += new System.EventHandler(this.RibbonButtonNewClick); + // + // editingState + // + this.editingState.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.editingState.Dock = System.Windows.Forms.DockStyle.Fill; + this.editingState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.editingState.ForeColor = System.Drawing.Color.White; + this.editingState.Location = new System.Drawing.Point(0, 0); + this.editingState.Name = "editingState"; + this.editingState.Size = new System.Drawing.Size(407, 547); + this.editingState.TabIndex = 1; + this.editingState.Visible = false; + // + // startState + // + this.startState.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.startState.Dock = System.Windows.Forms.DockStyle.Fill; + this.startState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.startState.ForeColor = System.Drawing.Color.White; + this.startState.Location = new System.Drawing.Point(0, 0); + this.startState.Name = "startState"; + this.startState.Size = new System.Drawing.Size(407, 547); + this.startState.TabIndex = 0; + this.startState.Visible = false; + // + // MainWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ClientSize = new System.Drawing.Size(865, 652); + this.Controls.Add(this.splitContainerMenuLayout); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "MainWindow"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "ANX Content Compiler"; + this.splitContainerMenuLayout.Panel1.ResumeLayout(false); + this.splitContainerMenuLayout.Panel2.ResumeLayout(false); + this.splitContainerMenuLayout.ResumeLayout(false); + this.splitContainerFileTree.Panel1.ResumeLayout(false); + this.splitContainerFileTree.Panel2.ResumeLayout(false); + this.splitContainerFileTree.ResumeLayout(false); + this.treeViewContextMenu.ResumeLayout(false); + this.splitContainerProperties.Panel1.ResumeLayout(false); + this.splitContainerProperties.Panel2.ResumeLayout(false); + this.splitContainerProperties.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainerMenuLayout; + private System.Windows.Forms.SplitContainer splitContainerFileTree; + private System.Windows.Forms.SplitContainer splitContainerProperties; + private System.Windows.Forms.TreeView treeView; + private System.Windows.Forms.PropertyGrid propertyGrid; + private System.Windows.Forms.Button buttonMenu; + private System.Windows.Forms.Button buttonQuit; + private System.Windows.Forms.Label labelTitle; + private System.Windows.Forms.Label labelFileTree; + private System.Windows.Forms.Label labelProperties; + private Controls.RibbonButton ribbonButtonNew; + private Controls.RibbonButton ribbonButtonSave; + private Controls.RibbonButton ribbonButtonLoad; + private Controls.RibbonButton ribbonButtonHelp; + private Controls.RibbonButton ribbonButtonWeb; + private Controls.RibbonButton ribbonButtonClean; + private StartState startState; + private System.Windows.Forms.ContextMenuStrip treeViewContextMenu; + private System.Windows.Forms.ToolStripMenuItem treeViewItemRename; + private System.Windows.Forms.ToolStripMenuItem treeViewItemDelete; + private System.Windows.Forms.ToolStripMenuItem treeViewItemAddFolder; + private EditingState editingState; + } +} + diff --git a/Tools/ANXContentCompilerGUI/MainWindow.cs b/Tools/ANXContentCompilerGUI/MainWindow.cs new file mode 100644 index 00000000..a2ef4d2a --- /dev/null +++ b/Tools/ANXContentCompilerGUI/MainWindow.cs @@ -0,0 +1,145 @@ +using System; +using System.Drawing; +using System.IO; +using System.Windows.Forms; +using ANX.ContentCompiler.GUI.Dialogues; + +namespace ANX.ContentCompiler.GUI +{ + public partial class MainWindow : Form + { + #region Fields + public static String DefaultProjectPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "ANX Content Compiler\\4.0\\"); + public static String DefaultOutputPath = "bin"; + + private Point lastPos; + private bool mouseDown; + #endregion + + #region Properties + public static MainWindow Instance { get; private set; } + + public String ProjectName { get; set; } + public String ProjectPath { get; set; } + public String ProjectFolder { get; set; } + public String ProjectOutputDir { get; set; } + public String ProjectImportersDir { get; set; } + #endregion + + #region Constructor + public MainWindow() + { + InitializeComponent(); + Instance = this; + treeViewItemAddFolder.MouseEnter += TreeViewItemMouseEnter; + treeViewItemAddFolder.MouseLeave += TreeViewItemeLeave; + treeViewItemDelete.MouseEnter += TreeViewItemMouseEnter; + treeViewItemRename.MouseEnter += TreeViewItemMouseEnter; + + } + #endregion + + #region NewProject + private void RibbonButtonNewClick(object sender, EventArgs e) + { + using (var dlg = new NewProjectScreen()) + { + if (dlg.ShowDialog() == DialogResult.OK) + { + ProjectName = dlg.textBoxName.Text; + ProjectFolder = !String.IsNullOrEmpty(dlg.textBoxLocation.Text) ? dlg.textBoxLocation.Text : Path.Combine(DefaultProjectPath, ProjectName); + } + else + { + return; + } + } + using (var dlg2 = new NewProjectOutputScreen()) + { + if (dlg2.ShowDialog() == DialogResult.OK) + { + ProjectOutputDir = !String.IsNullOrEmpty(dlg2.textBoxLocation.Text) ? dlg2.textBoxLocation.Text : Path.Combine(ProjectFolder, DefaultOutputPath); + } + else + return; + } + using (var dlg3 = new NewProjectImportersScreen()) + { + if (dlg3.ShowDialog() == DialogResult.OK) + ProjectImportersDir = dlg3.textBoxLocation.Text; + else + return; + } + var importersEnabled = !String.IsNullOrEmpty(ProjectImportersDir); + var importers = 0; + var processors = 0; + + using (var dlg4 = new NewProjectSummaryScreen(ProjectName, ProjectFolder, ProjectOutputDir, importersEnabled, ProjectImportersDir, importers, processors)) + { + dlg4.ShowDialog(); + } + ChangeEnvironmentOpenProject(); + } + #endregion + + #region EnvironmentStates + private void ChangeEnvironmentStartState() + { + editingState.Visible = false; + startState.Visible = true; + Text = "ANX Content Compiler 4"; + labelTitle.Text = "ANX Content Compiler 4"; + } + + private void ChangeEnvironmentOpenProject() + { + startState.Visible = false; + editingState.Visible = true; + Text = ProjectName + " - ANX Content Compiler 4"; + labelTitle.Text = "ANX Content Compiler 4 - " + ProjectName; + } + #endregion + + #region ButtonHandlers + private void ButtonQuitClick(object sender, EventArgs e) + { + Application.Exit(); + } + #endregion + + #region WindowMoveMethods + private void LabelTitleMouseMove(object sender, MouseEventArgs e) + { + if (!mouseDown) return; + var xoffset = MousePosition.X - lastPos.X; + var yoffset = MousePosition.Y - lastPos.Y; + Left += xoffset; + Top += yoffset; + lastPos = MousePosition; + } + + private void LabelTitleMouseDown(object sender, MouseEventArgs e) + { + mouseDown = true; + lastPos = MousePosition; + } + + private void LabelTitleMouseUp(object sender, MouseEventArgs e) + { + mouseDown = false; + } + #endregion + + #region TreeVieItemDesignMethods + void TreeViewItemeLeave(object sender, EventArgs e) + { + ((ToolStripItem)sender).BackColor = Color.FromArgb(0, 64, 64, 64); + } + + void TreeViewItemMouseEnter(object sender, EventArgs e) + { + ((ToolStripItem)sender).BackColor = Color.Green; + } + #endregion + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/MainWindow.resx b/Tools/ANXContentCompilerGUI/MainWindow.resx new file mode 100644 index 00000000..1b68b013 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/MainWindow.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 16, 30 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Program.cs b/Tools/ANXContentCompilerGUI/Program.cs new file mode 100644 index 00000000..d9a5244f --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Program.cs @@ -0,0 +1,19 @@ +using System; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI +{ + internal static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + private static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainWindow()); + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Properties/AssemblyInfo.cs b/Tools/ANXContentCompilerGUI/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..98aad866 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Properties/AssemblyInfo.cs @@ -0,0 +1,39 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die mit einer Assembly verknüpft sind. + +[assembly: AssemblyTitle("EES ContentCompiler for ANX")] +[assembly: AssemblyDescription("Content Compiler Graphical Userinterface")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Eagle Eye Studios")] +[assembly: AssemblyProduct("ANX.ContentCompiler.GUI")] +[assembly: AssemblyCopyright("Copyright © 2012 Eagle Eye Studios.")] +[assembly: AssemblyTrademark("EES ContentCompiler")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. + +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + +[assembly: Guid("b63e5ec4-4a52-4920-93f9-cd901f454fb1")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] + +[assembly: AssemblyVersion("4.0.*")] +[assembly: AssemblyFileVersion("0.7.0.0")] \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Properties/Resources.Designer.cs b/Tools/ANXContentCompilerGUI/Properties/Resources.Designer.cs new file mode 100644 index 00000000..43c52af5 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Properties/Resources.Designer.cs @@ -0,0 +1,113 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17929 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ANX.ContentCompiler.GUI.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.ContentCompiler.GUI.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow { + get { + object obj = ResourceManager.GetObject("arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow_left { + get { + object obj = ResourceManager.GetObject("arrow_left", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow_right { + get { + object obj = ResourceManager.GetObject("arrow_right", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap clouds { + get { + object obj = ResourceManager.GetObject("clouds", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Deleket_Smileys_8 { + get { + object obj = ResourceManager.GetObject("Deleket_Smileys_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Tools/ANXContentCompilerGUI/Properties/Resources.resx b/Tools/ANXContentCompilerGUI/Properties/Resources.resx new file mode 100644 index 00000000..a3a98913 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Properties/Resources.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\arrow-left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow-right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Deleket-Smileys-8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\clouds.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Properties/Settings.Designer.cs b/Tools/ANXContentCompilerGUI/Properties/Settings.Designer.cs new file mode 100644 index 00000000..5a04f1b3 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17929 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ANX.ContentCompiler.GUI.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/Tools/ANXContentCompilerGUI/Properties/Settings.settings b/Tools/ANXContentCompilerGUI/Properties/Settings.settings new file mode 100644 index 00000000..eeb7df06 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/Properties/Settings.settings @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/Resources/Deleket-Smileys-8.png b/Tools/ANXContentCompilerGUI/Resources/Deleket-Smileys-8.png new file mode 100644 index 0000000000000000000000000000000000000000..187f5a2ee68d11bc62e388ba5f1058963aa89777 GIT binary patch literal 71613 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 literal 0 HcmV?d00001 diff --git a/Tools/ANXContentCompilerGUI/Resources/arrow-right.png b/Tools/ANXContentCompilerGUI/Resources/arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..db8a12aa259ff6f7087f379c4a7f90770303d701 GIT binary patch literal 8954 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 UYx9dZW&i*H07*qoM6N<$f?ml%RR910 literal 0 HcmV?d00001 diff --git a/Tools/ANXContentCompilerGUI/Resources/arrow.png b/Tools/ANXContentCompilerGUI/Resources/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..d0cb0a4a52b22ddf9fecfe88298bbd030c5ec7f8 GIT binary patch literal 3574 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 literal 0 HcmV?d00001 diff --git a/Tools/ANXContentCompilerGUI/Resources/clouds.png b/Tools/ANXContentCompilerGUI/Resources/clouds.png new file mode 100644 index 0000000000000000000000000000000000000000..8efbf681af4f39838af73a3a67eb1a6904822b34 GIT binary patch literal 70980 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 QGynhq07*qoM6N<$g1~I6CIA2c literal 0 HcmV?d00001 diff --git a/Tools/ANXContentCompilerGUI/States/EditingState.Designer.cs b/Tools/ANXContentCompilerGUI/States/EditingState.Designer.cs new file mode 100644 index 00000000..7e8f6e91 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/States/EditingState.Designer.cs @@ -0,0 +1,134 @@ +namespace ANX.ContentCompiler.GUI.States +{ + partial class EditingState + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.labelHead = new System.Windows.Forms.Label(); + this.arrowButtonAddFiles = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonCreateFolder = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonPreview = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonBuild = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.SuspendLayout(); + // + // labelHead + // + this.labelHead.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelHead.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelHead.Location = new System.Drawing.Point(15, 11); + this.labelHead.Name = "labelHead"; + this.labelHead.Size = new System.Drawing.Size(351, 61); + this.labelHead.TabIndex = 4; + this.labelHead.Text = "What now?"; + this.labelHead.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // arrowButtonAddFiles + // + this.arrowButtonAddFiles.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonAddFiles.AutoSize = true; + this.arrowButtonAddFiles.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonAddFiles.Content = "Add Files"; + this.arrowButtonAddFiles.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonAddFiles.ForeColor = System.Drawing.Color.White; + this.arrowButtonAddFiles.Location = new System.Drawing.Point(16, 73); + this.arrowButtonAddFiles.Name = "arrowButtonAddFiles"; + this.arrowButtonAddFiles.Size = new System.Drawing.Size(348, 64); + this.arrowButtonAddFiles.TabIndex = 5; + // + // arrowButtonCreateFolder + // + this.arrowButtonCreateFolder.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonCreateFolder.AutoSize = true; + this.arrowButtonCreateFolder.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonCreateFolder.Content = "Create Folder"; + this.arrowButtonCreateFolder.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonCreateFolder.ForeColor = System.Drawing.Color.White; + this.arrowButtonCreateFolder.Location = new System.Drawing.Point(16, 141); + this.arrowButtonCreateFolder.Name = "arrowButtonCreateFolder"; + this.arrowButtonCreateFolder.Size = new System.Drawing.Size(348, 64); + this.arrowButtonCreateFolder.TabIndex = 6; + // + // arrowButtonPreview + // + this.arrowButtonPreview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonPreview.AutoSize = true; + this.arrowButtonPreview.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonPreview.Content = "Preview File"; + this.arrowButtonPreview.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonPreview.ForeColor = System.Drawing.Color.White; + this.arrowButtonPreview.Location = new System.Drawing.Point(16, 206); + this.arrowButtonPreview.Name = "arrowButtonPreview"; + this.arrowButtonPreview.Size = new System.Drawing.Size(348, 64); + this.arrowButtonPreview.TabIndex = 7; + // + // arrowButtonBuild + // + this.arrowButtonBuild.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonBuild.AutoSize = true; + this.arrowButtonBuild.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonBuild.Content = "Build Project"; + this.arrowButtonBuild.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonBuild.ForeColor = System.Drawing.Color.White; + this.arrowButtonBuild.Location = new System.Drawing.Point(16, 273); + this.arrowButtonBuild.Name = "arrowButtonBuild"; + this.arrowButtonBuild.Size = new System.Drawing.Size(348, 64); + this.arrowButtonBuild.TabIndex = 8; + // + // EditingState + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.Controls.Add(this.arrowButtonBuild); + this.Controls.Add(this.arrowButtonPreview); + this.Controls.Add(this.arrowButtonCreateFolder); + this.Controls.Add(this.arrowButtonAddFiles); + this.Controls.Add(this.labelHead); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.Name = "EditingState"; + this.Size = new System.Drawing.Size(380, 384); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label labelHead; + private Controls.ArrowButton arrowButtonAddFiles; + private Controls.ArrowButton arrowButtonCreateFolder; + private Controls.ArrowButton arrowButtonPreview; + private Controls.ArrowButton arrowButtonBuild; + + } +} diff --git a/Tools/ANXContentCompilerGUI/States/EditingState.cs b/Tools/ANXContentCompilerGUI/States/EditingState.cs new file mode 100644 index 00000000..669dc27b --- /dev/null +++ b/Tools/ANXContentCompilerGUI/States/EditingState.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.States +{ + public partial class EditingState : UserControl + { + public EditingState() + { + InitializeComponent(); + } + } +} diff --git a/Tools/ANXContentCompilerGUI/States/EditingState.resx b/Tools/ANXContentCompilerGUI/States/EditingState.resx new file mode 100644 index 00000000..5ea0895e --- /dev/null +++ b/Tools/ANXContentCompilerGUI/States/EditingState.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/States/StartState.Designer.cs b/Tools/ANXContentCompilerGUI/States/StartState.Designer.cs new file mode 100644 index 00000000..9b44a7d0 --- /dev/null +++ b/Tools/ANXContentCompilerGUI/States/StartState.Designer.cs @@ -0,0 +1,116 @@ +namespace ANX.ContentCompiler.GUI.States +{ + partial class StartState + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.arrowButtonLoad = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonImport = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.arrowButtonNew = new ANX.ContentCompiler.GUI.Controls.ArrowButton(); + this.SuspendLayout(); + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(17, 20); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(351, 61); + this.label1.TabIndex = 3; + this.label1.Text = "What do you want to do?\r\n\r\n"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // arrowButtonLoad + // + this.arrowButtonLoad.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonLoad.AutoSize = true; + this.arrowButtonLoad.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonLoad.Content = "Load Project"; + this.arrowButtonLoad.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonLoad.ForeColor = System.Drawing.Color.White; + this.arrowButtonLoad.Location = new System.Drawing.Point(20, 158); + this.arrowButtonLoad.Name = "arrowButtonLoad"; + this.arrowButtonLoad.Size = new System.Drawing.Size(348, 64); + this.arrowButtonLoad.TabIndex = 2; + // + // arrowButtonImport + // + this.arrowButtonImport.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonImport.AutoSize = true; + this.arrowButtonImport.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonImport.Content = "Import Project"; + this.arrowButtonImport.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonImport.ForeColor = System.Drawing.Color.White; + this.arrowButtonImport.Location = new System.Drawing.Point(20, 228); + this.arrowButtonImport.Name = "arrowButtonImport"; + this.arrowButtonImport.Size = new System.Drawing.Size(348, 64); + this.arrowButtonImport.TabIndex = 1; + // + // arrowButtonNew + // + this.arrowButtonNew.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.arrowButtonNew.AutoSize = true; + this.arrowButtonNew.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.arrowButtonNew.Content = "Create Project"; + this.arrowButtonNew.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arrowButtonNew.ForeColor = System.Drawing.Color.White; + this.arrowButtonNew.Location = new System.Drawing.Point(20, 88); + this.arrowButtonNew.Name = "arrowButtonNew"; + this.arrowButtonNew.Size = new System.Drawing.Size(348, 64); + this.arrowButtonNew.TabIndex = 0; + // + // StartState + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.Controls.Add(this.label1); + this.Controls.Add(this.arrowButtonLoad); + this.Controls.Add(this.arrowButtonImport); + this.Controls.Add(this.arrowButtonNew); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.Color.White; + this.Name = "StartState"; + this.Size = new System.Drawing.Size(386, 323); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private Controls.ArrowButton arrowButtonNew; + private Controls.ArrowButton arrowButtonImport; + private Controls.ArrowButton arrowButtonLoad; + private System.Windows.Forms.Label label1; + } +} diff --git a/Tools/ANXContentCompilerGUI/States/StartState.cs b/Tools/ANXContentCompilerGUI/States/StartState.cs new file mode 100644 index 00000000..d6c0062b --- /dev/null +++ b/Tools/ANXContentCompilerGUI/States/StartState.cs @@ -0,0 +1,12 @@ +using System.Windows.Forms; + +namespace ANX.ContentCompiler.GUI.States +{ + public partial class StartState : UserControl + { + public StartState() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Tools/ANXContentCompilerGUI/States/StartState.resx b/Tools/ANXContentCompilerGUI/States/StartState.resx new file mode 100644 index 00000000..5ea0895e --- /dev/null +++ b/Tools/ANXContentCompilerGUI/States/StartState.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file