Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
 /// <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);
      * }
      ***/
 }
Esempio n. 4
0
        /// <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);
            }
        }
Esempio n. 5
0
        /// <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;
            }
        }
Esempio n. 6
0
        /// <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;
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
        /// <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);
            }
        }
Esempio n. 10
0
        /// <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);
            }
        }
Esempio n. 11
0
 public ViewPort(IViewSize win, IGame2DProperties obj, Size size, Point location) : this(win, size, location)
 {
     this.Location = new Vector2F(obj.Location.X, obj.Location.Y);
 }
Esempio n. 12
0
 public ViewPort(IViewSize win, Size size, Point location) : this(size, location)
 {
     win.SetSize(size);
 }