From 0a552e395477d2bb4c90e12624d11b28545a4933 Mon Sep 17 00:00:00 2001 From: AShifter Date: Sun, 24 Sep 2017 13:56:11 -0600 Subject: [PATCH] Update WM It's pretty much done. Pair with DE, and serve hot. --- .vs/ShiftOS/v15/sqlite3/storage.ide | Bin 3297280 -> 3379200 bytes .../Properties/Resources.Designer.cs | 10 +++++++ ShiftOS.Engine/Properties/Resources.resx | 4 +++ ShiftOS.Engine/Resources/nullIcon.png | Bin 0 -> 198 bytes ShiftOS.Engine/ShiftOS.Engine.csproj | 3 ++ ShiftOS.Engine/WindowManager/ShiftWM.cs | 27 ++++++++---------- .../WindowManager/ShiftWindow.Designer.cs | 25 +++++++++------- ShiftOS.Engine/WindowManager/ShiftWindow.cs | 24 ++++++++++++++++ ShiftOS.Main/ShiftOS.Main.csproj | 12 ++++---- .../{ => ShiftOS/Apps}/ShiftDemo.Designer.cs | 0 ShiftOS.Main/{ => ShiftOS/Apps}/ShiftDemo.cs | 0 .../{ => ShiftOS/Apps}/ShiftDemo.resx | 0 .../{ => ShiftOS/Apps}/TestForm.Designer.cs | 0 ShiftOS.Main/{ => ShiftOS/Apps}/TestForm.cs | 4 +-- ShiftOS.Main/{ => ShiftOS/Apps}/TestForm.resx | 0 ShiftOS.sln | 11 ------- 16 files changed, 75 insertions(+), 45 deletions(-) create mode 100644 ShiftOS.Engine/Resources/nullIcon.png rename ShiftOS.Main/{ => ShiftOS/Apps}/ShiftDemo.Designer.cs (100%) rename ShiftOS.Main/{ => ShiftOS/Apps}/ShiftDemo.cs (100%) rename ShiftOS.Main/{ => ShiftOS/Apps}/ShiftDemo.resx (100%) rename ShiftOS.Main/{ => ShiftOS/Apps}/TestForm.Designer.cs (100%) rename ShiftOS.Main/{ => ShiftOS/Apps}/TestForm.cs (80%) rename ShiftOS.Main/{ => ShiftOS/Apps}/TestForm.resx (100%) diff --git a/.vs/ShiftOS/v15/sqlite3/storage.ide b/.vs/ShiftOS/v15/sqlite3/storage.ide index edd455709a2b5b0224569e610ccdca47a7c0eaa1..63759d8bdf0d8c2b2e9f0627ddb334f178b55d17 100644 GIT binary patch delta 27062 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 diff --git a/ShiftOS.Engine/Properties/Resources.Designer.cs b/ShiftOS.Engine/Properties/Resources.Designer.cs index 845fe06..f42976a 100644 --- a/ShiftOS.Engine/Properties/Resources.Designer.cs +++ b/ShiftOS.Engine/Properties/Resources.Designer.cs @@ -59,5 +59,15 @@ namespace ShiftOS.Engine.Properties { resourceCulture = value; } } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap nullIcon { + get { + object obj = ResourceManager.GetObject("nullIcon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/ShiftOS.Engine/Properties/Resources.resx b/ShiftOS.Engine/Properties/Resources.resx index 1af7de1..45ddded 100644 --- a/ShiftOS.Engine/Properties/Resources.resx +++ b/ShiftOS.Engine/Properties/Resources.resx @@ -117,4 +117,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\nullIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/ShiftOS.Engine/Resources/nullIcon.png b/ShiftOS.Engine/Resources/nullIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8bc586650e7d93907358a314f4e35698db2294d3 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwtQjy!pvMMP{BZjv*HQOHXVRWKdvWR{S1srRVT)J}YnfZSk~&Ix|=|Cy1SCiZtLx eaDL`JXF9s}ul$R?)9-*LFnGH9xvXShiftWindow.cs + + + \ No newline at end of file diff --git a/ShiftOS.Engine/WindowManager/ShiftWM.cs b/ShiftOS.Engine/WindowManager/ShiftWM.cs index 373a87b..d30224c 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWM.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWM.cs @@ -1,12 +1,11 @@ -using System.Windows.Forms; +using System.Drawing; +using System.Windows.Forms; namespace ShiftOS.Engine.WindowManager { public class ShiftWM { - public static System.Drawing.Text.PrivateFontCollection pfc = new System.Drawing.Text.PrivateFontCollection(); - - public ShiftWindow Init(UserControl content, string title, bool ShowAsInfobox = false, bool resize = true) + public ShiftWindow Init(UserControl content, string title, Image icon, bool ShowAsInfobox = false, bool resize = true) { // Setup Window ShiftWindow app = new ShiftWindow(); @@ -15,21 +14,19 @@ namespace ShiftOS.Engine.WindowManager app.Width = content.Width + app.left.Width + app.right.Width; app.Height = content.Height + app.bottom.Height + app.top.Height; + // Icon Setup + if (icon == null) + { + app.programIcon.Hide(); + app.programIcon.Image = Properties.Resources.nullIcon; + app.Title.Location = new Point(2, 7); + } + else app.programIcon.Image = icon; + // Setup UC content.Parent = app.programContent; content.BringToFront(); content.Dock = DockStyle.Fill; - - // Check if icon is null (NYI) - /* - if (icon == null) - { - app.programIcon.Hide(); - app.programIcon.Image = Engine.Properties.Resources.nullIcon; - app.Title.Location = new Point(2, 1); - } - else app.programIcon.Image = icon; - */ app.Show(); return app; } diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs index dacc931..197c659 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs @@ -29,6 +29,7 @@ private void InitializeComponent() { this.program = new System.Windows.Forms.Panel(); + this.programContent = new System.Windows.Forms.Panel(); this.bottomleftcorner = new System.Windows.Forms.Panel(); this.toprightcorner = new System.Windows.Forms.Panel(); this.bottomrightcorner = new System.Windows.Forms.Panel(); @@ -42,7 +43,6 @@ this.closebutton = new System.Windows.Forms.PictureBox(); this.right = new System.Windows.Forms.Panel(); this.left = new System.Windows.Forms.Panel(); - this.programContent = new System.Windows.Forms.Panel(); this.program.SuspendLayout(); this.top.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit(); @@ -69,6 +69,14 @@ this.program.Size = new System.Drawing.Size(284, 261); this.program.TabIndex = 11; // + // programContent + // + this.programContent.Dock = System.Windows.Forms.DockStyle.Fill; + this.programContent.Location = new System.Drawing.Point(4, 30); + this.programContent.Name = "programContent"; + this.programContent.Size = new System.Drawing.Size(276, 227); + this.programContent.TabIndex = 11; + // // bottomleftcorner // this.bottomleftcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -130,6 +138,7 @@ this.top.Name = "top"; this.top.Size = new System.Drawing.Size(276, 30); this.top.TabIndex = 0; + this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag); // // programIcon // @@ -166,13 +175,14 @@ // this.Title.AutoSize = true; this.Title.BackColor = System.Drawing.Color.Transparent; - this.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Title.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.Title.ForeColor = System.Drawing.Color.White; this.Title.Location = new System.Drawing.Point(25, 8); this.Title.Name = "Title"; - this.Title.Size = new System.Drawing.Size(106, 14); + this.Title.Size = new System.Drawing.Size(98, 13); this.Title.TabIndex = 3; this.Title.Text = "Application Title"; + this.Title.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag); // // closebutton // @@ -183,6 +193,7 @@ this.closebutton.Size = new System.Drawing.Size(21, 21); this.closebutton.TabIndex = 4; this.closebutton.TabStop = false; + this.closebutton.Click += new System.EventHandler(this.closebutton_Click); // // right // @@ -203,14 +214,6 @@ this.left.Size = new System.Drawing.Size(4, 261); this.left.TabIndex = 1; // - // programContent - // - this.programContent.Dock = System.Windows.Forms.DockStyle.Fill; - this.programContent.Location = new System.Drawing.Point(4, 30); - this.programContent.Name = "programContent"; - this.programContent.Size = new System.Drawing.Size(276, 227); - this.programContent.TabIndex = 11; - // // ShiftWindow // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.cs index 6f9c90d..9caaa6c 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWindow.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWindow.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using System.Runtime.InteropServices; namespace ShiftOS.Engine.WindowManager { @@ -16,5 +17,28 @@ namespace ShiftOS.Engine.WindowManager { InitializeComponent(); } + public const int WM_NCLBUTTONDOWN = 0xA1; + public const int HT_CAPTION = 0x2; + + [DllImportAttribute("user32.dll")] + public static extern int SendMessage(IntPtr hWnd, + int Msg, int wParam, int lParam); + [DllImportAttribute("user32.dll")] + public static extern bool ReleaseCapture(); + + private void Programtopbar_drag(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + ReleaseCapture(); + SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); + } + } + + private void closebutton_Click(object sender, EventArgs e) + { + this.Close(); + } + } } diff --git a/ShiftOS.Main/ShiftOS.Main.csproj b/ShiftOS.Main/ShiftOS.Main.csproj index 1343d99..77bf889 100644 --- a/ShiftOS.Main/ShiftOS.Main.csproj +++ b/ShiftOS.Main/ShiftOS.Main.csproj @@ -52,16 +52,16 @@ - + UserControl - + ShiftDemo.cs - + Form - + TestForm.cs @@ -77,10 +77,10 @@ Resources.resx True - + ShiftDemo.cs - + TestForm.cs diff --git a/ShiftOS.Main/ShiftDemo.Designer.cs b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.Designer.cs similarity index 100% rename from ShiftOS.Main/ShiftDemo.Designer.cs rename to ShiftOS.Main/ShiftOS/Apps/ShiftDemo.Designer.cs diff --git a/ShiftOS.Main/ShiftDemo.cs b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs similarity index 100% rename from ShiftOS.Main/ShiftDemo.cs rename to ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs diff --git a/ShiftOS.Main/ShiftDemo.resx b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.resx similarity index 100% rename from ShiftOS.Main/ShiftDemo.resx rename to ShiftOS.Main/ShiftOS/Apps/ShiftDemo.resx diff --git a/ShiftOS.Main/TestForm.Designer.cs b/ShiftOS.Main/ShiftOS/Apps/TestForm.Designer.cs similarity index 100% rename from ShiftOS.Main/TestForm.Designer.cs rename to ShiftOS.Main/ShiftOS/Apps/TestForm.Designer.cs diff --git a/ShiftOS.Main/TestForm.cs b/ShiftOS.Main/ShiftOS/Apps/TestForm.cs similarity index 80% rename from ShiftOS.Main/TestForm.cs rename to ShiftOS.Main/ShiftOS/Apps/TestForm.cs index e1f926f..85be4a3 100644 --- a/ShiftOS.Main/TestForm.cs +++ b/ShiftOS.Main/ShiftOS/Apps/TestForm.cs @@ -7,7 +7,6 @@ namespace ShiftOS.Main public partial class TestForm : Form { public ShiftWM shiftWM = new ShiftWM(); - public ShiftDemo demo = new ShiftDemo(); public TestForm() { @@ -16,8 +15,9 @@ namespace ShiftOS.Main private void Button1_Click(object sender, EventArgs e) { + ShiftDemo demo = new ShiftDemo(); demo.label1.Text = textBox2.Text; - shiftWM.Init(demo, textBox1.Text); + shiftWM.Init(demo, textBox1.Text, null); } } } diff --git a/ShiftOS.Main/TestForm.resx b/ShiftOS.Main/ShiftOS/Apps/TestForm.resx similarity index 100% rename from ShiftOS.Main/TestForm.resx rename to ShiftOS.Main/ShiftOS/Apps/TestForm.resx diff --git a/ShiftOS.sln b/ShiftOS.sln index 8277ee4..cd5c50e 100644 --- a/ShiftOS.sln +++ b/ShiftOS.sln @@ -3,13 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.26730.12 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ShiftOS.Old", "ShiftOS\ShiftOS.Old.vbproj", "{7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B35F8DA7-BCB0-4558-A9BE-673F44572E21}" - ProjectSection(SolutionItems) = preProject - ShiftOS\API.vb = ShiftOS\API.vb - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShiftOS.Main", "ShiftOS.Main\ShiftOS.Main.csproj", "{61A6E932-3129-4D58-AC79-F69D6E0B3054}" ProjectSection(ProjectDependencies) = postProject {604EB1D7-998F-4A52-90A6-67F3DC3203D2} = {604EB1D7-998F-4A52-90A6-67F3DC3203D2} @@ -23,10 +16,6 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Release|Any CPU.Build.0 = Release|Any CPU {61A6E932-3129-4D58-AC79-F69D6E0B3054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {61A6E932-3129-4D58-AC79-F69D6E0B3054}.Debug|Any CPU.Build.0 = Debug|Any CPU {61A6E932-3129-4D58-AC79-F69D6E0B3054}.Release|Any CPU.ActiveCfg = Release|Any CPU