diff --git a/DarkUI.sln b/DarkUI.sln index b03eda9..49904b5 100644 --- a/DarkUI.sln +++ b/DarkUI.sln @@ -1,11 +1,13 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.23107.0 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31515.178 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DarkUI", "DarkUI\DarkUI.csproj", "{F19472F5-8C44-4C51-A8A0-B9DE5F555255}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DarkUI", "DarkUI\DarkUI.csproj", "{F19472F5-8C44-4C51-A8A0-B9DE5F555255}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example", "Example\Example.csproj", "{FA334815-6D78-4E9A-9F4D-6C8A58222A57}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Example", "Example\Example.csproj", "{FA334815-6D78-4E9A-9F4D-6C8A58222A57}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example.net4", "Example.net4\Example.net4.csproj", "{C9035F2D-CA7C-4224-946E-457CBD81EB98}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -21,8 +23,15 @@ Global {FA334815-6D78-4E9A-9F4D-6C8A58222A57}.Debug|Any CPU.Build.0 = Debug|Any CPU {FA334815-6D78-4E9A-9F4D-6C8A58222A57}.Release|Any CPU.ActiveCfg = Release|Any CPU {FA334815-6D78-4E9A-9F4D-6C8A58222A57}.Release|Any CPU.Build.0 = Release|Any CPU + {C9035F2D-CA7C-4224-946E-457CBD81EB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9035F2D-CA7C-4224-946E-457CBD81EB98}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9035F2D-CA7C-4224-946E-457CBD81EB98}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9035F2D-CA7C-4224-946E-457CBD81EB98}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D0D81AFE-1758-448F-BBD4-8DE24B38ADC8} + EndGlobalSection EndGlobal diff --git a/DarkUI/DarkUI.csproj b/DarkUI/DarkUI.csproj index 64313eb..277ccab 100644 --- a/DarkUI/DarkUI.csproj +++ b/DarkUI/DarkUI.csproj @@ -2,7 +2,7 @@ Library - net5.0-windows + net5.0-windows;net4 true diff --git a/Example.net4/Example.net4.csproj b/Example.net4/Example.net4.csproj new file mode 100644 index 0000000..34f7ca1 --- /dev/null +++ b/Example.net4/Example.net4.csproj @@ -0,0 +1,213 @@ + + + + + Debug + AnyCPU + {C9035F2D-CA7C-4224-946E-457CBD81EB98} + WinExe + Properties + Example + Example + v4.0 + 512 + true + Client + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + .\Newtonsoft.Json.dll + + + + + + + + + + Form + + + DialogAbout.cs + + + Form + + + DialogControls.cs + + + UserControl + + + DockDocument.cs + + + UserControl + + + DockConsole.cs + + + UserControl + + + DockHistory.cs + + + UserControl + + + DockLayers.cs + + + UserControl + + + DockProperties.cs + + + UserControl + + + DockProject.cs + + + Form + + + MainForm.cs + + + + True + True + Icons.resx + + + + + DialogAbout.cs + + + DialogControls.cs + + + DockDocument.cs + + + DockConsole.cs + + + DockHistory.cs + + + DockLayers.cs + + + DockProperties.cs + + + DockProject.cs + + + MainForm.cs + + + ResXFileCodeGenerator + Icons.Designer.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + {f19472f5-8c44-4c51-a8a0-b9de5f555255} + DarkUI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Example.net4/Forms/Dialogs/DialogAbout.Designer.cs b/Example.net4/Forms/Dialogs/DialogAbout.Designer.cs new file mode 100644 index 0000000..53f5a23 --- /dev/null +++ b/Example.net4/Forms/Dialogs/DialogAbout.Designer.cs @@ -0,0 +1,148 @@ +using DarkUI.Controls; + +namespace Example +{ + partial class DialogAbout + { + /// + /// 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(DialogAbout)); + this.pnlMain = new System.Windows.Forms.Panel(); + this.lblVersion = new DarkLabel(); + this.darkLabel3 = new DarkLabel(); + this.darkLabel2 = new DarkLabel(); + this.darkLabel1 = new DarkLabel(); + this.lblHeader = new DarkLabel(); + this.pnlMain.SuspendLayout(); + this.SuspendLayout(); + // + // pnlMain + // + this.pnlMain.Controls.Add(this.lblVersion); + this.pnlMain.Controls.Add(this.darkLabel3); + this.pnlMain.Controls.Add(this.darkLabel2); + this.pnlMain.Controls.Add(this.darkLabel1); + this.pnlMain.Controls.Add(this.lblHeader); + this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlMain.Location = new System.Drawing.Point(0, 0); + this.pnlMain.Name = "pnlMain"; + this.pnlMain.Padding = new System.Windows.Forms.Padding(15, 15, 15, 5); + this.pnlMain.Size = new System.Drawing.Size(343, 229); + this.pnlMain.TabIndex = 2; + // + // lblVersion + // + this.lblVersion.Dock = System.Windows.Forms.DockStyle.Top; + this.lblVersion.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblVersion.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.lblVersion.Location = new System.Drawing.Point(15, 192); + this.lblVersion.Name = "lblVersion"; + this.lblVersion.Size = new System.Drawing.Size(313, 36); + this.lblVersion.TabIndex = 7; + this.lblVersion.Text = "Version: [version]"; + this.lblVersion.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + // + // darkLabel3 + // + this.darkLabel3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkLabel3.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.darkLabel3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.darkLabel3.Location = new System.Drawing.Point(15, 152); + this.darkLabel3.Name = "darkLabel3"; + this.darkLabel3.Size = new System.Drawing.Size(313, 40); + this.darkLabel3.TabIndex = 6; + this.darkLabel3.Text = "(Also with a hardcoded dark theme because I totally could not figure out a clean " + + "way to have application-wide theme settings... so, you know, if you\'ve got an id" + + "ea, pull request me.)\r\n"; + this.darkLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // darkLabel2 + // + this.darkLabel2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkLabel2.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.darkLabel2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.darkLabel2.Location = new System.Drawing.Point(15, 101); + this.darkLabel2.Name = "darkLabel2"; + this.darkLabel2.Size = new System.Drawing.Size(313, 51); + this.darkLabel2.TabIndex = 5; + this.darkLabel2.Text = "Created because of all the little annoyances and issues with the default .NET con" + + "trol library."; + this.darkLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // darkLabel1 + // + this.darkLabel1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkLabel1.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.darkLabel1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.darkLabel1.Location = new System.Drawing.Point(15, 47); + this.darkLabel1.Name = "darkLabel1"; + this.darkLabel1.Size = new System.Drawing.Size(313, 54); + this.darkLabel1.TabIndex = 4; + this.darkLabel1.Text = "Dark themed control and docking library for .NET WinForms."; + this.darkLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblHeader + // + this.lblHeader.Dock = System.Windows.Forms.DockStyle.Top; + this.lblHeader.Font = new System.Drawing.Font("Segoe UI", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblHeader.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.lblHeader.Location = new System.Drawing.Point(15, 15); + this.lblHeader.Name = "lblHeader"; + this.lblHeader.Size = new System.Drawing.Size(313, 32); + this.lblHeader.TabIndex = 3; + this.lblHeader.Text = "Dark UI"; + this.lblHeader.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // DialogAbout + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(343, 274); + this.Controls.Add(this.pnlMain); + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "DialogAbout"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "About Dark UI"; + this.Controls.SetChildIndex(this.pnlMain, 0); + this.pnlMain.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel pnlMain; + private DarkLabel lblHeader; + private DarkLabel darkLabel1; + private DarkLabel darkLabel3; + private DarkLabel darkLabel2; + private DarkLabel lblVersion; + } +} \ No newline at end of file diff --git a/Example.net4/Forms/Dialogs/DialogAbout.cs b/Example.net4/Forms/Dialogs/DialogAbout.cs new file mode 100644 index 0000000..b33b110 --- /dev/null +++ b/Example.net4/Forms/Dialogs/DialogAbout.cs @@ -0,0 +1,20 @@ +using DarkUI.Forms; +using System.Windows.Forms; + +namespace Example +{ + public partial class DialogAbout : DarkDialog + { + #region Constructor Region + + public DialogAbout() + { + InitializeComponent(); + + lblVersion.Text = $"Version: {Application.ProductVersion.ToString()}"; + btnOk.Text = "Close"; + } + + #endregion + } +} diff --git a/Example.net4/Forms/Dialogs/DialogAbout.resx b/Example.net4/Forms/Dialogs/DialogAbout.resx new file mode 100644 index 0000000..b278dc3 --- /dev/null +++ b/Example.net4/Forms/Dialogs/DialogAbout.resx @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAECAAAAEAIAAuAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAAFz + UkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAw0lEQVQ4T92TsQ0C + MQxFswcNm8ECTMA07IF0oqHNDFAhKCKKJGXIOxx08VkgQceXfuP/v+X4fE4j57yOMQ4ppTIlNTSxzVHF + ZTX64XQvq/2lLHbnjtTQ8OCV2BMSDpvDdRbU3B5vNAldE7oiaHODrksTP4Z5F6NpE2ywNDJkHcux3vyJ + ZMgyvmmADZYGyf5Dg3dLbLC01xJ//oygjuKtK2zQ9e6QAGdZC8G6Rk3zlIE0+e5nmoJ3sZxqHLfcSA1N + bALnHokvo216mLOQAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/Example.net4/Forms/Dialogs/DialogControls.Designer.cs b/Example.net4/Forms/Dialogs/DialogControls.Designer.cs new file mode 100644 index 0000000..3790db5 --- /dev/null +++ b/Example.net4/Forms/Dialogs/DialogControls.Designer.cs @@ -0,0 +1,498 @@ +using DarkUI.Controls; + +namespace Example +{ + partial class DialogControls + { + /// + /// 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(DialogControls)); + this.pnlMain = new System.Windows.Forms.Panel(); + this.tblMain = new System.Windows.Forms.TableLayoutPanel(); + this.pnlTreeView = new DarkUI.Controls.DarkSectionPanel(); + this.treeTest = new DarkUI.Controls.DarkTreeView(); + this.pnlListView = new DarkUI.Controls.DarkSectionPanel(); + this.lstTest = new DarkUI.Controls.DarkListView(); + this.pnlMessageBox = new DarkUI.Controls.DarkSectionPanel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel7 = new System.Windows.Forms.Panel(); + this.darkComboBox1 = new DarkUI.Controls.DarkComboBox(); + this.darkTitle4 = new DarkUI.Controls.DarkTitle(); + this.panel6 = new System.Windows.Forms.Panel(); + this.darkNumericUpDown1 = new DarkUI.Controls.DarkNumericUpDown(); + this.darkTitle5 = new DarkUI.Controls.DarkTitle(); + this.panel5 = new System.Windows.Forms.Panel(); + this.darkRadioButton3 = new DarkUI.Controls.DarkRadioButton(); + this.darkRadioButton2 = new DarkUI.Controls.DarkRadioButton(); + this.darkRadioButton1 = new DarkUI.Controls.DarkRadioButton(); + this.darkTitle3 = new DarkUI.Controls.DarkTitle(); + this.panel4 = new System.Windows.Forms.Panel(); + this.darkCheckBox2 = new DarkUI.Controls.DarkCheckBox(); + this.darkCheckBox1 = new DarkUI.Controls.DarkCheckBox(); + this.darkTitle2 = new DarkUI.Controls.DarkTitle(); + this.panel3 = new System.Windows.Forms.Panel(); + this.btnMessageBox = new DarkUI.Controls.DarkButton(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btnDialog = new DarkUI.Controls.DarkButton(); + this.darkTitle1 = new DarkUI.Controls.DarkTitle(); + this.darkGroupBox1 = new DarkUI.Controls.DarkGroupBox(); + this.darkCheckBox3 = new DarkUI.Controls.DarkCheckBox(); + this.darkRadioButton4 = new DarkUI.Controls.DarkRadioButton(); + this.pnlMain.SuspendLayout(); + this.tblMain.SuspendLayout(); + this.pnlTreeView.SuspendLayout(); + this.pnlListView.SuspendLayout(); + this.pnlMessageBox.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel7.SuspendLayout(); + this.panel6.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.darkNumericUpDown1)).BeginInit(); + this.panel5.SuspendLayout(); + this.panel4.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel2.SuspendLayout(); + this.darkGroupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // pnlMain + // + this.pnlMain.Controls.Add(this.tblMain); + this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlMain.Location = new System.Drawing.Point(0, 0); + this.pnlMain.Name = "pnlMain"; + this.pnlMain.Padding = new System.Windows.Forms.Padding(5, 10, 5, 0); + this.pnlMain.Size = new System.Drawing.Size(708, 528); + this.pnlMain.TabIndex = 2; + // + // tblMain + // + this.tblMain.ColumnCount = 3; + this.tblMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tblMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tblMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tblMain.Controls.Add(this.pnlTreeView, 0, 0); + this.tblMain.Controls.Add(this.pnlListView, 0, 0); + this.tblMain.Controls.Add(this.pnlMessageBox, 0, 0); + this.tblMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.tblMain.Location = new System.Drawing.Point(5, 10); + this.tblMain.Name = "tblMain"; + this.tblMain.RowCount = 1; + this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tblMain.Size = new System.Drawing.Size(698, 518); + this.tblMain.TabIndex = 0; + // + // pnlTreeView + // + this.pnlTreeView.Controls.Add(this.treeTest); + this.pnlTreeView.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlTreeView.Location = new System.Drawing.Point(469, 0); + this.pnlTreeView.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0); + this.pnlTreeView.Name = "pnlTreeView"; + this.pnlTreeView.SectionHeader = "Tree view test"; + this.pnlTreeView.Size = new System.Drawing.Size(224, 518); + this.pnlTreeView.TabIndex = 14; + // + // treeTest + // + this.treeTest.AllowMoveNodes = true; + this.treeTest.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeTest.Location = new System.Drawing.Point(1, 25); + this.treeTest.MaxDragChange = 20; + this.treeTest.MultiSelect = true; + this.treeTest.Name = "treeTest"; + this.treeTest.ShowIcons = true; + this.treeTest.Size = new System.Drawing.Size(222, 492); + this.treeTest.TabIndex = 0; + this.treeTest.Text = "darkTreeView1"; + // + // pnlListView + // + this.pnlListView.Controls.Add(this.lstTest); + this.pnlListView.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlListView.Location = new System.Drawing.Point(237, 0); + this.pnlListView.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0); + this.pnlListView.Name = "pnlListView"; + this.pnlListView.SectionHeader = "List view test"; + this.pnlListView.Size = new System.Drawing.Size(222, 518); + this.pnlListView.TabIndex = 13; + // + // lstTest + // + this.lstTest.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstTest.Location = new System.Drawing.Point(1, 25); + this.lstTest.MultiSelect = true; + this.lstTest.Name = "lstTest"; + this.lstTest.Size = new System.Drawing.Size(220, 492); + this.lstTest.TabIndex = 7; + this.lstTest.Text = "darkListView1"; + // + // pnlMessageBox + // + this.pnlMessageBox.Controls.Add(this.panel1); + this.pnlMessageBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlMessageBox.Location = new System.Drawing.Point(5, 0); + this.pnlMessageBox.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0); + this.pnlMessageBox.Name = "pnlMessageBox"; + this.pnlMessageBox.SectionHeader = "Controls test"; + this.pnlMessageBox.Size = new System.Drawing.Size(222, 518); + this.pnlMessageBox.TabIndex = 12; + // + // panel1 + // + this.panel1.Controls.Add(this.darkGroupBox1); + this.panel1.Controls.Add(this.panel7); + this.panel1.Controls.Add(this.panel6); + this.panel1.Controls.Add(this.panel5); + this.panel1.Controls.Add(this.panel4); + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(1, 25); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(10); + this.panel1.Size = new System.Drawing.Size(220, 492); + this.panel1.TabIndex = 0; + // + // panel7 + // + this.panel7.Controls.Add(this.darkComboBox1); + this.panel7.Controls.Add(this.darkTitle4); + this.panel7.Dock = System.Windows.Forms.DockStyle.Top; + this.panel7.Location = new System.Drawing.Point(10, 349); + this.panel7.Name = "panel7"; + this.panel7.Size = new System.Drawing.Size(200, 63); + this.panel7.TabIndex = 23; + // + // darkComboBox1 + // + this.darkComboBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkComboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable; + this.darkComboBox1.FormattingEnabled = true; + this.darkComboBox1.Items.AddRange(new object[] { + "Item 1", + "Item 2", + "This is a really long item in the collection to check out how text is clipped", + "Item 4"}); + this.darkComboBox1.Location = new System.Drawing.Point(0, 26); + this.darkComboBox1.Name = "darkComboBox1"; + this.darkComboBox1.Size = new System.Drawing.Size(200, 24); + this.darkComboBox1.TabIndex = 20; + // + // darkTitle4 + // + this.darkTitle4.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle4.Location = new System.Drawing.Point(0, 0); + this.darkTitle4.Name = "darkTitle4"; + this.darkTitle4.Size = new System.Drawing.Size(200, 26); + this.darkTitle4.TabIndex = 21; + this.darkTitle4.Text = "ComboBox"; + // + // panel6 + // + this.panel6.Controls.Add(this.darkNumericUpDown1); + this.panel6.Controls.Add(this.darkTitle5); + this.panel6.Dock = System.Windows.Forms.DockStyle.Top; + this.panel6.Location = new System.Drawing.Point(10, 285); + this.panel6.Margin = new System.Windows.Forms.Padding(0); + this.panel6.Name = "panel6"; + this.panel6.Size = new System.Drawing.Size(200, 64); + this.panel6.TabIndex = 22; + // + // darkNumericUpDown1 + // + this.darkNumericUpDown1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkNumericUpDown1.Location = new System.Drawing.Point(0, 26); + this.darkNumericUpDown1.Name = "darkNumericUpDown1"; + this.darkNumericUpDown1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.darkNumericUpDown1.Size = new System.Drawing.Size(200, 23); + this.darkNumericUpDown1.TabIndex = 24; + // + // darkTitle5 + // + this.darkTitle5.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle5.Location = new System.Drawing.Point(0, 0); + this.darkTitle5.Name = "darkTitle5"; + this.darkTitle5.Size = new System.Drawing.Size(200, 26); + this.darkTitle5.TabIndex = 23; + this.darkTitle5.Text = "Numeric Up/Down"; + // + // panel5 + // + this.panel5.Controls.Add(this.darkRadioButton3); + this.panel5.Controls.Add(this.darkRadioButton2); + this.panel5.Controls.Add(this.darkRadioButton1); + this.panel5.Controls.Add(this.darkTitle3); + this.panel5.Dock = System.Windows.Forms.DockStyle.Top; + this.panel5.Location = new System.Drawing.Point(10, 185); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(200, 100); + this.panel5.TabIndex = 12; + // + // darkRadioButton3 + // + this.darkRadioButton3.AutoSize = true; + this.darkRadioButton3.Checked = true; + this.darkRadioButton3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton3.Enabled = false; + this.darkRadioButton3.Location = new System.Drawing.Point(0, 64); + this.darkRadioButton3.Name = "darkRadioButton3"; + this.darkRadioButton3.Size = new System.Drawing.Size(200, 19); + this.darkRadioButton3.TabIndex = 4; + this.darkRadioButton3.TabStop = true; + this.darkRadioButton3.Text = "Disabled radio button"; + // + // darkRadioButton2 + // + this.darkRadioButton2.AutoSize = true; + this.darkRadioButton2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton2.Location = new System.Drawing.Point(0, 45); + this.darkRadioButton2.Name = "darkRadioButton2"; + this.darkRadioButton2.Size = new System.Drawing.Size(200, 19); + this.darkRadioButton2.TabIndex = 3; + this.darkRadioButton2.Text = "Radio button"; + // + // darkRadioButton1 + // + this.darkRadioButton1.AutoSize = true; + this.darkRadioButton1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton1.Location = new System.Drawing.Point(0, 26); + this.darkRadioButton1.Name = "darkRadioButton1"; + this.darkRadioButton1.Size = new System.Drawing.Size(200, 19); + this.darkRadioButton1.TabIndex = 2; + this.darkRadioButton1.Text = "Radio button"; + // + // darkTitle3 + // + this.darkTitle3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle3.Location = new System.Drawing.Point(0, 0); + this.darkTitle3.Name = "darkTitle3"; + this.darkTitle3.Size = new System.Drawing.Size(200, 26); + this.darkTitle3.TabIndex = 16; + this.darkTitle3.Text = "Radio buttons"; + // + // panel4 + // + this.panel4.AutoSize = true; + this.panel4.Controls.Add(this.darkCheckBox2); + this.panel4.Controls.Add(this.darkCheckBox1); + this.panel4.Controls.Add(this.darkTitle2); + this.panel4.Dock = System.Windows.Forms.DockStyle.Top; + this.panel4.Location = new System.Drawing.Point(10, 111); + this.panel4.Name = "panel4"; + this.panel4.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10); + this.panel4.Size = new System.Drawing.Size(200, 74); + this.panel4.TabIndex = 11; + // + // darkCheckBox2 + // + this.darkCheckBox2.AutoSize = true; + this.darkCheckBox2.Checked = true; + this.darkCheckBox2.CheckState = System.Windows.Forms.CheckState.Checked; + this.darkCheckBox2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkCheckBox2.Enabled = false; + this.darkCheckBox2.Location = new System.Drawing.Point(0, 45); + this.darkCheckBox2.Name = "darkCheckBox2"; + this.darkCheckBox2.Size = new System.Drawing.Size(200, 19); + this.darkCheckBox2.TabIndex = 13; + this.darkCheckBox2.Text = "Disabled checkbox"; + // + // darkCheckBox1 + // + this.darkCheckBox1.AutoSize = true; + this.darkCheckBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkCheckBox1.Location = new System.Drawing.Point(0, 26); + this.darkCheckBox1.Name = "darkCheckBox1"; + this.darkCheckBox1.Size = new System.Drawing.Size(200, 19); + this.darkCheckBox1.TabIndex = 12; + this.darkCheckBox1.Text = "Enabled checkbox"; + // + // darkTitle2 + // + this.darkTitle2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle2.Location = new System.Drawing.Point(0, 0); + this.darkTitle2.Name = "darkTitle2"; + this.darkTitle2.Size = new System.Drawing.Size(200, 26); + this.darkTitle2.TabIndex = 15; + this.darkTitle2.Text = "Check boxes"; + // + // panel3 + // + this.panel3.AutoSize = true; + this.panel3.Controls.Add(this.btnMessageBox); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(10, 71); + this.panel3.Name = "panel3"; + this.panel3.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10); + this.panel3.Size = new System.Drawing.Size(200, 40); + this.panel3.TabIndex = 10; + // + // btnMessageBox + // + this.btnMessageBox.Dock = System.Windows.Forms.DockStyle.Top; + this.btnMessageBox.Location = new System.Drawing.Point(0, 0); + this.btnMessageBox.Name = "btnMessageBox"; + this.btnMessageBox.Padding = new System.Windows.Forms.Padding(5); + this.btnMessageBox.Size = new System.Drawing.Size(200, 30); + this.btnMessageBox.TabIndex = 12; + this.btnMessageBox.Text = "Message Box"; + // + // panel2 + // + this.panel2.AutoSize = true; + this.panel2.Controls.Add(this.btnDialog); + this.panel2.Controls.Add(this.darkTitle1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Top; + this.panel2.Location = new System.Drawing.Point(10, 10); + this.panel2.Name = "panel2"; + this.panel2.Padding = new System.Windows.Forms.Padding(0, 0, 0, 5); + this.panel2.Size = new System.Drawing.Size(200, 61); + this.panel2.TabIndex = 5; + // + // btnDialog + // + this.btnDialog.Dock = System.Windows.Forms.DockStyle.Top; + this.btnDialog.Location = new System.Drawing.Point(0, 26); + this.btnDialog.Name = "btnDialog"; + this.btnDialog.Padding = new System.Windows.Forms.Padding(5); + this.btnDialog.Size = new System.Drawing.Size(200, 30); + this.btnDialog.TabIndex = 4; + this.btnDialog.Text = "Dialog"; + // + // darkTitle1 + // + this.darkTitle1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle1.Location = new System.Drawing.Point(0, 0); + this.darkTitle1.Name = "darkTitle1"; + this.darkTitle1.Size = new System.Drawing.Size(200, 26); + this.darkTitle1.TabIndex = 14; + this.darkTitle1.Text = "Dialogs"; + // + // darkGroupBox1 + // + this.darkGroupBox1.AutoSize = true; + this.darkGroupBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51))))); + this.darkGroupBox1.Controls.Add(this.darkRadioButton4); + this.darkGroupBox1.Controls.Add(this.darkCheckBox3); + this.darkGroupBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkGroupBox1.Location = new System.Drawing.Point(10, 412); + this.darkGroupBox1.Name = "darkGroupBox1"; + this.darkGroupBox1.Padding = new System.Windows.Forms.Padding(10, 5, 10, 10); + this.darkGroupBox1.Size = new System.Drawing.Size(200, 69); + this.darkGroupBox1.TabIndex = 24; + this.darkGroupBox1.TabStop = false; + this.darkGroupBox1.Text = "GroupBox"; + // + // darkCheckBox3 + // + this.darkCheckBox3.AutoSize = true; + this.darkCheckBox3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkCheckBox3.Location = new System.Drawing.Point(10, 21); + this.darkCheckBox3.Name = "darkCheckBox3"; + this.darkCheckBox3.Size = new System.Drawing.Size(180, 19); + this.darkCheckBox3.TabIndex = 0; + this.darkCheckBox3.Text = "Checkbox"; + // + // darkRadioButton4 + // + this.darkRadioButton4.AutoSize = true; + this.darkRadioButton4.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton4.Location = new System.Drawing.Point(10, 40); + this.darkRadioButton4.Name = "darkRadioButton4"; + this.darkRadioButton4.Size = new System.Drawing.Size(180, 19); + this.darkRadioButton4.TabIndex = 1; + this.darkRadioButton4.TabStop = true; + this.darkRadioButton4.Text = "Radio button"; + // + // DialogControls + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(708, 573); + this.Controls.Add(this.pnlMain); + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "DialogControls"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Controls"; + this.Controls.SetChildIndex(this.pnlMain, 0); + this.pnlMain.ResumeLayout(false); + this.tblMain.ResumeLayout(false); + this.pnlTreeView.ResumeLayout(false); + this.pnlListView.ResumeLayout(false); + this.pnlMessageBox.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel7.ResumeLayout(false); + this.panel6.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.darkNumericUpDown1)).EndInit(); + this.panel5.ResumeLayout(false); + this.panel5.PerformLayout(); + this.panel4.ResumeLayout(false); + this.panel4.PerformLayout(); + this.panel3.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.darkGroupBox1.ResumeLayout(false); + this.darkGroupBox1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel pnlMain; + private System.Windows.Forms.TableLayoutPanel tblMain; + private DarkSectionPanel pnlTreeView; + private DarkTreeView treeTest; + private DarkSectionPanel pnlListView; + private DarkListView lstTest; + private DarkSectionPanel pnlMessageBox; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private DarkButton btnDialog; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.Panel panel3; + private DarkButton btnMessageBox; + private DarkCheckBox darkCheckBox2; + private DarkCheckBox darkCheckBox1; + private System.Windows.Forms.Panel panel5; + private DarkRadioButton darkRadioButton2; + private DarkRadioButton darkRadioButton1; + private DarkRadioButton darkRadioButton3; + private DarkTitle darkTitle1; + private DarkTitle darkTitle2; + private DarkTitle darkTitle3; + private System.Windows.Forms.Panel panel7; + private DarkComboBox darkComboBox1; + private DarkTitle darkTitle4; + private System.Windows.Forms.Panel panel6; + private DarkNumericUpDown darkNumericUpDown1; + private DarkTitle darkTitle5; + private DarkGroupBox darkGroupBox1; + private DarkRadioButton darkRadioButton4; + private DarkCheckBox darkCheckBox3; + } +} \ No newline at end of file diff --git a/Example.net4/Forms/Dialogs/DialogControls.cs b/Example.net4/Forms/Dialogs/DialogControls.cs new file mode 100644 index 0000000..a56d7c1 --- /dev/null +++ b/Example.net4/Forms/Dialogs/DialogControls.cs @@ -0,0 +1,50 @@ +using DarkUI.Controls; +using DarkUI.Forms; + +namespace Example +{ + public partial class DialogControls : DarkDialog + { + public DialogControls() + { + InitializeComponent(); + + // Build dummy list data + for (var i = 0; i < 100; i++) + { + var item = new DarkListItem($"List item #{i}"); + lstTest.Items.Add(item); + } + + // Build dummy nodes + var childCount = 0; + for (var i = 0; i < 20; i++) + { + var node = new DarkTreeNode($"Root node #{i}"); + node.ExpandedIcon = Icons.folder_open; + node.Icon = Icons.folder_closed; + + for (var x = 0; x < 10; x++) + { + var childNode = new DarkTreeNode($"Child node #{childCount}"); + childNode.Icon = Icons.files; + childCount++; + node.Nodes.Add(childNode); + } + + treeTest.Nodes.Add(node); + } + + // Hook dialog button events + btnDialog.Click += delegate + { + DarkMessageBox.ShowError("This is an error", "Dark UI - Example"); + }; + + btnMessageBox.Click += delegate + { + DarkMessageBox.ShowInformation("This is some information, except it is much bigger, so there we go. I wonder how this is going to go. I hope it resizes properly. It probably will.", "Dark UI - Example"); + }; + } + } +} diff --git a/Example.net4/Forms/Dialogs/DialogControls.resx b/Example.net4/Forms/Dialogs/DialogControls.resx new file mode 100644 index 0000000..16202c3 --- /dev/null +++ b/Example.net4/Forms/Dialogs/DialogControls.resx @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAECAAAAEAIAA8AQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAAFz + UkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA0UlEQVQ4T7WRsQ2D + MBREGSUjZAZ6D0CXUaiYwj1bsAKDUNAYKB0/8j9xsB0pkTjpJPO5O5/t6lIsy9Ku6zoHeuHMbNu2m0jK + COJxGAbfNI2v63qntXYPCQGPryHsglmNsOu6w6xNRJ4CQbzz2axNRJ5imqbs7pA1s7D2Ik9xDtAQNcNi + gHPuzk9jzEdATI5HG7G8IeajZolccHKJJXPchJ0xB90othd405yZ7zCPmX8+hn3f58wzzURWBgG87V9m + oEegBfzJrCCEJpC1jK9GVT0B8ztfSZzDuHAAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/Example.net4/Forms/Docking/DockConsole.Designer.cs b/Example.net4/Forms/Docking/DockConsole.Designer.cs new file mode 100644 index 0000000..96c9e0f --- /dev/null +++ b/Example.net4/Forms/Docking/DockConsole.Designer.cs @@ -0,0 +1,67 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + partial class DockConsole + { + /// + /// 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.lstConsole = new DarkUI.Controls.DarkListView(); + this.SuspendLayout(); + // + // lstConsole + // + this.lstConsole.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstConsole.Location = new System.Drawing.Point(0, 25); + this.lstConsole.MultiSelect = true; + this.lstConsole.Name = "lstConsole"; + this.lstConsole.Size = new System.Drawing.Size(500, 175); + this.lstConsole.TabIndex = 0; + this.lstConsole.Text = "darkListView1"; + // + // DockConsole + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.lstConsole); + this.DefaultDockArea = DarkUI.Docking.DarkDockArea.Bottom; + this.DockText = "Console"; + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = global::Example.Icons.Console; + this.Name = "DockConsole"; + this.SerializationKey = "DockConsole"; + this.Size = new System.Drawing.Size(500, 200); + this.ResumeLayout(false); + + } + + #endregion + + private DarkListView lstConsole; + } +} diff --git a/Example.net4/Forms/Docking/DockConsole.cs b/Example.net4/Forms/Docking/DockConsole.cs new file mode 100644 index 0000000..ecf4227 --- /dev/null +++ b/Example.net4/Forms/Docking/DockConsole.cs @@ -0,0 +1,24 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + public partial class DockConsole : DarkToolWindow + { + #region Constructor Region + + public DockConsole() + { + InitializeComponent(); + + // Build dummy list data + for (var i = 0; i < 100; i++) + { + var item = new DarkListItem($"List item #{i}"); + lstConsole.Items.Add(item); + } + } + + #endregion + } +} diff --git a/Example.net4/Forms/Docking/DockConsole.resx b/Example.net4/Forms/Docking/DockConsole.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockConsole.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/Example.net4/Forms/Docking/DockDocument.Designer.cs b/Example.net4/Forms/Docking/DockDocument.Designer.cs new file mode 100644 index 0000000..d5d706d --- /dev/null +++ b/Example.net4/Forms/Docking/DockDocument.Designer.cs @@ -0,0 +1,80 @@ +namespace Example +{ + partial class DockDocument + { + /// + /// 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.txtDocument = new System.Windows.Forms.TextBox(); + this.cmbOptions = new DarkUI.Controls.DarkDropdownList(); + this.SuspendLayout(); + // + // txtDocument + // + this.txtDocument.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(43)))), ((int)(((byte)(43)))), ((int)(((byte)(43))))); + this.txtDocument.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txtDocument.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtDocument.ForeColor = System.Drawing.Color.Gainsboro; + this.txtDocument.Location = new System.Drawing.Point(0, 0); + this.txtDocument.Multiline = true; + this.txtDocument.Name = "txtDocument"; + this.txtDocument.Size = new System.Drawing.Size(175, 173); + this.txtDocument.TabIndex = 1; + this.txtDocument.Text = "This is some example text"; + // + // cmbOptions + // + this.cmbOptions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.cmbOptions.DropdownDirection = System.Windows.Forms.ToolStripDropDownDirection.AboveRight; + this.cmbOptions.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cmbOptions.Location = new System.Drawing.Point(0, 158); + this.cmbOptions.MaxHeight = 300; + this.cmbOptions.Name = "cmbOptions"; + this.cmbOptions.ShowBorder = false; + this.cmbOptions.Size = new System.Drawing.Size(65, 15); + this.cmbOptions.TabIndex = 2; + this.cmbOptions.Text = "darkComboBox1"; + // + // DockDocument + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.cmbOptions); + this.Controls.Add(this.txtDocument); + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Name = "DockDocument"; + this.Size = new System.Drawing.Size(175, 173); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox txtDocument; + private DarkUI.Controls.DarkDropdownList cmbOptions; + } +} diff --git a/Example.net4/Forms/Docking/DockDocument.cs b/Example.net4/Forms/Docking/DockDocument.cs new file mode 100644 index 0000000..fe8fa72 --- /dev/null +++ b/Example.net4/Forms/Docking/DockDocument.cs @@ -0,0 +1,52 @@ +using DarkUI.Config; +using DarkUI.Controls; +using DarkUI.Docking; +using DarkUI.Forms; +using System.Drawing; +using System.Windows.Forms; + +namespace Example +{ + public partial class DockDocument : DarkDocument + { + #region Constructor Region + + public DockDocument() + { + InitializeComponent(); + + // Workaround to stop the textbox from highlight all text. + txtDocument.SelectionStart = txtDocument.Text.Length; + + // Build dummy dropdown data + cmbOptions.Items.Add(new DarkDropdownItem("25%")); + cmbOptions.Items.Add(new DarkDropdownItem("50%")); + cmbOptions.Items.Add(new DarkDropdownItem("100%")); + cmbOptions.Items.Add(new DarkDropdownItem("200%")); + cmbOptions.Items.Add(new DarkDropdownItem("300%")); + cmbOptions.Items.Add(new DarkDropdownItem("400%")); + } + + public DockDocument(string text, Image icon) + : this() + { + DockText = text; + Icon = icon; + } + + #endregion + + #region Event Handler Region + + public override void Close() + { + var result = DarkMessageBox.ShowWarning(@"You will lose any unsaved changes. Continue?", @"Close document", DarkDialogButton.YesNo); + if (result == DialogResult.No) + return; + + base.Close(); + } + + #endregion + } +} diff --git a/Example.net4/Forms/Docking/DockDocument.resx b/Example.net4/Forms/Docking/DockDocument.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockDocument.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/Example.net4/Forms/Docking/DockHistory.Designer.cs b/Example.net4/Forms/Docking/DockHistory.Designer.cs new file mode 100644 index 0000000..74fa10e --- /dev/null +++ b/Example.net4/Forms/Docking/DockHistory.Designer.cs @@ -0,0 +1,67 @@ +using DarkUI.Config; +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + partial class DockHistory + { + /// + /// 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.lstHistory = new DarkUI.Controls.DarkListView(); + this.SuspendLayout(); + // + // lstHistory + // + this.lstHistory.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstHistory.Location = new System.Drawing.Point(0, 25); + this.lstHistory.Name = "lstHistory"; + this.lstHistory.Size = new System.Drawing.Size(280, 425); + this.lstHistory.TabIndex = 0; + this.lstHistory.Text = "darkListView1"; + // + // DockHistory + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.lstHistory); + this.DefaultDockArea = DarkUI.Docking.DarkDockArea.Right; + this.DockText = "History"; + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = global::Example.Icons.RefactoringLog_12810; + this.Name = "DockHistory"; + this.SerializationKey = "DockHistory"; + this.Size = new System.Drawing.Size(280, 450); + this.ResumeLayout(false); + + } + + #endregion + + private DarkListView lstHistory; + } +} diff --git a/Example.net4/Forms/Docking/DockHistory.cs b/Example.net4/Forms/Docking/DockHistory.cs new file mode 100644 index 0000000..e546654 --- /dev/null +++ b/Example.net4/Forms/Docking/DockHistory.cs @@ -0,0 +1,24 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + public partial class DockHistory : DarkToolWindow + { + #region Constructor Region + + public DockHistory() + { + InitializeComponent(); + + // Build dummy list data + for (var i = 0; i < 100; i++) + { + var item = new DarkListItem($"List item #{i}"); + lstHistory.Items.Add(item); + } + } + + #endregion + } +} diff --git a/Example.net4/Forms/Docking/DockHistory.resx b/Example.net4/Forms/Docking/DockHistory.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockHistory.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/Example.net4/Forms/Docking/DockLayers.Designer.cs b/Example.net4/Forms/Docking/DockLayers.Designer.cs new file mode 100644 index 0000000..446effc --- /dev/null +++ b/Example.net4/Forms/Docking/DockLayers.Designer.cs @@ -0,0 +1,81 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + partial class DockLayers + { + /// + /// 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.lstLayers = new DarkUI.Controls.DarkListView(); + this.cmbList = new DarkUI.Controls.DarkDropdownList(); + this.SuspendLayout(); + // + // lstLayers + // + this.lstLayers.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstLayers.HideScrollBars = false; + this.lstLayers.Location = new System.Drawing.Point(0, 51); + this.lstLayers.Name = "lstLayers"; + this.lstLayers.ShowIcons = true; + this.lstLayers.Size = new System.Drawing.Size(280, 399); + this.lstLayers.TabIndex = 0; + this.lstLayers.Text = "darkListView1"; + // + // cmbList + // + this.cmbList.Dock = System.Windows.Forms.DockStyle.Top; + this.cmbList.Location = new System.Drawing.Point(0, 25); + this.cmbList.Name = "cmbList"; + this.cmbList.ShowBorder = false; + this.cmbList.Size = new System.Drawing.Size(280, 26); + this.cmbList.TabIndex = 1; + this.cmbList.Text = "darkDropdownList1"; + // + // DockLayers + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.lstLayers); + this.Controls.Add(this.cmbList); + this.DefaultDockArea = DarkUI.Docking.DarkDockArea.Right; + this.DockText = "Layers"; + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = global::Example.Icons.Collection_16xLG; + this.Name = "DockLayers"; + this.SerializationKey = "DockLayers"; + this.Size = new System.Drawing.Size(280, 450); + this.ResumeLayout(false); + + } + + #endregion + + private DarkListView lstLayers; + private DarkDropdownList cmbList; + } +} diff --git a/Example.net4/Forms/Docking/DockLayers.cs b/Example.net4/Forms/Docking/DockLayers.cs new file mode 100644 index 0000000..ebe0440 --- /dev/null +++ b/Example.net4/Forms/Docking/DockLayers.cs @@ -0,0 +1,32 @@ +using System; +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + public partial class DockLayers : DarkToolWindow + { + #region Constructor Region + + public DockLayers() + { + InitializeComponent(); + + // Build dummy list data + for (var i = 0; i < 100; i++) + { + var item = new DarkListItem($"List item #{i}"); + item.Icon = Icons.application_16x; + lstLayers.Items.Add(item); + } + + // Build dropdown list data + for (var i = 0; i < 5; i++) + { + cmbList.Items.Add(new DarkDropdownItem($"Dropdown item #{i}")); + } + } + + #endregion + } +} diff --git a/Example.net4/Forms/Docking/DockLayers.resx b/Example.net4/Forms/Docking/DockLayers.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockLayers.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/Example.net4/Forms/Docking/DockProject.Designer.cs b/Example.net4/Forms/Docking/DockProject.Designer.cs new file mode 100644 index 0000000..ca7679b --- /dev/null +++ b/Example.net4/Forms/Docking/DockProject.Designer.cs @@ -0,0 +1,71 @@ +using DarkUI.Config; +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + partial class DockProject + { + /// + /// 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.treeProject = new DarkUI.Controls.DarkTreeView(); + this.SuspendLayout(); + // + // treeProject + // + this.treeProject.AllowMoveNodes = true; + this.treeProject.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeProject.Location = new System.Drawing.Point(0, 25); + this.treeProject.MaxDragChange = 20; + this.treeProject.MultiSelect = true; + this.treeProject.Name = "treeProject"; + this.treeProject.ShowIcons = true; + this.treeProject.Size = new System.Drawing.Size(280, 425); + this.treeProject.TabIndex = 0; + this.treeProject.Text = "darkTreeView1"; + // + // DockProject + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.treeProject); + this.DefaultDockArea = DarkUI.Docking.DarkDockArea.Left; + this.DockText = "Project Explorer"; + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = global::Example.Icons.application_16x; + this.Name = "DockProject"; + this.SerializationKey = "DockProject"; + this.Size = new System.Drawing.Size(280, 450); + this.ResumeLayout(false); + + } + + #endregion + + private DarkTreeView treeProject; + } +} diff --git a/Example.net4/Forms/Docking/DockProject.cs b/Example.net4/Forms/Docking/DockProject.cs new file mode 100644 index 0000000..9fb539e --- /dev/null +++ b/Example.net4/Forms/Docking/DockProject.cs @@ -0,0 +1,36 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + public partial class DockProject : DarkToolWindow + { + #region Constructor Region + + public DockProject() + { + InitializeComponent(); + + // Build dummy nodes + var childCount = 0; + for (var i = 0; i < 20; i++) + { + var node = new DarkTreeNode($"Root node #{i}"); + node.ExpandedIcon = Icons.folder_open; + node.Icon = Icons.folder_closed; + + for (var x = 0; x < 10; x++) + { + var childNode = new DarkTreeNode($"Child node #{childCount}"); + childNode.Icon = Icons.files; + childCount++; + node.Nodes.Add(childNode); + } + + treeProject.Nodes.Add(node); + } + } + + #endregion + } +} diff --git a/Example.net4/Forms/Docking/DockProject.resx b/Example.net4/Forms/Docking/DockProject.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockProject.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/Example.net4/Forms/Docking/DockProperties.Designer.cs b/Example.net4/Forms/Docking/DockProperties.Designer.cs new file mode 100644 index 0000000..1251611 --- /dev/null +++ b/Example.net4/Forms/Docking/DockProperties.Designer.cs @@ -0,0 +1,265 @@ +using DarkUI.Config; +using DarkUI.Docking; + +namespace Example +{ + partial class DockProperties + { + /// + /// 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.pnlMain = new System.Windows.Forms.Panel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.darkRadioButton3 = new DarkUI.Controls.DarkRadioButton(); + this.darkRadioButton2 = new DarkUI.Controls.DarkRadioButton(); + this.darkRadioButton1 = new DarkUI.Controls.DarkRadioButton(); + this.darkTitle1 = new DarkUI.Controls.DarkTitle(); + this.panel2 = new System.Windows.Forms.Panel(); + this.darkCheckBox3 = new DarkUI.Controls.DarkCheckBox(); + this.darkCheckBox2 = new DarkUI.Controls.DarkCheckBox(); + this.darkCheckBox1 = new DarkUI.Controls.DarkCheckBox(); + this.darkTitle2 = new DarkUI.Controls.DarkTitle(); + this.darkScrollBar1 = new DarkUI.Controls.DarkScrollBar(); + this.panel3 = new System.Windows.Forms.Panel(); + this.darkTitle3 = new DarkUI.Controls.DarkTitle(); + this.cmbList = new DarkUI.Controls.DarkDropdownList(); + this.pnlMain.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel3.SuspendLayout(); + this.SuspendLayout(); + // + // pnlMain + // + this.pnlMain.Controls.Add(this.panel3); + this.pnlMain.Controls.Add(this.panel1); + this.pnlMain.Controls.Add(this.panel2); + this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlMain.Location = new System.Drawing.Point(0, 25); + this.pnlMain.Name = "pnlMain"; + this.pnlMain.Padding = new System.Windows.Forms.Padding(10, 10, 5, 10); + this.pnlMain.Size = new System.Drawing.Size(265, 425); + this.pnlMain.TabIndex = 0; + // + // panel1 + // + this.panel1.AutoSize = true; + this.panel1.Controls.Add(this.darkRadioButton3); + this.panel1.Controls.Add(this.darkRadioButton2); + this.panel1.Controls.Add(this.darkRadioButton1); + this.panel1.Controls.Add(this.darkTitle1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(10, 103); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10); + this.panel1.Size = new System.Drawing.Size(250, 93); + this.panel1.TabIndex = 2; + // + // darkRadioButton3 + // + this.darkRadioButton3.AutoSize = true; + this.darkRadioButton3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton3.Enabled = false; + this.darkRadioButton3.Location = new System.Drawing.Point(0, 64); + this.darkRadioButton3.Name = "darkRadioButton3"; + this.darkRadioButton3.Size = new System.Drawing.Size(250, 19); + this.darkRadioButton3.TabIndex = 6; + this.darkRadioButton3.TabStop = true; + this.darkRadioButton3.Text = "Disabled radiobutton"; + // + // darkRadioButton2 + // + this.darkRadioButton2.AutoSize = true; + this.darkRadioButton2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton2.Location = new System.Drawing.Point(0, 45); + this.darkRadioButton2.Name = "darkRadioButton2"; + this.darkRadioButton2.Size = new System.Drawing.Size(250, 19); + this.darkRadioButton2.TabIndex = 5; + this.darkRadioButton2.TabStop = true; + this.darkRadioButton2.Text = "Radiobutton"; + // + // darkRadioButton1 + // + this.darkRadioButton1.AutoSize = true; + this.darkRadioButton1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkRadioButton1.Location = new System.Drawing.Point(0, 26); + this.darkRadioButton1.Name = "darkRadioButton1"; + this.darkRadioButton1.Size = new System.Drawing.Size(250, 19); + this.darkRadioButton1.TabIndex = 4; + this.darkRadioButton1.TabStop = true; + this.darkRadioButton1.Text = "Radiobutton"; + // + // darkTitle1 + // + this.darkTitle1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle1.Location = new System.Drawing.Point(0, 0); + this.darkTitle1.Name = "darkTitle1"; + this.darkTitle1.Size = new System.Drawing.Size(250, 26); + this.darkTitle1.TabIndex = 7; + this.darkTitle1.Text = "Radio buttons"; + // + // panel2 + // + this.panel2.AutoSize = true; + this.panel2.Controls.Add(this.darkCheckBox3); + this.panel2.Controls.Add(this.darkCheckBox2); + this.panel2.Controls.Add(this.darkCheckBox1); + this.panel2.Controls.Add(this.darkTitle2); + this.panel2.Dock = System.Windows.Forms.DockStyle.Top; + this.panel2.Location = new System.Drawing.Point(10, 10); + this.panel2.Name = "panel2"; + this.panel2.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10); + this.panel2.Size = new System.Drawing.Size(250, 93); + this.panel2.TabIndex = 1; + // + // darkCheckBox3 + // + this.darkCheckBox3.AutoSize = true; + this.darkCheckBox3.Checked = true; + this.darkCheckBox3.CheckState = System.Windows.Forms.CheckState.Checked; + this.darkCheckBox3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkCheckBox3.Enabled = false; + this.darkCheckBox3.Location = new System.Drawing.Point(0, 64); + this.darkCheckBox3.Name = "darkCheckBox3"; + this.darkCheckBox3.Size = new System.Drawing.Size(250, 19); + this.darkCheckBox3.TabIndex = 6; + this.darkCheckBox3.Text = "Disabled checked checkbox"; + // + // darkCheckBox2 + // + this.darkCheckBox2.AutoSize = true; + this.darkCheckBox2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkCheckBox2.Enabled = false; + this.darkCheckBox2.Location = new System.Drawing.Point(0, 45); + this.darkCheckBox2.Name = "darkCheckBox2"; + this.darkCheckBox2.Size = new System.Drawing.Size(250, 19); + this.darkCheckBox2.TabIndex = 5; + this.darkCheckBox2.Text = "Disabled checkbox"; + // + // darkCheckBox1 + // + this.darkCheckBox1.AutoSize = true; + this.darkCheckBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkCheckBox1.Location = new System.Drawing.Point(0, 26); + this.darkCheckBox1.Name = "darkCheckBox1"; + this.darkCheckBox1.Size = new System.Drawing.Size(250, 19); + this.darkCheckBox1.TabIndex = 4; + this.darkCheckBox1.Text = "Checkbox"; + // + // darkTitle2 + // + this.darkTitle2.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle2.Location = new System.Drawing.Point(0, 0); + this.darkTitle2.Name = "darkTitle2"; + this.darkTitle2.Size = new System.Drawing.Size(250, 26); + this.darkTitle2.TabIndex = 8; + this.darkTitle2.Text = "Check boxes"; + // + // darkScrollBar1 + // + this.darkScrollBar1.Dock = System.Windows.Forms.DockStyle.Right; + this.darkScrollBar1.Enabled = false; + this.darkScrollBar1.Location = new System.Drawing.Point(265, 25); + this.darkScrollBar1.Maximum = 5; + this.darkScrollBar1.Minimum = 1; + this.darkScrollBar1.Name = "darkScrollBar1"; + this.darkScrollBar1.Size = new System.Drawing.Size(15, 425); + this.darkScrollBar1.TabIndex = 1; + this.darkScrollBar1.Text = "darkScrollBar1"; + // + // panel3 + // + this.panel3.AutoSize = true; + this.panel3.Controls.Add(this.cmbList); + this.panel3.Controls.Add(this.darkTitle3); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(10, 196); + this.panel3.Name = "panel3"; + this.panel3.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10); + this.panel3.Size = new System.Drawing.Size(250, 62); + this.panel3.TabIndex = 3; + // + // darkTitle3 + // + this.darkTitle3.Dock = System.Windows.Forms.DockStyle.Top; + this.darkTitle3.Location = new System.Drawing.Point(0, 0); + this.darkTitle3.Name = "darkTitle3"; + this.darkTitle3.Size = new System.Drawing.Size(250, 26); + this.darkTitle3.TabIndex = 7; + this.darkTitle3.Text = "Lists"; + // + // cmbList + // + this.cmbList.Dock = System.Windows.Forms.DockStyle.Top; + this.cmbList.Location = new System.Drawing.Point(0, 26); + this.cmbList.Name = "cmbList"; + this.cmbList.Size = new System.Drawing.Size(250, 26); + this.cmbList.TabIndex = 8; + this.cmbList.Text = "darkDropdownList1"; + // + // DockProperties + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.pnlMain); + this.Controls.Add(this.darkScrollBar1); + this.DefaultDockArea = DarkUI.Docking.DarkDockArea.Right; + this.DockText = "Properties"; + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = global::Example.Icons.properties_16xLG; + this.Name = "DockProperties"; + this.SerializationKey = "DockProperties"; + this.Size = new System.Drawing.Size(280, 450); + this.pnlMain.ResumeLayout(false); + this.pnlMain.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.panel3.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel pnlMain; + private System.Windows.Forms.Panel panel1; + private DarkUI.Controls.DarkRadioButton darkRadioButton3; + private DarkUI.Controls.DarkRadioButton darkRadioButton2; + private DarkUI.Controls.DarkRadioButton darkRadioButton1; + private DarkUI.Controls.DarkTitle darkTitle1; + private System.Windows.Forms.Panel panel2; + private DarkUI.Controls.DarkCheckBox darkCheckBox3; + private DarkUI.Controls.DarkCheckBox darkCheckBox2; + private DarkUI.Controls.DarkCheckBox darkCheckBox1; + private DarkUI.Controls.DarkTitle darkTitle2; + private DarkUI.Controls.DarkScrollBar darkScrollBar1; + private System.Windows.Forms.Panel panel3; + private DarkUI.Controls.DarkTitle darkTitle3; + private DarkUI.Controls.DarkDropdownList cmbList; + } +} diff --git a/Example.net4/Forms/Docking/DockProperties.cs b/Example.net4/Forms/Docking/DockProperties.cs new file mode 100644 index 0000000..5fd81c1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockProperties.cs @@ -0,0 +1,27 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + public partial class DockProperties : DarkToolWindow + { + #region Constructor Region + + public DockProperties() + { + InitializeComponent(); + + // Build dummy dropdown data + cmbList.Items.Add(new DarkDropdownItem("Item1")); + cmbList.Items.Add(new DarkDropdownItem("Item2")); + cmbList.Items.Add(new DarkDropdownItem("Item3")); + cmbList.Items.Add(new DarkDropdownItem("Item4")); + cmbList.Items.Add(new DarkDropdownItem("Item5")); + cmbList.Items.Add(new DarkDropdownItem("Item6")); + + cmbList.SelectedItemChanged += delegate { System.Console.WriteLine($"Item changed to {cmbList.SelectedItem.Text}"); }; + } + + #endregion + } +} diff --git a/Example.net4/Forms/Docking/DockProperties.resx b/Example.net4/Forms/Docking/DockProperties.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Example.net4/Forms/Docking/DockProperties.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/Example.net4/Forms/MainForm.Designer.cs b/Example.net4/Forms/MainForm.Designer.cs new file mode 100644 index 0000000..839ef61 --- /dev/null +++ b/Example.net4/Forms/MainForm.Designer.cs @@ -0,0 +1,412 @@ +using DarkUI.Controls; +using DarkUI.Docking; + +namespace Example +{ + partial class MainForm + { + /// + /// 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(MainForm)); + this.mnuMain = new DarkUI.Controls.DarkMenuStrip(); + this.mnuFile = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuNewFile = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.mnuClose = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuView = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuDialog = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuTools = new System.Windows.Forms.ToolStripMenuItem(); + this.checkableToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.checkableWithIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.checkedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.checkedWithIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuProject = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuProperties = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuConsole = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuLayers = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuHistory = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuHelp = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuAbout = new System.Windows.Forms.ToolStripMenuItem(); + this.toolMain = new DarkUI.Controls.DarkToolStrip(); + this.btnNewFile = new System.Windows.Forms.ToolStripButton(); + this.stripMain = new DarkUI.Controls.DarkStatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabel6 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabel5 = new System.Windows.Forms.ToolStripStatusLabel(); + this.DockPanel = new DarkUI.Docking.DarkDockPanel(); + this.darkSeparator1 = new DarkUI.Controls.DarkSeparator(); + this.mnuMain.SuspendLayout(); + this.toolMain.SuspendLayout(); + this.stripMain.SuspendLayout(); + this.SuspendLayout(); + // + // mnuMain + // + this.mnuMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65))))); + this.mnuMain.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuFile, + this.mnuView, + this.mnuTools, + this.mnuWindow, + this.mnuHelp}); + this.mnuMain.Location = new System.Drawing.Point(0, 0); + this.mnuMain.Name = "mnuMain"; + this.mnuMain.Padding = new System.Windows.Forms.Padding(3, 2, 0, 2); + this.mnuMain.Size = new System.Drawing.Size(944, 24); + this.mnuMain.TabIndex = 0; + this.mnuMain.Text = "darkMenuStrip1"; + // + // mnuFile + // + this.mnuFile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuNewFile, + this.toolStripSeparator1, + this.mnuClose}); + this.mnuFile.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuFile.Name = "mnuFile"; + this.mnuFile.Size = new System.Drawing.Size(37, 20); + this.mnuFile.Text = "&File"; + // + // mnuNewFile + // + this.mnuNewFile.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuNewFile.Image = global::Example.Icons.NewFile_6276; + this.mnuNewFile.Name = "mnuNewFile"; + this.mnuNewFile.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); + this.mnuNewFile.Size = new System.Drawing.Size(160, 22); + this.mnuNewFile.Text = "&New file"; + // + // toolStripSeparator1 + // + this.toolStripSeparator1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.toolStripSeparator1.Margin = new System.Windows.Forms.Padding(0, 0, 0, 1); + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(157, 6); + // + // mnuClose + // + this.mnuClose.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuClose.Image = global::Example.Icons.Close_16xLG; + this.mnuClose.Name = "mnuClose"; + this.mnuClose.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); + this.mnuClose.Size = new System.Drawing.Size(160, 22); + this.mnuClose.Text = "&Close"; + // + // mnuView + // + this.mnuView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuDialog}); + this.mnuView.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuView.Name = "mnuView"; + this.mnuView.Size = new System.Drawing.Size(44, 20); + this.mnuView.Text = "&View"; + // + // mnuDialog + // + this.mnuDialog.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuDialog.Image = global::Example.Icons.properties_16xLG; + this.mnuDialog.Name = "mnuDialog"; + this.mnuDialog.Size = new System.Drawing.Size(130, 22); + this.mnuDialog.Text = "&Dialog test"; + // + // mnuTools + // + this.mnuTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.checkableToolStripMenuItem, + this.checkableWithIconToolStripMenuItem, + this.toolStripSeparator2, + this.checkedToolStripMenuItem, + this.checkedWithIconToolStripMenuItem}); + this.mnuTools.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuTools.Name = "mnuTools"; + this.mnuTools.Size = new System.Drawing.Size(48, 20); + this.mnuTools.Text = "&Tools"; + // + // checkableToolStripMenuItem + // + this.checkableToolStripMenuItem.CheckOnClick = true; + this.checkableToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.checkableToolStripMenuItem.Name = "checkableToolStripMenuItem"; + this.checkableToolStripMenuItem.Size = new System.Drawing.Size(181, 22); + this.checkableToolStripMenuItem.Text = "Checkable"; + // + // checkableWithIconToolStripMenuItem + // + this.checkableWithIconToolStripMenuItem.CheckOnClick = true; + this.checkableWithIconToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.checkableWithIconToolStripMenuItem.Image = global::Example.Icons.properties_16xLG; + this.checkableWithIconToolStripMenuItem.Name = "checkableWithIconToolStripMenuItem"; + this.checkableWithIconToolStripMenuItem.Size = new System.Drawing.Size(181, 22); + this.checkableWithIconToolStripMenuItem.Text = "Checkable with icon"; + // + // toolStripSeparator2 + // + this.toolStripSeparator2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.toolStripSeparator2.Margin = new System.Windows.Forms.Padding(0, 0, 0, 1); + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(178, 6); + // + // checkedToolStripMenuItem + // + this.checkedToolStripMenuItem.Checked = true; + this.checkedToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkedToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.checkedToolStripMenuItem.Name = "checkedToolStripMenuItem"; + this.checkedToolStripMenuItem.Size = new System.Drawing.Size(181, 22); + this.checkedToolStripMenuItem.Text = "Checked"; + // + // checkedWithIconToolStripMenuItem + // + this.checkedWithIconToolStripMenuItem.Checked = true; + this.checkedWithIconToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkedWithIconToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.checkedWithIconToolStripMenuItem.Image = global::Example.Icons.properties_16xLG; + this.checkedWithIconToolStripMenuItem.Name = "checkedWithIconToolStripMenuItem"; + this.checkedWithIconToolStripMenuItem.Size = new System.Drawing.Size(181, 22); + this.checkedWithIconToolStripMenuItem.Text = "Checked with icon"; + // + // mnuWindow + // + this.mnuWindow.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuProject, + this.mnuProperties, + this.mnuConsole, + this.mnuLayers, + this.mnuHistory}); + this.mnuWindow.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuWindow.Name = "mnuWindow"; + this.mnuWindow.Size = new System.Drawing.Size(63, 20); + this.mnuWindow.Text = "&Window"; + // + // mnuProject + // + this.mnuProject.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuProject.Image = global::Example.Icons.application_16x; + this.mnuProject.Name = "mnuProject"; + this.mnuProject.Size = new System.Drawing.Size(156, 22); + this.mnuProject.Text = "&Project Explorer"; + // + // mnuProperties + // + this.mnuProperties.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuProperties.Image = global::Example.Icons.properties_16xLG; + this.mnuProperties.Name = "mnuProperties"; + this.mnuProperties.Size = new System.Drawing.Size(156, 22); + this.mnuProperties.Text = "P&roperties"; + // + // mnuConsole + // + this.mnuConsole.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuConsole.Image = global::Example.Icons.Console; + this.mnuConsole.Name = "mnuConsole"; + this.mnuConsole.Size = new System.Drawing.Size(156, 22); + this.mnuConsole.Text = "&Console"; + // + // mnuLayers + // + this.mnuLayers.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuLayers.Image = global::Example.Icons.Collection_16xLG; + this.mnuLayers.Name = "mnuLayers"; + this.mnuLayers.Size = new System.Drawing.Size(156, 22); + this.mnuLayers.Text = "&Layers"; + // + // mnuHistory + // + this.mnuHistory.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuHistory.Image = ((System.Drawing.Image)(resources.GetObject("mnuHistory.Image"))); + this.mnuHistory.Name = "mnuHistory"; + this.mnuHistory.Size = new System.Drawing.Size(156, 22); + this.mnuHistory.Text = "&History"; + // + // mnuHelp + // + this.mnuHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuAbout}); + this.mnuHelp.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuHelp.Name = "mnuHelp"; + this.mnuHelp.Size = new System.Drawing.Size(44, 20); + this.mnuHelp.Text = "&Help"; + // + // mnuAbout + // + this.mnuAbout.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.mnuAbout.Image = global::Example.Icons.StatusAnnotations_Information_16xLG_color; + this.mnuAbout.Name = "mnuAbout"; + this.mnuAbout.Size = new System.Drawing.Size(145, 22); + this.mnuAbout.Text = "&About DarkUI"; + // + // toolMain + // + this.toolMain.AutoSize = false; + this.toolMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65))))); + this.toolMain.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.toolMain.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.toolMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.btnNewFile}); + this.toolMain.Location = new System.Drawing.Point(0, 26); + this.toolMain.Name = "toolMain"; + this.toolMain.Padding = new System.Windows.Forms.Padding(5, 0, 1, 0); + this.toolMain.Size = new System.Drawing.Size(944, 28); + this.toolMain.TabIndex = 1; + this.toolMain.Text = "darkToolStrip1"; + // + // btnNewFile + // + this.btnNewFile.AutoSize = false; + this.btnNewFile.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnNewFile.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.btnNewFile.Image = global::Example.Icons.NewFile_6276; + this.btnNewFile.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnNewFile.Name = "btnNewFile"; + this.btnNewFile.Size = new System.Drawing.Size(24, 24); + this.btnNewFile.Text = "New file"; + // + // stripMain + // + this.stripMain.AutoSize = false; + this.stripMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65))))); + this.stripMain.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220))))); + this.stripMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabel1, + this.toolStripStatusLabel6, + this.toolStripStatusLabel5}); + this.stripMain.Location = new System.Drawing.Point(0, 618); + this.stripMain.Name = "stripMain"; + this.stripMain.Padding = new System.Windows.Forms.Padding(0, 5, 0, 3); + this.stripMain.Size = new System.Drawing.Size(944, 24); + this.stripMain.SizingGrip = false; + this.stripMain.TabIndex = 2; + this.stripMain.Text = "darkStatusStrip1"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.AutoSize = false; + this.toolStripStatusLabel1.Margin = new System.Windows.Forms.Padding(1, 0, 50, 0); + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(39, 16); + this.toolStripStatusLabel1.Text = "Ready"; + this.toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // toolStripStatusLabel6 + // + this.toolStripStatusLabel6.Margin = new System.Windows.Forms.Padding(0, 0, 50, 2); + this.toolStripStatusLabel6.Name = "toolStripStatusLabel6"; + this.toolStripStatusLabel6.Size = new System.Drawing.Size(757, 14); + this.toolStripStatusLabel6.Spring = true; + this.toolStripStatusLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // toolStripStatusLabel5 + // + this.toolStripStatusLabel5.Margin = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.toolStripStatusLabel5.Name = "toolStripStatusLabel5"; + this.toolStripStatusLabel5.Size = new System.Drawing.Size(46, 16); + this.toolStripStatusLabel5.Text = "120 MB"; + this.toolStripStatusLabel5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // DockPanel + // + this.DockPanel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65))))); + this.DockPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.DockPanel.Location = new System.Drawing.Point(0, 54); + this.DockPanel.Name = "DockPanel"; + this.DockPanel.Size = new System.Drawing.Size(944, 564); + this.DockPanel.TabIndex = 3; + // + // darkSeparator1 + // + this.darkSeparator1.Dock = System.Windows.Forms.DockStyle.Top; + this.darkSeparator1.Location = new System.Drawing.Point(0, 24); + this.darkSeparator1.Name = "darkSeparator1"; + this.darkSeparator1.Size = new System.Drawing.Size(944, 2); + this.darkSeparator1.TabIndex = 4; + this.darkSeparator1.Text = "darkSeparator1"; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(944, 642); + this.Controls.Add(this.DockPanel); + this.Controls.Add(this.stripMain); + this.Controls.Add(this.toolMain); + this.Controls.Add(this.darkSeparator1); + this.Controls.Add(this.mnuMain); + this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MainMenuStrip = this.mnuMain; + this.MinimumSize = new System.Drawing.Size(640, 480); + this.Name = "MainForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Dark UI - Example"; + this.mnuMain.ResumeLayout(false); + this.mnuMain.PerformLayout(); + this.toolMain.ResumeLayout(false); + this.toolMain.PerformLayout(); + this.stripMain.ResumeLayout(false); + this.stripMain.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private DarkMenuStrip mnuMain; + private DarkToolStrip toolMain; + private DarkStatusStrip stripMain; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel6; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel5; + private System.Windows.Forms.ToolStripMenuItem mnuFile; + private System.Windows.Forms.ToolStripMenuItem mnuView; + private System.Windows.Forms.ToolStripMenuItem mnuDialog; + private System.Windows.Forms.ToolStripMenuItem mnuClose; + private System.Windows.Forms.ToolStripMenuItem mnuTools; + private System.Windows.Forms.ToolStripMenuItem mnuWindow; + private System.Windows.Forms.ToolStripMenuItem mnuHelp; + private System.Windows.Forms.ToolStripMenuItem mnuAbout; + private System.Windows.Forms.ToolStripButton btnNewFile; + private System.Windows.Forms.ToolStripMenuItem mnuNewFile; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private DarkDockPanel DockPanel; + private System.Windows.Forms.ToolStripMenuItem mnuProject; + private System.Windows.Forms.ToolStripMenuItem mnuProperties; + private System.Windows.Forms.ToolStripMenuItem mnuConsole; + private System.Windows.Forms.ToolStripMenuItem mnuLayers; + private System.Windows.Forms.ToolStripMenuItem mnuHistory; + private DarkSeparator darkSeparator1; + private System.Windows.Forms.ToolStripMenuItem checkableToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem checkableWithIconToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem checkedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem checkedWithIconToolStripMenuItem; + } +} + diff --git a/Example.net4/Forms/MainForm.cs b/Example.net4/Forms/MainForm.cs new file mode 100644 index 0000000..0f9402d --- /dev/null +++ b/Example.net4/Forms/MainForm.cs @@ -0,0 +1,225 @@ +using DarkUI.Docking; +using DarkUI.Forms; +using DarkUI.Win32; +using System; +using System.Collections.Generic; +using System.IO; +using System.Windows.Forms; + +namespace Example +{ + public partial class MainForm : DarkForm + { + #region Field Region + + private List _toolWindows = new List(); + + private DockProject _dockProject; + private DockProperties _dockProperties; + private DockConsole _dockConsole; + private DockLayers _dockLayers; + private DockHistory _dockHistory; + + #endregion + + #region Constructor Region + + public MainForm() + { + InitializeComponent(); + + // Add the control scroll message filter to re-route all mousewheel events + // to the control the user is currently hovering over with their cursor. + Application.AddMessageFilter(new ControlScrollFilter()); + + // Add the dock content drag message filter to handle moving dock content around. + Application.AddMessageFilter(DockPanel.DockContentDragFilter); + + // Add the dock panel message filter to filter through for dock panel splitter + // input before letting events pass through to the rest of the application. + Application.AddMessageFilter(DockPanel.DockResizeFilter); + + // Hook in all the UI events manually for clarity. + HookEvents(); + + // Build the tool windows and add them to the dock panel + _dockProject = new DockProject(); + _dockProperties = new DockProperties(); + _dockConsole = new DockConsole(); + _dockLayers = new DockLayers(); + _dockHistory = new DockHistory(); + + // Add the tool windows to a list + _toolWindows.Add(_dockProject); + _toolWindows.Add(_dockProperties); + _toolWindows.Add(_dockConsole); + _toolWindows.Add(_dockLayers); + _toolWindows.Add(_dockHistory); + + // Deserialize if a previous state is stored + if (File.Exists("dockpanel.config")) + { + DeserializeDockPanel("dockpanel.config"); + } + else + { + // Add the tool window list contents to the dock panel + foreach (var toolWindow in _toolWindows) + DockPanel.AddContent(toolWindow); + + // Add the history panel to the layer panel group + DockPanel.AddContent(_dockHistory, _dockLayers.DockGroup); + } + + // Check window menu items which are contained in the dock panel + BuildWindowMenu(); + + // Add dummy documents to the main document area of the dock panel + DockPanel.AddContent(new DockDocument("Document 1", Icons.document_16xLG)); + DockPanel.AddContent(new DockDocument("Document 2", Icons.document_16xLG)); + DockPanel.AddContent(new DockDocument("Document 3", Icons.document_16xLG)); + } + + #endregion + + #region Method Region + + private void HookEvents() + { + FormClosing += MainForm_FormClosing; + + DockPanel.ContentAdded += DockPanel_ContentAdded; + DockPanel.ContentRemoved += DockPanel_ContentRemoved; + + mnuNewFile.Click += NewFile_Click; + mnuClose.Click += Close_Click; + + btnNewFile.Click += NewFile_Click; + + mnuDialog.Click += Dialog_Click; + + mnuProject.Click += Project_Click; + mnuProperties.Click += Properties_Click; + mnuConsole.Click += Console_Click; + mnuLayers.Click += Layers_Click; + mnuHistory.Click += History_Click; + + mnuAbout.Click += About_Click; + } + + private void ToggleToolWindow(DarkToolWindow toolWindow) + { + if (toolWindow.DockPanel == null) + DockPanel.AddContent(toolWindow); + else + DockPanel.RemoveContent(toolWindow); + } + + private void BuildWindowMenu() + { + mnuProject.Checked = DockPanel.ContainsContent(_dockProject); + mnuProperties.Checked = DockPanel.ContainsContent(_dockProperties); + mnuConsole.Checked = DockPanel.ContainsContent(_dockConsole); + mnuLayers.Checked = DockPanel.Contains(_dockLayers); + mnuHistory.Checked = DockPanel.Contains(_dockHistory); + } + + #endregion + + #region Event Handler Region + + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) + { + SerializeDockPanel("dockpanel.config"); + } + + private void DockPanel_ContentAdded(object sender, DockContentEventArgs e) + { + if (_toolWindows.Contains(e.Content)) + BuildWindowMenu(); + } + + private void DockPanel_ContentRemoved(object sender, DockContentEventArgs e) + { + if (_toolWindows.Contains(e.Content)) + BuildWindowMenu(); + } + + private void NewFile_Click(object sender, EventArgs e) + { + var newFile = new DockDocument("New document", Icons.document_16xLG); + DockPanel.AddContent(newFile); + } + + private void Close_Click(object sender, EventArgs e) + { + Close(); + } + + private void Dialog_Click(object sender, EventArgs e) + { + var test = new DialogControls(); + test.ShowDialog(); + } + + private void Project_Click(object sender, EventArgs e) + { + ToggleToolWindow(_dockProject); + } + + private void Properties_Click(object sender, EventArgs e) + { + ToggleToolWindow(_dockProperties); + } + + private void Console_Click(object sender, EventArgs e) + { + ToggleToolWindow(_dockConsole); + } + + private void Layers_Click(object sender, EventArgs e) + { + ToggleToolWindow(_dockLayers); + } + + private void History_Click(object sender, EventArgs e) + { + ToggleToolWindow(_dockHistory); + } + + private void About_Click(object sender, EventArgs e) + { + var about = new DialogAbout(); + about.ShowDialog(); + } + + #endregion + + #region Serialization Region + + private void SerializeDockPanel(string path) + { + var state = DockPanel.GetDockPanelState(); + SerializerHelper.Serialize(state, path); + } + + private void DeserializeDockPanel(string path) + { + var state = SerializerHelper.Deserialize(path); + DockPanel.RestoreDockPanelState(state, GetContentBySerializationKey); + } + + private DarkDockContent GetContentBySerializationKey(string key) + { + foreach (var window in _toolWindows) + { + if (window.SerializationKey == key) + return window; + } + + return null; + } + + #endregion + } +} diff --git a/Example.net4/Forms/MainForm.resx b/Example.net4/Forms/MainForm.resx new file mode 100644 index 0000000..b727939 --- /dev/null +++ b/Example.net4/Forms/MainForm.resx @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1 + MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsEAAA7BAbiRa+0AADnsaVRYdFhNTDpjb20uYWRvYmUu + eG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/ + Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29y + ZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6 + UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+ + CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0i + aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6 + Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8v + bnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5z + OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhv + dG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxu + czp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhp + Zj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29s + PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAg + ICA8eG1wOkNyZWF0ZURhdGU+MjAxNS0wOS0xOVQxMzoyMTozOCswMTowMDwveG1wOkNyZWF0ZURhdGU+ + CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTUtMDktMTlUMTM6MjE6MzgrMDE6MDA8L3htcDpN + ZXRhZGF0YURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTA5LTE5VDEzOjIxOjM4KzAx + OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphYjNi + MTFjYS1kNGVkLTg1NGEtOWIyOS03YjVjYmU3MThlYzI8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAg + IDx4bXBNTTpEb2N1bWVudElEPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmNzk1YTE2Ny01ZWM4LTExZTUt + OGQ5ZS1kNDEyNmVjNWZiMTE8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5h + bERvY3VtZW50SUQ+eG1wLmRpZDo1MDYxYzliMi0zMGRkLTcyNGEtYjM3ZS05OTdiYmFmYWYzY2M8L3ht + cE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAg + IDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4K + ICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAg + ICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NTA2MWM5YjItMzBkZC03MjRhLWIz + N2UtOTk3YmJhZmFmM2NjPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6 + d2hlbj4yMDE1LTA5LTE5VDEzOjIxOjM4KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAg + ICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cyk8L3N0 + RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8 + cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFj + dGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJ + RD54bXAuaWlkOmFiM2IxMWNhLWQ0ZWQtODU0YS05YjI5LTdiNWNiZTcxOGVjMjwvc3RFdnQ6aW5zdGFu + Y2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wOS0xOVQxMzoyMTozOCswMTow + MDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUg + UGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAg + ICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3Jk + ZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAg + ICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29s + b3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8 + L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjk2MDAwMC8xMDAwMDwv + dGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+OTYwMDAwLzEwMDAwPC90 + aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29s + dXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+ + CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAg + ICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAg + IDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+iJwASgAA + AFdJREFUOE/tzjEOwCAMQ9GcLfe/S2HJ6oohCKVWCkhsDG8jHwsAMTPsaLc9oKpLPgGPlKf+ogEvs4No + aoEHR2mAPYrSQFyQoYH4S+YuOL1gFl2wqgf2QV5u4jFIagD6hAAAAABJRU5ErkJggg== + + + + 121, 17 + + + 222, 17 + + + + AAABAAEAECAAAAEAIACcAAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAAFz + UkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAMUlEQVQ4T2OgGHz7 + 9u0/JRhsgJOTE1l4kBnw4f1HkvCoAcPTAHIw3ABKMDRPkgsYGAD4YMZfYsb9cAAAAABJRU5ErkJggg== + + + \ No newline at end of file diff --git a/Example.net4/Helpers/SerializerHelper.cs b/Example.net4/Helpers/SerializerHelper.cs new file mode 100644 index 0000000..c56335c --- /dev/null +++ b/Example.net4/Helpers/SerializerHelper.cs @@ -0,0 +1,33 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.IO; + +namespace Example +{ + public class SerializerHelper + { + public static void Serialize(T obj, string file) + { + using (var fs = File.CreateText(file)) + { + var serializer = new JsonSerializer(); + serializer.Converters.Add(new StringEnumConverter()); + serializer.Formatting = Formatting.Indented; + + serializer.Serialize(fs, obj); + } + } + + public static T Deserialize(string file) where T : class + { + using (var fs = File.OpenText(file)) + { + var serializer = new JsonSerializer(); + serializer.Converters.Add(new StringEnumConverter()); + + var result = serializer.Deserialize(fs, typeof(T)); + return result as T; + } + } + } +} diff --git a/Example.net4/Icons.Designer.cs b/Example.net4/Icons.Designer.cs new file mode 100644 index 0000000..30b99bd --- /dev/null +++ b/Example.net4/Icons.Designer.cs @@ -0,0 +1,193 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Example { + 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 Icons { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Icons() { + } + + /// + /// 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("Example.Icons", typeof(Icons).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 application_16x { + get { + object obj = ResourceManager.GetObject("application_16x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Close_16xLG { + get { + object obj = ResourceManager.GetObject("Close_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Collection_16xLG { + get { + object obj = ResourceManager.GetObject("Collection_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Console { + get { + object obj = ResourceManager.GetObject("Console", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap document_16xLG { + get { + object obj = ResourceManager.GetObject("document_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap files { + get { + object obj = ResourceManager.GetObject("files", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap folder_closed { + get { + object obj = ResourceManager.GetObject("folder_closed", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap folder_open { + get { + object obj = ResourceManager.GetObject("folder_open", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap NewFile_6276 { + get { + object obj = ResourceManager.GetObject("NewFile_6276", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap properties_16xLG { + get { + object obj = ResourceManager.GetObject("properties_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap RefactoringLog_12810 { + get { + object obj = ResourceManager.GetObject("RefactoringLog_12810", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Information_16xLG_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Information_16xLG_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Information_16xMD_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Information_16xMD_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Example.net4/Icons.resx b/Example.net4/Icons.resx new file mode 100644 index 0000000..e803c73 --- /dev/null +++ b/Example.net4/Icons.resx @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + Resources\folder_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\StatusAnnotations_Information_16xMD_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\folder_Closed_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\StatusAnnotations_Information_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\application_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\Close_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\Files_7954.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\NewFile_6276.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\properties_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\Console.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\Collection_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\RefactoringLog_12810.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\document_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Example.net4/Newtonsoft.Json.dll b/Example.net4/Newtonsoft.Json.dll new file mode 100644 index 0000000..ec774e4 Binary files /dev/null and b/Example.net4/Newtonsoft.Json.dll differ diff --git a/Example.net4/Program.cs b/Example.net4/Program.cs new file mode 100644 index 0000000..7126327 --- /dev/null +++ b/Example.net4/Program.cs @@ -0,0 +1,16 @@ +using System; +using System.Windows.Forms; + +namespace Example +{ + static class Program + { + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/Example.net4/Properties/AssemblyInfo.cs b/Example.net4/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..81f4f65 --- /dev/null +++ b/Example.net4/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Dark UI Example")] +[assembly: AssemblyDescription("Example application for Dark UI")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Robin Perris")] +[assembly: AssemblyProduct("Dark UI")] +[assembly: AssemblyCopyright("Copyright © Robin Perris")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fa334815-6d78-4e9a-9f4d-6c8a58222a57")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Example.net4/Properties/Resources.Designer.cs b/Example.net4/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c6fca64 --- /dev/null +++ b/Example.net4/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Example.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("Example.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; + } + } + } +} diff --git a/Example.net4/Properties/Resources.resx b/Example.net4/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Example.net4/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/Example.net4/Properties/Settings.Designer.cs b/Example.net4/Properties/Settings.Designer.cs new file mode 100644 index 0000000..7546bbe --- /dev/null +++ b/Example.net4/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Example.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.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/Example.net4/Properties/Settings.settings b/Example.net4/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Example.net4/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Example.net4/Resources/Close_16xLG.png b/Example.net4/Resources/Close_16xLG.png new file mode 100644 index 0000000..a9ae49f Binary files /dev/null and b/Example.net4/Resources/Close_16xLG.png differ diff --git a/Example.net4/Resources/Collection_16xLG.png b/Example.net4/Resources/Collection_16xLG.png new file mode 100644 index 0000000..611a8ff Binary files /dev/null and b/Example.net4/Resources/Collection_16xLG.png differ diff --git a/Example.net4/Resources/Console.png b/Example.net4/Resources/Console.png new file mode 100644 index 0000000..406db11 Binary files /dev/null and b/Example.net4/Resources/Console.png differ diff --git a/Example.net4/Resources/Files_7954.png b/Example.net4/Resources/Files_7954.png new file mode 100644 index 0000000..009dde9 Binary files /dev/null and b/Example.net4/Resources/Files_7954.png differ diff --git a/Example.net4/Resources/NewFile_6276.png b/Example.net4/Resources/NewFile_6276.png new file mode 100644 index 0000000..12354ce Binary files /dev/null and b/Example.net4/Resources/NewFile_6276.png differ diff --git a/Example.net4/Resources/RefactoringLog_12810.png b/Example.net4/Resources/RefactoringLog_12810.png new file mode 100644 index 0000000..6a59707 Binary files /dev/null and b/Example.net4/Resources/RefactoringLog_12810.png differ diff --git a/Example.net4/Resources/StatusAnnotations_Information_16xLG_color.png b/Example.net4/Resources/StatusAnnotations_Information_16xLG_color.png new file mode 100644 index 0000000..fc631e2 Binary files /dev/null and b/Example.net4/Resources/StatusAnnotations_Information_16xLG_color.png differ diff --git a/Example.net4/Resources/StatusAnnotations_Information_16xMD_color.png b/Example.net4/Resources/StatusAnnotations_Information_16xMD_color.png new file mode 100644 index 0000000..cfb2d3c Binary files /dev/null and b/Example.net4/Resources/StatusAnnotations_Information_16xMD_color.png differ diff --git a/Example.net4/Resources/application_16x.png b/Example.net4/Resources/application_16x.png new file mode 100644 index 0000000..10711f5 Binary files /dev/null and b/Example.net4/Resources/application_16x.png differ diff --git a/Example.net4/Resources/document_16xLG.png b/Example.net4/Resources/document_16xLG.png new file mode 100644 index 0000000..cb45e88 Binary files /dev/null and b/Example.net4/Resources/document_16xLG.png differ diff --git a/Example.net4/Resources/folder_16x.png b/Example.net4/Resources/folder_16x.png new file mode 100644 index 0000000..bf1195d Binary files /dev/null and b/Example.net4/Resources/folder_16x.png differ diff --git a/Example.net4/Resources/folder_Closed_16xLG.png b/Example.net4/Resources/folder_Closed_16xLG.png new file mode 100644 index 0000000..ffa4210 Binary files /dev/null and b/Example.net4/Resources/folder_Closed_16xLG.png differ diff --git a/Example.net4/Resources/properties_16xLG.png b/Example.net4/Resources/properties_16xLG.png new file mode 100644 index 0000000..e09aa63 Binary files /dev/null and b/Example.net4/Resources/properties_16xLG.png differ