diff options
| author | Michael VanOverbeek <[email protected]> | 2016-04-09 13:16:39 -0400 |
|---|---|---|
| committer | Michael VanOverbeek <[email protected]> | 2016-04-09 13:16:39 -0400 |
| commit | 14edb9eade65806b531e51a0ed1fba7c62ba848e (patch) | |
| tree | b8a0124d66ca9d414870a27de103e7be9a748081 /source/WindowsFormsApplication1/Template.cs | |
| parent | cfb8690c6fbbb0595f8a3a4cd9f3210054a9680d (diff) | |
| download | shiftos-c--14edb9eade65806b531e51a0ed1fba7c62ba848e.tar.gz shiftos-c--14edb9eade65806b531e51a0ed1fba7c62ba848e.tar.bz2 shiftos-c--14edb9eade65806b531e51a0ed1fba7c62ba848e.zip | |
Uploaded source code for ShiftOS 0.1.1 Beta 2.3
Initial commit of repository.
Diffstat (limited to 'source/WindowsFormsApplication1/Template.cs')
| -rw-r--r-- | source/WindowsFormsApplication1/Template.cs | 589 |
1 files changed, 589 insertions, 0 deletions
diff --git a/source/WindowsFormsApplication1/Template.cs b/source/WindowsFormsApplication1/Template.cs new file mode 100644 index 0000000..5d0ddd1 --- /dev/null +++ b/source/WindowsFormsApplication1/Template.cs @@ -0,0 +1,589 @@ +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; + +namespace ShiftOS +{ + public partial class Template : Form + { + public List<Control> NewControls = new List<Control>(); + public Form ManagedForm = null; + public Template(string aname, Image aicon, Form frmToTake) + { + AppName = aname; + AppIcon = aicon; + foreach(Control ctrl in frmToTake.Controls) + { + NewControls.Add(ctrl); + ctrl.Show(); + } + ManagedForm = frmToTake; + InitializeComponent(); + } + + public Image AppIcon { get; set; } + public string AppName { get; set; } + + #region "Template Code" + public int rolldownsize; + public int oldbordersize; + public int oldtitlebarheight; + public bool justopened = false; + public bool needtorollback = false; + //replace with minimum size + public int minimumsizewidth = 0; + //replace with minimum size + public int minimumsizeheight = 0; + + // ERROR: Handles clauses are not supported in C# + private void Template_Load(object sender, EventArgs e) + { + justopened = true; + this.Left = (Screen.PrimaryScreen.Bounds.Width - this.Width) / 2; + this.Top = (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2; + setupall(); + foreach(Control ctrl in NewControls) + { + this.pgcontents.Controls.Add(ctrl); + } + + //CHANGE NAME + //modify to proper name + } + + public void setupall() + { + setuptitlebar(); + setupborders(); + setskin(); + } + + // ERROR: Handles clauses are not supported in C# + private void ShiftOSDesktop_keydown(object sender, System.Windows.Forms.KeyEventArgs e) + { + //Make terminal appear + if (e.KeyCode == Keys.T && e.Control) + { + API.CreateForm(new Terminal(), API.CurrentSave.TerminalName, Properties.Resources.iconTerminal); + } + + //Movable Windows + if (API.Upgrades["movablewindows"] == true) + { + if (e.KeyCode == Keys.A && e.Control) + { + e.Handled = true; + this.Location = new Point(this.Location.X - 30, this.Location.Y); + } + if (e.KeyCode == Keys.D && e.Control) + { + e.Handled = true; + this.Location = new Point(this.Location.X + 30, this.Location.Y); + } + if (e.KeyCode == Keys.W && e.Control) + { + e.Handled = true; + this.Location = new Point(this.Location.X, this.Location.Y - 30); + } + if (e.KeyCode == Keys.S && e.Control) + { + e.Handled = true; + this.Location = new Point(this.Location.X, this.Location.Y + 30); + } + } + } + + // ERROR: Handles clauses are not supported in C# + private void titlebar_MouseDown(object sender, MouseEventArgs e) + { + // Handle Draggable Windows + if (API.Upgrades["draggablewindows"] == true) + { + if (e.Button == MouseButtons.Left) + { + titlebar.Capture = false; + lbtitletext.Capture = false; + pnlicon.Capture = false; + pgtoplcorner.Capture = false; + pgtoprcorner.Capture = false; + const int WM_NCLBUTTONDOWN = 0xa1; + const int HTCAPTION = 2; + Message msg = Message.Create(this.Handle, WM_NCLBUTTONDOWN, new IntPtr(HTCAPTION), IntPtr.Zero); + this.DefWndProc(ref msg); + } + //ShiftOSDesktop.log = //ShiftOSDesktop.log + My.Computer.Clock.LocalTime + " User dragged " + this.Name + " to " + this.Location.ToString + Environment.NewLine; + } + } + + public void setupborders() + { + if (API.Upgrades["windowborders"] == false) + { + pgleft.Hide(); + pgbottom.Hide(); + pgright.Hide(); + this.Size = new Size(this.Width - pgleft.Width - pgright.Width, this.Height - pgbottom.Height); + } + } + + // ERROR: Handles clauses are not supported in C# + private void closebutton_Click(object sender, EventArgs e) + { + this.Close(); + } + + // ERROR: Handles clauses are not supported in C# + private void closebutton_MouseEnter(object sender, EventArgs e) + { + closebutton.BackgroundImage = API.CurrentSkinImages.closebtnhover; + } + + // ERROR: Handles clauses are not supported in C# + private void closebutton_MouseLeave(object sender, EventArgs e) + { + closebutton.BackgroundImage = API.CurrentSkinImages.closebtn; + } + + // ERROR: Handles clauses are not supported in C# + private void closebutton_MouseDown(object sender, EventArgs e) + { + closebutton.BackgroundImage = API.CurrentSkinImages.closebtnclick; + } + + public Point OldLoc = new Point(0, 0); + public bool Minimized = false; + + // ERROR: Handles clauses are not supported in C# + private void minimizebutton_Click(object sender, EventArgs e) + { + OldLoc = this.Location; + Minimized = true; + this.Location = new Point(99999, 99999); + } + + // ERROR: Handles clauses are not supported in C# + private void rollupbutton_Click(object sender, EventArgs e) + { + rollupanddown(); + } + + // ERROR: Handles clauses are not supported in C# + private void rollupbutton_MouseEnter(object sender, EventArgs e) + { + rollupbutton.BackgroundImage = API.CurrentSkinImages.rollbtnhover; + } + + // ERROR: Handles clauses are not supported in C# + private void rollupbutton_MouseLeave(object sender, EventArgs e) + { + rollupbutton.BackgroundImage = API.CurrentSkinImages.rollbtn; + } + + // ERROR: Handles clauses are not supported in C# + private void rollupbutton_MouseDown(object sender, EventArgs e) + { + rollupbutton.BackgroundImage = API.CurrentSkinImages.rollbtnclick; + } + + + public void setuptitlebar() + { + setupborders(); + + if (this.Height == this.titlebar.Height) { pgleft.Show(); pgbottom.Show(); pgright.Show(); this.Height = rolldownsize; needtorollback = true; } + pgleft.Width = API.CurrentSkin.borderwidth; + pgright.Width = API.CurrentSkin.borderwidth; + pgbottom.Height = API.CurrentSkin.borderwidth; + titlebar.Height = API.CurrentSkin.titlebarheight; + + if (justopened == true) + { + this.Size = new Size(420, 510); + //put the default size of your window here + this.Size = new Size(this.Width, this.Height + API.CurrentSkin.titlebarheight - 30); + this.Size = new Size(this.Width + API.CurrentSkin.borderwidth + API.CurrentSkin.borderwidth, this.Height + API.CurrentSkin.borderwidth); + oldbordersize = API.CurrentSkin.borderwidth; + oldtitlebarheight = API.CurrentSkin.titlebarheight; + justopened = false; + } + else { + if (this.Visible == true) + { + this.Size = new Size(this.Width - (2 * oldbordersize) + (2 * API.CurrentSkin.borderwidth), (this.Height - oldtitlebarheight - oldbordersize) + API.CurrentSkin.titlebarheight + API.CurrentSkin.borderwidth); + oldbordersize = API.CurrentSkin.borderwidth; + oldtitlebarheight = API.CurrentSkin.titlebarheight; + rolldownsize = this.Height; + if (needtorollback == true) { this.Height = titlebar.Height; pgleft.Hide(); pgbottom.Hide(); pgright.Hide(); } + } + } + + if (API.CurrentSkin.enablecorners == true) + { + pgtoplcorner.Show(); + pgtoprcorner.Show(); + pgtoprcorner.Width = API.CurrentSkin.titlebarcornerwidth; + pgtoplcorner.Width = API.CurrentSkin.titlebarcornerwidth; + } + else { + pgtoplcorner.Hide(); + pgtoprcorner.Hide(); + } + + if (API.Upgrades["titlebar"] == false) + { + titlebar.Hide(); + this.Size = new Size(this.Width, this.Size.Height - titlebar.Height); + } + + if (API.Upgrades["titletext"] == false) + { + lbtitletext.Hide(); + } + else { + lbtitletext.Font = new Font(API.CurrentSkin.titletextfontfamily, API.CurrentSkin.titletextfontsize, API.CurrentSkin.titletextfontstyle, GraphicsUnit.Point); + lbtitletext.Text = this.AppName; + //Remember to change to name of program!!!! + lbtitletext.Show(); + } + + if (API.Upgrades["closebutton"] == false) + { + closebutton.Hide(); + } + else { + closebutton.BackColor = API.CurrentSkin.closebtncolour; + closebutton.Size = API.CurrentSkin.closebtnsize; + closebutton.Show(); + } + + if (API.Upgrades["rollupbutton"] == false) + { + rollupbutton.Hide(); + } + else { + rollupbutton.BackColor = API.CurrentSkin.rollbtncolour; + rollupbutton.Size = API.CurrentSkin.rollbtnsize; + rollupbutton.Show(); + } + + if (API.Upgrades["minimizebutton"] == false) + { + minimizebutton.Hide(); + } + else { + minimizebutton.BackColor = API.CurrentSkin.minbtncolour; + minimizebutton.Size = API.CurrentSkin.minbtnsize; + minimizebutton.Show(); + } + + if (API.Upgrades["windowborders"] == true) + { + closebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.closebtnfromside - closebutton.Size.Width, API.CurrentSkin.closebtnfromtop); + rollupbutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.rollbtnfromside - rollupbutton.Size.Width, API.CurrentSkin.rollbtnfromtop); + minimizebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.minbtnfromside - minimizebutton.Size.Width, API.CurrentSkin.minbtnfromtop); + switch (API.CurrentSkin.titletextpos) + { + case "Left": + lbtitletext.Location = new Point(API.CurrentSkin.titletextfromside, API.CurrentSkin.titletextfromtop); + break; + case "Centre": + lbtitletext.Location = new Point((titlebar.Width / 2) - lbtitletext.Width / 2, API.CurrentSkin.titletextfromtop); + break; + } + lbtitletext.ForeColor = API.CurrentSkin.titletextcolour; + } + else { + closebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, API.CurrentSkin.closebtnfromtop); + rollupbutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, API.CurrentSkin.rollbtnfromtop); + minimizebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, API.CurrentSkin.minbtnfromtop); + switch (API.CurrentSkin.titletextpos) + { + case "Left": + lbtitletext.Location = new Point(API.CurrentSkin.titletextfromside + pgtoplcorner.Width, API.CurrentSkin.titletextfromtop); + break; + case "Centre": + lbtitletext.Location = new Point((titlebar.Width / 2) - lbtitletext.Width / 2, API.CurrentSkin.titletextfromtop); + break; + } + lbtitletext.ForeColor = API.CurrentSkin.titletextcolour; + } + + //Change when Icon skinning complete + // Change to program's icon + if (API.Upgrades["appicons"] == true) + { + pnlicon.Visible = true; + pnlicon.Location = new Point(API.CurrentSkin.titleiconfromside, API.CurrentSkin.titleiconfromtop); + pnlicon.Size = new Size(API.CurrentSkin.titlebariconsize, API.CurrentSkin.titlebariconsize); + pnlicon.Image = this.AppIcon; + //Replace with the correct icon for the program. + } + + } + + public void rollupanddown() + { + if (this.Height == this.titlebar.Height) + { + pgleft.Show(); + pgbottom.Show(); + pgright.Show(); + this.Height = rolldownsize; + this.MinimumSize = new Size(minimumsizewidth, minimumsizeheight); + } + else { + this.MinimumSize = new Size(0, 0); + pgleft.Hide(); + pgbottom.Hide(); + pgright.Hide(); + rolldownsize = this.Height; + this.Height = this.titlebar.Height; + } + } + + public void resettitlebar() + { + if (API.Upgrades["windowborders"] == true) + { + closebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.closebtnfromside - closebutton.Size.Width, API.CurrentSkin.closebtnfromtop); + rollupbutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.rollbtnfromside - rollupbutton.Size.Width, API.CurrentSkin.rollbtnfromtop); + minimizebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.minbtnfromside - minimizebutton.Size.Width, API.CurrentSkin.minbtnfromtop); + switch (API.CurrentSkin.titletextpos) + { + case "Left": + lbtitletext.Location = new Point(API.CurrentSkin.titletextfromside, API.CurrentSkin.titletextfromtop); + break; + case "Centre": + lbtitletext.Location = new Point((titlebar.Width / 2) - lbtitletext.Width / 2, API.CurrentSkin.titletextfromtop); + break; + } + lbtitletext.ForeColor = API.CurrentSkin.titletextcolour; + } + else { + closebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, API.CurrentSkin.closebtnfromtop); + rollupbutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, API.CurrentSkin.rollbtnfromtop); + minimizebutton.Location = new Point(titlebar.Size.Width - API.CurrentSkin.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, API.CurrentSkin.minbtnfromtop); + switch (API.CurrentSkin.titletextpos) + { + case "Left": + lbtitletext.Location = new Point(API.CurrentSkin.titletextfromside + pgtoplcorner.Width, API.CurrentSkin.titletextfromtop); + break; + case "Centre": + lbtitletext.Location = new Point((titlebar.Width / 2) - lbtitletext.Width / 2, API.CurrentSkin.titletextfromtop); + break; + } + lbtitletext.ForeColor = API.CurrentSkin.titletextcolour; + } + } + + // ERROR: Handles clauses are not supported in C# + private void pullside_Tick(System.Object sender, System.EventArgs e) + { + this.Width = Cursor.Position.X - this.Location.X; + resettitlebar(); + } + + // ERROR: Handles clauses are not supported in C# + private void pullbottom_Tick(System.Object sender, System.EventArgs e) + { + this.Height = Cursor.Position.Y - this.Location.Y; + resettitlebar(); + } + + // ERROR: Handles clauses are not supported in C# + private void pullbs_Tick(object sender, System.EventArgs e) + { + this.Width = Cursor.Position.X - this.Location.X; + this.Height = Cursor.Position.Y - this.Location.Y; + resettitlebar(); + } + + //delete this for non-resizable windows + // ERROR: Handles clauses are not supported in C# + private void Rightpull_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + pullside.Start(); + } + } + + // ERROR: Handles clauses are not supported in C# + private void RightCursorOn_MouseDown(object sender, System.EventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + Cursor = Cursors.SizeWE; + } + } + + // ERROR: Handles clauses are not supported in C# + private void bottomCursorOn_MouseDown(object sender, System.EventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + Cursor = Cursors.SizeNS; + } + } + + // ERROR: Handles clauses are not supported in C# + private void CornerCursorOn_MouseDown(object sender, System.EventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + Cursor = Cursors.SizeNWSE; + } + } + + // ERROR: Handles clauses are not supported in C# + private void SizeCursoroff_MouseDown(object sender, System.EventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + Cursor = Cursors.Default; + } + } + + // ERROR: Handles clauses are not supported in C# + private void rightpull_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + pullside.Stop(); + } + } + + // ERROR: Handles clauses are not supported in C# + private void bottompull_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + pullbottom.Start(); + } + } + + // ERROR: Handles clauses are not supported in C# + private void buttompull_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + pullbottom.Stop(); + } + } + + // ERROR: Handles clauses are not supported in C# + private void bspull_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + pullbs.Start(); + } + } + + // ERROR: Handles clauses are not supported in C# + private void bspull_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (API.Upgrades["resizablewindows"] == true) + { + pullbs.Stop(); + } + } + + public void setskin() + { + //disposals + closebutton.BackgroundImage = null; + titlebar.BackgroundImage = null; + rollupbutton.BackgroundImage = null; + pgtoplcorner.BackgroundImage = null; + pgtoprcorner.BackgroundImage = null; + minimizebutton.BackgroundImage = null; + //apply new skin + if (API.CurrentSkinImages.closebtn == null) + closebutton.BackColor = API.CurrentSkin.closebtncolour; + else + closebutton.BackgroundImage = API.CurrentSkinImages.closebtn; + closebutton.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.closebtnlayout; + if (API.CurrentSkinImages.titlebar == null) + titlebar.BackColor = API.CurrentSkin.titlebarcolour; + else + titlebar.BackgroundImage = API.CurrentSkinImages.titlebar; + titlebar.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.titlebarlayout; + if (API.CurrentSkinImages.rollbtn == null) + rollupbutton.BackColor = API.CurrentSkin.rollbtncolour; + else + rollupbutton.BackgroundImage = API.CurrentSkinImages.rollbtn; + rollupbutton.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.rollbtnlayout; + if (API.CurrentSkinImages.leftcorner == null) + pgtoplcorner.BackColor = API.CurrentSkin.leftcornercolour; + else + pgtoplcorner.BackgroundImage = API.CurrentSkinImages.leftcorner; + pgtoplcorner.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.leftcornerlayout; + if (API.CurrentSkinImages.rightcorner == null) + pgtoprcorner.BackColor = API.CurrentSkin.rightcornercolour; + else + pgtoprcorner.BackgroundImage = API.CurrentSkinImages.rightcorner; + pgtoprcorner.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.rightcornerlayout; + if (API.CurrentSkinImages.minbtn == null) + minimizebutton.BackColor = API.CurrentSkin.minbtncolour; + else + minimizebutton.BackgroundImage = API.CurrentSkinImages.minbtn; + minimizebutton.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.minbtnlayout; + if (API.CurrentSkinImages.borderleft == null) + pgleft.BackColor = API.CurrentSkin.borderleftcolour; + else + pgleft.BackgroundImage = API.CurrentSkinImages.borderleft; + pgleft.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.borderleftlayout; + if (API.CurrentSkinImages.borderright == null) + pgright.BackColor = API.CurrentSkin.borderrightcolour; + else + pgright.BackgroundImage = API.CurrentSkinImages.borderright; + pgleft.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.borderrightlayout; + if (API.CurrentSkinImages.borderbottom == null) + pgbottom.BackColor = API.CurrentSkin.borderbottomcolour; + else + pgbottom.BackgroundImage = API.CurrentSkinImages.borderbottom; + pgbottom.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.borderbottomlayout; + if (API.CurrentSkin.enablebordercorners == true) + { + if (API.CurrentSkinImages.bottomleftcorner == null) + pgbottomlcorner.BackColor = API.CurrentSkin.bottomleftcornercolour; + else + pgbottomlcorner.BackgroundImage = API.CurrentSkinImages.bottomleftcorner; + pgbottomlcorner.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.bottomleftcornerlayout; + if (API.CurrentSkinImages.bottomrightcorner == null) + pgbottomrcorner.BackColor = API.CurrentSkin.bottomrightcornercolour; + else + pgbottomrcorner.BackgroundImage = API.CurrentSkinImages.bottomrightcorner; + pgbottomrcorner.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.bottomrightcornerlayout; + } + else { + pgbottomlcorner.BackColor = API.CurrentSkin.borderrightcolour; + pgbottomrcorner.BackColor = API.CurrentSkin.borderrightcolour; + pgbottomlcorner.BackgroundImage = null; + pgbottomrcorner.BackgroundImage = null; + } + + //set bottom border corner size + pgbottomlcorner.Size = new Size(API.CurrentSkin.borderwidth, API.CurrentSkin.borderwidth); + pgbottomrcorner.Size = new Size(API.CurrentSkin.borderwidth, API.CurrentSkin.borderwidth); + pgbottomlcorner.Location = new Point(0, this.Height - API.CurrentSkin.borderwidth); + pgbottomrcorner.Location = new Point(this.Width, this.Height - API.CurrentSkin.borderwidth); + + this.TransparencyKey = Skinning.Utilities.globaltransparencycolour; + } + + // ERROR: Handles clauses are not supported in C# + private void Clock_FormClosing(object sender, FormClosingEventArgs e) + { + this.Close(); + } + } + #endregion +} |
