diff --git a/.vs/ShiftOS/v15/sqlite3/storage.ide b/.vs/ShiftOS/v15/sqlite3/storage.ide
index edd4557..63759d8 100644
Binary files a/.vs/ShiftOS/v15/sqlite3/storage.ide and b/.vs/ShiftOS/v15/sqlite3/storage.ide differ
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 0000000..8bc5866
Binary files /dev/null and b/ShiftOS.Engine/Resources/nullIcon.png differ
diff --git a/ShiftOS.Engine/ShiftOS.Engine.csproj b/ShiftOS.Engine/ShiftOS.Engine.csproj
index 7a7a0b1..6045cb5 100644
--- a/ShiftOS.Engine/ShiftOS.Engine.csproj
+++ b/ShiftOS.Engine/ShiftOS.Engine.csproj
@@ -65,5 +65,8 @@
ShiftWindow.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