#region === Copyright (c) 2010 Pascal van der Heiden === using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using CodeImp.DoomBuilder.Windows; using System.IO; #endregion namespace CodeImp.DoomBuilder.USDF { public partial class MainForm : DelayedForm { #region ================== Constants #endregion #region ================== Variables // Position/size private Point lastposition; private Size lastsize; #endregion #region ================== Properties #endregion #region ================== Constructor / Destructor // Constructor public MainForm() { InitializeComponent(); // Load data from DIALOGUE lump MemoryStream s = General.Map.GetLumpData("DIALOGUE"); if(s != null) { } } #endregion #region ================== Methods // Called before the map is saved so we can save our data public void SaveData() { } #endregion #region ================== Events // Form loaded private void MainForm_Load(object sender, EventArgs e) { this.SuspendLayout(); this.Location = new Point(General.Settings.ReadPluginSetting("mainwindow.positionx", this.Location.X), General.Settings.ReadPluginSetting("mainwindow.positiony", this.Location.Y)); this.Size = new Size(General.Settings.ReadPluginSetting("mainwindow.sizewidth", this.Size.Width), General.Settings.ReadPluginSetting("mainwindow.sizeheight", this.Size.Height)); this.WindowState = (FormWindowState)General.Settings.ReadPluginSetting("mainwindow.windowstate", (int)FormWindowState.Normal); this.ResumeLayout(true); // Normal windowstate? if(this.WindowState == FormWindowState.Normal) { // Keep last position and size lastposition = this.Location; lastsize = this.Size; } } // Form is being closed private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { int windowstate; // Determine window state to save if(this.WindowState != FormWindowState.Minimized) windowstate = (int)this.WindowState; else windowstate = (int)FormWindowState.Normal; // Save window settings General.Settings.WritePluginSetting("mainwindow.positionx", lastposition.X); General.Settings.WritePluginSetting("mainwindow.positiony", lastposition.Y); General.Settings.WritePluginSetting("mainwindow.sizewidth", lastsize.Width); General.Settings.WritePluginSetting("mainwindow.sizeheight", lastsize.Height); General.Settings.WritePluginSetting("mainwindow.windowstate", windowstate); // Save dialog data SaveData(); } // Form resized private void MainForm_ResizeEnd(object sender, EventArgs e) { // Normal windowstate? if(this.WindowState == FormWindowState.Normal) { // Keep last position and size lastposition = this.Location; lastsize = this.Size; } } // Form moved private void MainForm_Move(object sender, EventArgs e) { // Normal windowstate? if(this.WindowState == FormWindowState.Normal) { // Keep last position and size lastposition = this.Location; lastsize = this.Size; } } #endregion } }