/// <summary> /// Method is called upon application start-up to retrieve session /// relevant information from persistance and restore them (or defaults) /// into their target objects properties. /// </summary> /// <param name="sessionData"></param> /// <param name="window"></param> public void SetSessionData(IProfile sessionData, IViewSize window) { ViewPosSizeModel winModel = null; sessionData.WindowPosSz.TryGetValue(sessionData.MainWindowName, out winModel); window.Height = winModel.Height; window.Width = winModel.Width; window.Left = winModel.X; window.Top = winModel.Y; if (winModel.IsMaximized == true) { window.WindowState = WindowState.Maximized; } else { window.WindowState = WindowState.Normal; } MRU.ReadMruFromSession(sessionData); if (SizeUnitLabel.ScreenPoints >= 6 && SizeUnitLabel.ScreenPoints <= 200) { SizeUnitLabel.ScreenPoints = sessionData.FontSizeScreenPoints; } else { SizeUnitLabel.ScreenPoints = 12; } }
/// <summary> /// Class constructor. /// </summary> public ProfilePersistable() { // Default session Data MainWindowPosSz = new ViewPosSizeModel(100, 100, 1000, 700); LastActiveSolution = LastActiveSourceFile = LastActiveTargetFile = string.Empty; }
/// <summary> /// Method is called upon application exit to store session /// relevant information in persistance and restore on next start-up. /// </summary> /// <param name="sessionData"></param> /// <param name="window"></param> public void GetSessionData(IProfile sessionData, IViewSize window) { // Store session data from actual objects ViewPosSizeModel winModel = null; sessionData.WindowPosSz.TryGetValue(sessionData.MainWindowName, out winModel); winModel.Height = window.Height; winModel.Width = window.Width; winModel.X = window.Left; winModel.Y = window.Top; if (window.WindowState == WindowState.Maximized) { winModel.IsMaximized = true; } else { winModel.IsMaximized = false; } MRU.WriteMruToSession(sessionData); sessionData.FontSizeScreenPoints = SizeUnitLabel.ScreenPoints; }