/// <summary> /// Execute closing function and persist session data to be reloaded on next restart /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnClosed(AppViewModel appVM, IViewSize win) { try { var settings = GetService <ISettingsManager>(); ViewPosSizeModel viewSz; settings.SessionData.WindowPosSz.TryGetValue(settings.SessionData.MainWindowName , out viewSz); viewSz.GetWindowsState(win); _appVM.GetSessionData(settings.SessionData); // Save/initialize program options that determine global programm behaviour appVM.AppLifeCycle.SaveConfigOnAppClosed(win); } catch (Exception exp) { Debug.WriteLine(exp); //// var msg = GetService<IMessageBoxService>(); //// //// msg.Show(exp.ToString(), "Unexpected Error", //// MsgBox.MsgBoxButtons.OK, MsgBox.MsgBoxImage.Error); } }
/// <summary> /// COnstruct MainWindow an attach datacontext to it. /// </summary> /// <param name="workSpace"></param> /// <param name="win"></param> private void ConstructMainWindowSession(AppViewModel workSpace, IViewSize win, ISettingsManager settings) { try { Application.Current.MainWindow = _mainWindow; _mainWindow.DataContext = _appVM; // Establish command binding to accept user input via commanding framework // workSpace.InitCommandBinding(win); settings.SessionData.WindowPosSz.TryGetValue(settings.SessionData.MainWindowName , out ViewPosSizeModel viewSz); viewSz.SetWindowsState(win); string lastActiveFile = settings.SessionData.LastActiveSolution; MainWindow mainWin = win as MainWindow; } catch (Exception exp) { Debug.WriteLine(exp); } }
/// <summary> /// Save application settings when the application is being closed down /// </summary> public void SaveConfigOnAppClosed(IViewSize win) { /*** * try * { * Models.AppCore.CreateAppDataFolder(); * * // Save App view model fields * var settings = base.GetService<ISettingsManager>(); * * //// settings.SessionData.LastActiveSourceFile = this.mStringDiff.SourceFilePath; * //// settings.SessionData.LastActiveTargetFile = this.mStringDiff.TargetFilePath; * * // Save program options only if there are un-saved changes that need persistence * // This can be caused when WPF theme was changed or something else * // but should normally not occur as often as saving session data * if (settings.Options.IsDirty == true) * { * ////settings.SaveOptions(AppCore.DirFileAppSettingsData, settings.SettingData); * settings.Options.WriteXML(DirFileAppSettingsData); * } * * settings.SaveSessionData(Models.AppCore.DirFileAppSessionData, settings.SessionData); * } * catch (Exception exp) * { * var msg = GetService<IMessageBoxService>(); * msg.Show(exp, "Unexpected Error" // Local.Strings.STR_UnexpectedError_Caption * , MsgBoxButtons.OK, MsgBoxImage.Error); * } ***/ }
/// <summary> /// Save application settings when the application is being closed down /// </summary> public void SaveConfigOnAppClosed(IViewSize win) { try { Core.CreateAppDataFolder(); //// settings.SessionData.LastActiveSourceFile = this.mStringDiff.SourceFilePath; //// settings.SessionData.LastActiveTargetFile = this.mStringDiff.TargetFilePath; // Save program options only if there are un-saved changes that need persistence // This can be caused when WPF theme was changed or something else // but should normally not occur as often as saving session data if (_SettingsManager.Options.IsDirty == true) { ////settings.SaveOptions(AppCore.DirFileAppSettingsData, settings.SettingData); _SettingsManager.Options.WriteXML(DirFileAppSettingsData); } _SettingsManager.SaveSessionData(Core.DirFileAppSessionData, _SettingsManager.SessionData); } catch (Exception exp) { logger.Error(exp); } }
/// <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> /// 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; }
/// <summary> /// Sets a Windows positions according to the data /// saved in this object. /// </summary> /// <param name="view"></param> public void SetWindowsState(IViewSize view) { if (view == null) { return; } view.Left = this.X; view.Top = this.Y; view.Width = this.Width; view.Height = this.Height; view.WindowState = (this.IsMaximized == true ? WindowState.Maximized : WindowState.Normal); }
/// <summary> /// Sets a Windows positions according to the data /// saved in this object. /// </summary> /// <param name="view"></param> public void GetWindowsState(IViewSize view) { if (view == null) { return; } // Persist window position, width and height from this session this.X = view.Left; this.Y = view.Top; this.Width = view.Width; this.Height = view.Height; this.IsMaximized = (view.WindowState == WindowState.Maximized ? true : false); }
/// <summary> /// Execute closing function and persist session data to be reloaded on next restart /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnClosed(AppViewModel appVM, IViewSize win) { try { var settings = GetService <ISettingsManager>(); settings.SessionData.WindowPosSz.TryGetValue(settings.SessionData.MainWindowName , out ViewPosSizeModel viewSz); viewSz.GetWindowsState(win); _appVM.GetSessionData(settings.SessionData); // Save/initialize program options that determine global programm behaviour appVM.AppLifeCycle.SaveConfigOnAppClosed(win); } catch (Exception exp) { Debug.WriteLine(exp); } }
/// <summary> /// COnstruct MainWindow an attach datacontext to it. /// </summary> /// <param name="workSpace"></param> /// <param name="win"></param> private void ConstructMainWindowSession(AppViewModel workSpace, IViewSize win) { try { var settings = GetService <ISettingsManager>(); // Establish command binding to accept user input via commanding framework // workSpace.InitCommandBinding(win); ViewPosSizeModel viewSz; settings.SessionData.WindowPosSz.TryGetValue(settings.SessionData.MainWindowName , out viewSz); viewSz.SetWindowsState(win); string lastActiveFile = settings.SessionData.LastActiveSolution; MainWindow mainWin = win as MainWindow; } catch (Exception exp) { Logger.Error(exp); } }
public ViewPort(IViewSize win, IGame2DProperties obj, Size size, Point location) : this(win, size, location) { this.Location = new Vector2F(obj.Location.X, obj.Location.Y); }
public ViewPort(IViewSize win, Size size, Point location) : this(size, location) { win.SetSize(size); }