aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Engine/WindowManager/ShiftWindow.cs
diff options
context:
space:
mode:
authorJohn T <[email protected]>2017-09-27 18:32:16 -0400
committerJohn T <[email protected]>2017-09-27 18:32:16 -0400
commita25baf08203237fc2eeeb4b7ca720f7d47f8a666 (patch)
tree2664b08ca0f9b57ed0a9240ab54441ece6ac2d71 /ShiftOS.Engine/WindowManager/ShiftWindow.cs
parentdc7533184a88271bfd2a3aae299532ec7632144d (diff)
downloadshiftos-rewind-a25baf08203237fc2eeeb4b7ca720f7d47f8a666.tar.gz
shiftos-rewind-a25baf08203237fc2eeeb4b7ca720f7d47f8a666.tar.bz2
shiftos-rewind-a25baf08203237fc2eeeb4b7ca720f7d47f8a666.zip
added desktop and some small additions and changes to shiftwm
Diffstat (limited to 'ShiftOS.Engine/WindowManager/ShiftWindow.cs')
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWindow.cs126
1 files changed, 58 insertions, 68 deletions
diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.cs
index 45aec7c..a41786a 100644
--- a/ShiftOS.Engine/WindowManager/ShiftWindow.cs
+++ b/ShiftOS.Engine/WindowManager/ShiftWindow.cs
@@ -1,11 +1,6 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
using System.Drawing;
-using System.Data;
using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
@@ -13,91 +8,86 @@ namespace ShiftOS.Engine.WindowManager
{
public partial class ShiftWindow : Form
{
- public ShiftWindow()
+ public uint Id { get; private set; }
+
+ public UserControl ChildControl { get; set; }
+
+ public ShiftWindow()
{
InitializeComponent();
}
- public const int WM_NCLBUTTONDOWN = 0xA1;
- public const int HT_CAPTION = 0x2;
+
+ public uint SetId()
+ {
+ do
+ {
+ Id = (uint)Tools.Rnd.Next(100000, 999999);
+ }
+ while (ShiftWM.Windows.FirstOrDefault(w => w.Id == Id) != null);
+
+ return Id;
+ }
+
+ private const int WM_NCLBUTTONDOWN = 0xA1;
+ private const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
- public static extern int SendMessage(IntPtr hWnd,
+ private static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
+
[DllImportAttribute("user32.dll")]
- public static extern bool ReleaseCapture();
+ private 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);
- }
- }
+ if (e.Button != MouseButtons.Left) return;
- private void closebutton_Click(object sender, EventArgs e)
- {
- this.Close();
+ ReleaseCapture();
+ SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
- private void closebutton_MouseEnter(object sender, EventArgs e)
- {
- closebutton.BackColor = Color.Gray;
- }
+ private void closebutton_Click(object sender, EventArgs e)
+ => this.Close();
- private void closebutton_MouseLeave(object sender, EventArgs e)
- {
- closebutton.BackColor = Color.Black;
- }
+ private void closebutton_MouseEnter(object sender, EventArgs e)
+ => closebutton.BackColor = Color.Gray;
- private void maximizebutton_MouseEnter(object sender, EventArgs e)
- {
- maximizebutton.BackColor = Color.Gray;
- }
+ private void closebutton_MouseLeave(object sender, EventArgs e)
+ => closebutton.BackColor = Color.Black;
- private void maximizebutton_MouseLeave(object sender, EventArgs e)
- {
- maximizebutton.BackColor = Color.Black;
- }
+ private void maximizebutton_MouseEnter(object sender, EventArgs e)
+ => maximizebutton.BackColor = Color.Gray;
- private void minimizebutton_MouseEnter(object sender, EventArgs e)
- {
- minimizebutton.BackColor = Color.Gray;
- }
+ private void maximizebutton_MouseLeave(object sender, EventArgs e)
+ => maximizebutton.BackColor = Color.Black;
- private void minimizebutton_MouseLeave(object sender, EventArgs e)
- {
- minimizebutton.BackColor = Color.Black;
- }
+ private void minimizebutton_MouseEnter(object sender, EventArgs e)
+ => minimizebutton.BackColor = Color.Gray;
- private void closebutton_MouseDown(object sender, MouseEventArgs e)
- {
- closebutton.BackColor = Color.Black;
- }
+ private void minimizebutton_MouseLeave(object sender, EventArgs e)
+ => minimizebutton.BackColor = Color.Black;
- private void maximizebutton_MouseDown(object sender, MouseEventArgs e)
- {
- maximizebutton.BackColor = Color.Black;
- }
+ private void closebutton_MouseDown(object sender, MouseEventArgs e)
+ => closebutton.BackColor = Color.Black;
- private void minimizebutton_MouseDown(object sender, MouseEventArgs e)
- {
- minimizebutton.BackColor = Color.Black;
- }
+ private void maximizebutton_MouseDown(object sender, MouseEventArgs e)
+ => maximizebutton.BackColor = Color.Black;
- private void minimizebutton_MouseUp(object sender, MouseEventArgs e)
- {
- minimizebutton.BackColor = Color.Gray;
- }
+ private void minimizebutton_MouseDown(object sender, MouseEventArgs e)
+ => minimizebutton.BackColor = Color.Black;
- private void maximizebutton_MouseUp(object sender, MouseEventArgs e)
- {
- maximizebutton.BackColor = Color.Gray;
- }
+ private void minimizebutton_MouseUp(object sender, MouseEventArgs e)
+ => minimizebutton.BackColor = Color.Gray;
- private void closebutton_MouseUp(object sender, MouseEventArgs e)
- {
- closebutton.BackColor = Color.Gray;
- }
- }
+ private void maximizebutton_MouseUp(object sender, MouseEventArgs e)
+ => maximizebutton.BackColor = Color.Gray;
+
+ private void closebutton_MouseUp(object sender, MouseEventArgs e)
+ => closebutton.BackColor = Color.Gray;
+ }
+
+ public interface IShiftWindowExtensions
+ {
+ void OnLoaded(ShiftWindow window);
+ }
}