aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Engine
diff options
context:
space:
mode:
authorIBMPCDOS5 <[email protected]>2017-09-24 15:10:21 -0500
committerGitHub <[email protected]>2017-09-24 15:10:21 -0500
commit554a97739a89345613e5ca6fcdb9022ef80e665e (patch)
tree035533bf35faa4c1480adc8ef033fd8d9c65c8c5 /ShiftOS.Engine
parent061ce54709db3157ae3366607420639d34942c7e (diff)
parent0a552e395477d2bb4c90e12624d11b28545a4933 (diff)
downloadshiftos-rewind-554a97739a89345613e5ca6fcdb9022ef80e665e.tar.gz
shiftos-rewind-554a97739a89345613e5ca6fcdb9022ef80e665e.tar.bz2
shiftos-rewind-554a97739a89345613e5ca6fcdb9022ef80e665e.zip
Merge pull request #5 from AShifter/master
Update WM
Diffstat (limited to 'ShiftOS.Engine')
-rw-r--r--ShiftOS.Engine/Properties/Resources.Designer.cs10
-rw-r--r--ShiftOS.Engine/Properties/Resources.resx4
-rw-r--r--ShiftOS.Engine/Resources/nullIcon.pngbin0 -> 198 bytes
-rw-r--r--ShiftOS.Engine/ShiftOS.Engine.csproj3
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWM.cs25
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs25
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWindow.cs24
7 files changed, 66 insertions, 25 deletions
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;
}
}
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
+ 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 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="nullIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\nullIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
</root> \ 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
--- /dev/null
+++ b/ShiftOS.Engine/Resources/nullIcon.png
Binary files 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 @@
<DependentUpon>ShiftWindow.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\nullIcon.png" />
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> \ 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;
- // Setup UC
- content.Parent = app.programContent;
- content.BringToFront();
- content.Dock = DockStyle.Fill;
-
- // Check if icon is null (NYI)
- /*
+ // Icon Setup
if (icon == null)
{
app.programIcon.Hide();
- app.programIcon.Image = Engine.Properties.Resources.nullIcon;
- app.Title.Location = new Point(2, 1);
+ 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;
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();
+ }
+
}
}