From c0caee2f995840e91be6fb06e16e35a80bb5b22f Mon Sep 17 00:00:00 2001 From: Fey Date: Fri, 9 Jan 2026 00:17:11 +0100 Subject: [PATCH] Initial commit --- .gitignore | 8 + Voile.slnx | 3 + Voile/CBuilder.ico | Bin 0 -> 1078 bytes Voile/DockContents/DockLog.Designer.cs | 61 ++++++++ Voile/DockContents/DockLog.cs | 71 +++++++++ Voile/DockContents/DockLog.resx | 120 +++++++++++++++ Voile/DockContents/DockTaskList.Designer.cs | 73 +++++++++ Voile/DockContents/DockTaskList.cs | 21 +++ Voile/DockContents/DockTaskList.resx | 123 +++++++++++++++ Voile/DockContents/DockWorldView.Designer.cs | 57 +++++++ Voile/DockContents/DockWorldView.cs | 21 +++ Voile/DockContents/DockWorldView.resx | 120 +++++++++++++++ Voile/DockContents/FloatDemo.Designer.cs | 60 ++++++++ Voile/DockContents/FloatDemo.cs | 21 +++ Voile/DockContents/FloatDemo.resx | 120 +++++++++++++++ Voile/Form1.Designer.cs | 148 +++++++++++++++++++ Voile/Form1.cs | 55 +++++++ Voile/Form1.resx | 132 +++++++++++++++++ Voile/Program.cs | 29 ++++ Voile/Properties/Resources.Designer.cs | 93 ++++++++++++ Voile/Properties/Resources.resx | 131 ++++++++++++++++ Voile/Resources/H_POINT.CUR | Bin 0 -> 766 bytes Voile/Resources/URLPKR_141_1_32x32x4.png | Bin 0 -> 300 bytes Voile/Resources/inetwiz_100_1_32x32x4.png | Bin 0 -> 671 bytes Voile/Voile.csproj | 43 ++++++ Voile/Voile.csproj.user | 20 +++ Voile/log4net.config | 26 ++++ 27 files changed, 1556 insertions(+) create mode 100644 .gitignore create mode 100644 Voile.slnx create mode 100644 Voile/CBuilder.ico create mode 100644 Voile/DockContents/DockLog.Designer.cs create mode 100644 Voile/DockContents/DockLog.cs create mode 100644 Voile/DockContents/DockLog.resx create mode 100644 Voile/DockContents/DockTaskList.Designer.cs create mode 100644 Voile/DockContents/DockTaskList.cs create mode 100644 Voile/DockContents/DockTaskList.resx create mode 100644 Voile/DockContents/DockWorldView.Designer.cs create mode 100644 Voile/DockContents/DockWorldView.cs create mode 100644 Voile/DockContents/DockWorldView.resx create mode 100644 Voile/DockContents/FloatDemo.Designer.cs create mode 100644 Voile/DockContents/FloatDemo.cs create mode 100644 Voile/DockContents/FloatDemo.resx create mode 100644 Voile/Form1.Designer.cs create mode 100644 Voile/Form1.cs create mode 100644 Voile/Form1.resx create mode 100644 Voile/Program.cs create mode 100644 Voile/Properties/Resources.Designer.cs create mode 100644 Voile/Properties/Resources.resx create mode 100644 Voile/Resources/H_POINT.CUR create mode 100644 Voile/Resources/URLPKR_141_1_32x32x4.png create mode 100644 Voile/Resources/inetwiz_100_1_32x32x4.png create mode 100644 Voile/Voile.csproj create mode 100644 Voile/Voile.csproj.user create mode 100644 Voile/log4net.config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4613fd3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/.vs/ProjectEvaluation +/.vs/Voile.slnx/DesignTimeBuild +/.vs/Voile.slnx/FileContentIndex +/.vs/Voile.slnx/v18 +/.vs/Voile/CopilotIndices/18.0.981.45449 +/Voile/bin/Debug/net8.0-windows +/Voile/obj/Debug/net8.0-windows +/Voile/obj diff --git a/Voile.slnx b/Voile.slnx new file mode 100644 index 0000000..eb5e5ce --- /dev/null +++ b/Voile.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Voile/CBuilder.ico b/Voile/CBuilder.ico new file mode 100644 index 0000000000000000000000000000000000000000..04e0004b3646c48aacf9d9f3b6a7df707ac26717 GIT binary patch literal 1078 zcma)*y=ucS6oqeoAeq{{K|PgheS~BXNYEj#;z6K53eu24n;$3M>aC++q0pscHg^c9 z=UTF3)0Flm$I{U!UCZ({(S)XyWh>(NoDw~vU9F;DPl)bjL~D#?&=#7|99JTTxwpds zf;bl&T+yYfs?ahB?Vm#69)uqc;ZnRHtUe&lKKFTH5LP~yWob-fngIvxxjdB$wCDPu z)rdf3!Srpc(qNw7~d1^Z;!fO>Olqyh8tWxU?CU_JkHg|Elvh6uAwyFtt3r`mcihE_%I-UhhI+jyLO= zYjJeZ@00g9{u;IGh + /// 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() + { + richTextBox1 = new RichTextBox(); + SuspendLayout(); + // + // richTextBox1 + // + richTextBox1.DetectUrls = false; + richTextBox1.Dock = DockStyle.Fill; + richTextBox1.HideSelection = false; + richTextBox1.Location = new Point(0, 0); + richTextBox1.Name = "richTextBox1"; + richTextBox1.Size = new Size(729, 440); + richTextBox1.TabIndex = 0; + richTextBox1.Text = ""; + richTextBox1.WordWrap = false; + // + // DockLog + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(729, 440); + Controls.Add(richTextBox1); + Name = "DockLog"; + Text = "LogPanel"; + ResumeLayout(false); + } + + #endregion + + private RichTextBox richTextBox1; + } +} \ No newline at end of file diff --git a/Voile/DockContents/DockLog.cs b/Voile/DockContents/DockLog.cs new file mode 100644 index 0000000..b5de291 --- /dev/null +++ b/Voile/DockContents/DockLog.cs @@ -0,0 +1,71 @@ +using log4net.Appender; +using log4net.Core; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace Voile.DockContents +{ + public partial class DockLog : DockContent, IAppender + { + private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + public DockLog() + { + InitializeComponent(); + + richTextBox1.AllowDrop = true; + richTextBox1.DragEnter += RichTextBox1_DragEnter; + richTextBox1.DragDrop += RichTextBox1_DragDrop; + } + + public void Logger(string s) + { + richTextBox1.SuspendLayout(); + richTextBox1.AppendText(s + Environment.NewLine); + richTextBox1.SelectionStart = richTextBox1.Text.Length; + richTextBox1.ScrollToCaret(); + richTextBox1.ResumeLayout(); + } + + private void RichTextBox1_DragDrop(object? sender, DragEventArgs e) + { + } + + private void RichTextBox1_DragEnter(object? sender, DragEventArgs e) + { + } + + bool wasInitalized; + public void InitalizeLogging() + { + if (wasInitalized) + throw new Exception("already initalized"); + + var hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); + hierarchy.Root.AddAppender(this); + hierarchy.Root.Level = log4net.Core.Level.All; + log4net.Config.BasicConfigurator.Configure(hierarchy); + wasInitalized = true; + } + + private log4net.Layout.PatternLayout logLayout; + public void DoAppend(LoggingEvent loggingEvent) + { + if (logLayout == null) + { + logLayout = new log4net.Layout.PatternLayout(); + logLayout.ConversionPattern = "%date %level %logger - %message"; + logLayout.ActivateOptions(); + } + string v = logLayout.Format(loggingEvent); + Logger(v); + } + } +} diff --git a/Voile/DockContents/DockLog.resx b/Voile/DockContents/DockLog.resx new file mode 100644 index 0000000..4f24d55 --- /dev/null +++ b/Voile/DockContents/DockLog.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/Voile/DockContents/DockTaskList.Designer.cs b/Voile/DockContents/DockTaskList.Designer.cs new file mode 100644 index 0000000..f0c6654 --- /dev/null +++ b/Voile/DockContents/DockTaskList.Designer.cs @@ -0,0 +1,73 @@ +namespace Voile.DockContents +{ + partial class DockTaskList + { + /// + /// 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() + { + listView1 = new ListView(); + toolStrip1 = new ToolStrip(); + SuspendLayout(); + // + // listView1 + // + listView1.Dock = DockStyle.Fill; + listView1.GridLines = true; + listView1.Location = new Point(0, 0); + listView1.MultiSelect = false; + listView1.Name = "listView1"; + listView1.Size = new Size(800, 450); + listView1.TabIndex = 0; + listView1.UseCompatibleStateImageBehavior = false; + listView1.View = View.Details; + // + // toolStrip1 + // + toolStrip1.Location = new Point(0, 0); + toolStrip1.Name = "toolStrip1"; + toolStrip1.Size = new Size(800, 25); + toolStrip1.TabIndex = 1; + toolStrip1.Text = "toolStrip1"; + // + // DockTaskList + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(toolStrip1); + Controls.Add(listView1); + Name = "DockTaskList"; + Text = "DockTaskList"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private ListView listView1; + private ToolStrip toolStrip1; + } +} \ No newline at end of file diff --git a/Voile/DockContents/DockTaskList.cs b/Voile/DockContents/DockTaskList.cs new file mode 100644 index 0000000..da5a6af --- /dev/null +++ b/Voile/DockContents/DockTaskList.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace Voile.DockContents +{ + public partial class DockTaskList : DockContent + { + public DockTaskList() + { + InitializeComponent(); + } + } +} diff --git a/Voile/DockContents/DockTaskList.resx b/Voile/DockContents/DockTaskList.resx new file mode 100644 index 0000000..ebe2cea --- /dev/null +++ b/Voile/DockContents/DockTaskList.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/Voile/DockContents/DockWorldView.Designer.cs b/Voile/DockContents/DockWorldView.Designer.cs new file mode 100644 index 0000000..9e27b95 --- /dev/null +++ b/Voile/DockContents/DockWorldView.Designer.cs @@ -0,0 +1,57 @@ +namespace Voile.DockContents +{ + partial class DockWorldView + { + /// + /// 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() + { + treeView1 = new TreeView(); + SuspendLayout(); + // + // treeView1 + // + treeView1.Dock = DockStyle.Fill; + treeView1.Location = new Point(0, 0); + treeView1.Name = "treeView1"; + treeView1.Size = new Size(800, 450); + treeView1.TabIndex = 0; + // + // DockWorldView + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(treeView1); + Name = "DockWorldView"; + Text = "DockWorldView"; + ResumeLayout(false); + } + + #endregion + + private TreeView treeView1; + } +} \ No newline at end of file diff --git a/Voile/DockContents/DockWorldView.cs b/Voile/DockContents/DockWorldView.cs new file mode 100644 index 0000000..9fb9c6c --- /dev/null +++ b/Voile/DockContents/DockWorldView.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace Voile.DockContents +{ + public partial class DockWorldView : DockContent + { + public DockWorldView() + { + InitializeComponent(); + } + } +} diff --git a/Voile/DockContents/DockWorldView.resx b/Voile/DockContents/DockWorldView.resx new file mode 100644 index 0000000..4f24d55 --- /dev/null +++ b/Voile/DockContents/DockWorldView.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/Voile/DockContents/FloatDemo.Designer.cs b/Voile/DockContents/FloatDemo.Designer.cs new file mode 100644 index 0000000..1ffa09e --- /dev/null +++ b/Voile/DockContents/FloatDemo.Designer.cs @@ -0,0 +1,60 @@ +namespace Voile.DockContents +{ + partial class FloatDemo + { + /// + /// 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() + { + label1 = new Label(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 18F, FontStyle.Regular, GraphicsUnit.Point, 0); + label1.Location = new Point(12, 9); + label1.Name = "label1"; + label1.Size = new Size(77, 32); + label1.TabIndex = 0; + label1.Text = "Hello!"; + // + // FloatDemo + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(label1); + Name = "FloatDemo"; + Text = "FloatDemo"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + } +} \ No newline at end of file diff --git a/Voile/DockContents/FloatDemo.cs b/Voile/DockContents/FloatDemo.cs new file mode 100644 index 0000000..4b17694 --- /dev/null +++ b/Voile/DockContents/FloatDemo.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace Voile.DockContents +{ + public partial class FloatDemo : Form + { + public FloatDemo() + { + InitializeComponent(); + } + } +} diff --git a/Voile/DockContents/FloatDemo.resx b/Voile/DockContents/FloatDemo.resx new file mode 100644 index 0000000..4f24d55 --- /dev/null +++ b/Voile/DockContents/FloatDemo.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/Voile/Form1.Designer.cs b/Voile/Form1.Designer.cs new file mode 100644 index 0000000..37993ab --- /dev/null +++ b/Voile/Form1.Designer.cs @@ -0,0 +1,148 @@ +namespace Voile +{ + partial class Form1 + { + /// + /// 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() + { + menuStrip1 = new MenuStrip(); + fileToolStripMenuItem = new ToolStripMenuItem(); + stopAllAndExitToolStripMenuItem = new ToolStripMenuItem(); + toolStrip1 = new ToolStrip(); + toolStripButton1 = new ToolStripButton(); + toolStripButton2 = new ToolStripButton(); + statusStrip1 = new StatusStrip(); + dockPanel1 = new WeifenLuo.WinFormsUI.Docking.DockPanel(); + vS2003Theme1 = new WeifenLuo.WinFormsUI.Docking.VS2003Theme(); + menuStrip1.SuspendLayout(); + toolStrip1.SuspendLayout(); + SuspendLayout(); + // + // menuStrip1 + // + menuStrip1.Items.AddRange(new ToolStripItem[] { fileToolStripMenuItem }); + menuStrip1.Location = new Point(0, 0); + menuStrip1.Name = "menuStrip1"; + menuStrip1.Size = new Size(800, 24); + menuStrip1.TabIndex = 1; + menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { stopAllAndExitToolStripMenuItem }); + fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + fileToolStripMenuItem.Size = new Size(37, 20); + fileToolStripMenuItem.Text = "File"; + // + // stopAllAndExitToolStripMenuItem + // + stopAllAndExitToolStripMenuItem.Name = "stopAllAndExitToolStripMenuItem"; + stopAllAndExitToolStripMenuItem.Size = new Size(180, 22); + stopAllAndExitToolStripMenuItem.Text = "Stop all and Exit"; + stopAllAndExitToolStripMenuItem.Click += stopAllAndExitToolStripMenuItem_Click; + // + // toolStrip1 + // + toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1, toolStripButton2 }); + toolStrip1.Location = new Point(0, 24); + toolStrip1.Name = "toolStrip1"; + toolStrip1.Size = new Size(800, 54); + toolStrip1.TabIndex = 2; + toolStrip1.Text = "toolStrip1"; + // + // toolStripButton1 + // + toolStripButton1.Image = Properties.Resources.inetwiz_100_1_32x32x4; + toolStripButton1.ImageScaling = ToolStripItemImageScaling.None; + toolStripButton1.ImageTransparentColor = Color.Magenta; + toolStripButton1.Name = "toolStripButton1"; + toolStripButton1.Size = new Size(153, 51); + toolStripButton1.Text = "Quick Connect to TCP Port"; + toolStripButton1.TextAlign = ContentAlignment.BottomCenter; + toolStripButton1.TextImageRelation = TextImageRelation.ImageAboveText; + // + // toolStripButton2 + // + toolStripButton2.Image = Properties.Resources.URLPKR_141_1_32x32x4; + toolStripButton2.ImageScaling = ToolStripItemImageScaling.None; + toolStripButton2.ImageTransparentColor = Color.Magenta; + toolStripButton2.Name = "toolStripButton2"; + toolStripButton2.Size = new Size(111, 51); + toolStripButton2.Text = "Quick Open TS File"; + toolStripButton2.TextAlign = ContentAlignment.BottomCenter; + toolStripButton2.TextImageRelation = TextImageRelation.ImageAboveText; + // + // statusStrip1 + // + statusStrip1.Location = new Point(0, 428); + statusStrip1.Name = "statusStrip1"; + statusStrip1.Size = new Size(800, 22); + statusStrip1.TabIndex = 3; + statusStrip1.Text = "statusStrip1"; + // + // dockPanel1 + // + dockPanel1.Dock = DockStyle.Fill; + dockPanel1.DockRightPortion = 0.3D; + dockPanel1.Location = new Point(0, 78); + dockPanel1.Name = "dockPanel1"; + dockPanel1.Size = new Size(800, 350); + dockPanel1.TabIndex = 5; + // + // Form1 + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dockPanel1); + Controls.Add(statusStrip1); + Controls.Add(toolStrip1); + Controls.Add(menuStrip1); + IsMdiContainer = true; + MainMenuStrip = menuStrip1; + Name = "Form1"; + Text = "Voile"; + menuStrip1.ResumeLayout(false); + menuStrip1.PerformLayout(); + toolStrip1.ResumeLayout(false); + toolStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private MenuStrip menuStrip1; + private ToolStrip toolStrip1; + private StatusStrip statusStrip1; + private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel1; + private WeifenLuo.WinFormsUI.Docking.VS2003Theme vS2003Theme1; + private ToolStripButton toolStripButton1; + private ToolStripButton toolStripButton2; + private ToolStripMenuItem fileToolStripMenuItem; + private ToolStripMenuItem stopAllAndExitToolStripMenuItem; + } +} diff --git a/Voile/Form1.cs b/Voile/Form1.cs new file mode 100644 index 0000000..3ae2f64 --- /dev/null +++ b/Voile/Form1.cs @@ -0,0 +1,55 @@ +using Voile.DockContents; +using WeifenLuo.WinFormsUI.Docking; + +namespace Voile +{ + public partial class Form1 : Form + { + private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + + public Form1() + { + InitializeComponent(); + dockPanel1.Theme = vS2003Theme1; + logger.Info("Main Form initalized."); + + DockLog = new DockContents.DockLog(); + SetDockDefault(DockLog, "Log"); + DockLog.Show(dockPanel1, DockState.DockBottom); + DockLog.InitalizeLogging(); + logger.Info("Attached dockable Logger."); + + DockTaskList = new DockContents.DockTaskList(); + SetDockDefault(DockTaskList, "Tasks"); + DockTaskList.Show(DockLog.Pane, DockAlignment.Right, 0.5); + + DockWorldView = new DockContents.DockWorldView(); + SetDockDefault(DockWorldView, "Database"); + DockWorldView.Show(dockPanel1, DockState.DockLeft); + } + + private void SetDockDefault(DockContent dock, string text) + { + dock.Text = text; + dock.CloseButtonVisible = false; + dock.FormClosing += new FormClosingEventHandler(defaultDock_FormClosing); + } + + private void defaultDock_FormClosing(object? sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.UserClosing) + { + e.Cancel = true; + } + } + + private void stopAllAndExitToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Close(); + } + + public DockLog DockLog { get; private set; } + public DockTaskList DockTaskList { get; private set; } + public DockWorldView DockWorldView { get; private set; } + } +} diff --git a/Voile/Form1.resx b/Voile/Form1.resx new file mode 100644 index 0000000..c8fbd08 --- /dev/null +++ b/Voile/Form1.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 132, 17 + + + 237, 17 + + + 352, 17 + + \ No newline at end of file diff --git a/Voile/Program.cs b/Voile/Program.cs new file mode 100644 index 0000000..58af3f6 --- /dev/null +++ b/Voile/Program.cs @@ -0,0 +1,29 @@ +[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")] +namespace Voile +{ + internal static class Program + { + private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + logger.Info("Hello! This is Voile, an UI to skyscraper8."); + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + + logger.Debug("Preparing main window..."); + ApplicationConfiguration.Initialize(); + Form1 form1 = new Form1(); + + logger.Debug("Unpacking cursor..."); + Cursor hand = new Cursor(new MemoryStream(Voile.Properties.Resources.H_POINT)); + form1.Cursor = hand; + + logger.Debug("Okay, let's rock."); + Application.Run(form1); + } + } +} \ No newline at end of file diff --git a/Voile/Properties/Resources.Designer.cs b/Voile/Properties/Resources.Designer.cs new file mode 100644 index 0000000..64589f8 --- /dev/null +++ b/Voile/Properties/Resources.Designer.cs @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// +// 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 Voile.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", "18.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("Voile.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] H_POINT { + get { + object obj = ResourceManager.GetObject("H_POINT", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap inetwiz_100_1_32x32x4 { + get { + object obj = ResourceManager.GetObject("inetwiz_100_1_32x32x4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap URLPKR_141_1_32x32x4 { + get { + object obj = ResourceManager.GetObject("URLPKR_141_1_32x32x4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Voile/Properties/Resources.resx b/Voile/Properties/Resources.resx new file mode 100644 index 0000000..9c721bf --- /dev/null +++ b/Voile/Properties/Resources.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 + + + + ..\Resources\H_POINT.CUR;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + Mauszeiger + + + ..\Resources\inetwiz_100_1_32x32x4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\URLPKR_141_1_32x32x4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Voile/Resources/H_POINT.CUR b/Voile/Resources/H_POINT.CUR new file mode 100644 index 0000000000000000000000000000000000000000..e4feb3e422fcb55f658d90e8edef34f1bf3c41aa GIT binary patch literal 766 zcmbtSIS#@w5S###8zegFlstnX58(-Ply=Fp@&F!TI!Yu8Tp*V58l2@Q5IC7#k7qqT zWMG5_Z3|494U_o#QOQOMq5eU>iw?L6f2qiJHO9b?NPeJsDNbV8*@=y-nw8^gP zy5&&$FGn|cY0rx!JM_XGcPe2hplrFy#^9A}xzP)+hNXNkbh6F3$b&wR^_~b#0hsxO fu6JCRFD)dkh{y|z)FbD|8R13tT*Km&7ZteyD^J<) literal 0 HcmV?d00001 diff --git a/Voile/Resources/URLPKR_141_1_32x32x4.png b/Voile/Resources/URLPKR_141_1_32x32x4.png new file mode 100644 index 0000000000000000000000000000000000000000..9164b4f3178dda5f85ae6306c39745c435c3062c GIT binary patch literal 300 zcmV+{0n`48P)W#Uik%lbF9y@*e{u3OpJtk-I_CeH%%@k?bEo`_h>oIdMe^@Gth)R1#Z= zS_iJyEI@AuM3XF^NGSy=6{ZOwQU21Y)iTk3qKpK(7eK5StkGT!sL^6rhI#KyYG+16hEu83#Gwlh7LC5Fk!MuZ@@m=(!9S yaT@LcL<~@RqScDzdhNgKyB^Ir`7e3&Kl%U`JE%J(Sg%X~0000y&^@!Nq5}yaVQfPSJ^)F7`6i#t)vz?E5yu!IDFFa{ zr~?4M6!O}6B+fZQP2tfY0-*8G_c{PpDXT&rJCXDlW9c-mx{a94&-eLX1vK)UGeQV^ zX90i&AkGCWiuidV2Y?U)B$e@!QYBp^-xWMM?nOW&my{q$kaI5N(kJ_X8~`~L(FKg; zrV7vzLV(AklX+a{2RRjSut3fk9wR~sFsrLi#}!M9Jo;W*y9eV*08j6)Lh0`AX6APQ zQ3~AM%kx|>3WmO80qgT>1!)3Q_2BU>?yE$2Bt#tU0ujQUNNKXN`^6qix{Z79gMdz6 zO`KKXUdFl;IU7{5j1U4+$tR8>G&i7xn8%}cnHp3>B^*VU@geBYo+Axud&E}A^j3s> zal+kaL$Nm91cha%!-@LN(@AO`EvtmPoNkJX}(!%;hyY4AUmVqv13ilen)0^zhd;k~>tfvXn^Q{uO_NM&5rG@s}bx??340o_s)AG|~V7002ovPDHLk FV1kSUFHHad literal 0 HcmV?d00001 diff --git a/Voile/Voile.csproj b/Voile/Voile.csproj new file mode 100644 index 0000000..34b8f0e --- /dev/null +++ b/Voile/Voile.csproj @@ -0,0 +1,43 @@ + + + + Exe + net8.0-windows + enable + true + enable + CBuilder.ico + + + + + + + + + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + PreserveNewest + + + + \ No newline at end of file diff --git a/Voile/Voile.csproj.user b/Voile/Voile.csproj.user new file mode 100644 index 0000000..e0f7126 --- /dev/null +++ b/Voile/Voile.csproj.user @@ -0,0 +1,20 @@ + + + + + Form + + + Form + + + Form + + + Form + + + Form + + + \ No newline at end of file diff --git a/Voile/log4net.config b/Voile/log4net.config new file mode 100644 index 0000000..01043a7 --- /dev/null +++ b/Voile/log4net.config @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file