Пример #1
0
        /// <summary>
        /// Workspacről fájl töltt be, ez ugyan az mint az OpenFileDialog-al nyitotta volna meg.
        /// Itt csak be kell tölteni a fájlt és megjeleníteni a TraceView-t
        /// </summary>
        private void WorkspaceService_OpenProjectChanged(object sender, EventArgs e)
        {
#if TRACE
            AppDiagService.WriteLine(this.GetType().Namespace + "." + this.GetType().Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()" + " : " + sender.ToString());
#endif
            if (_storage.IsChanged)
            { /*Betöltött project változott*/
                var user = new AppModules.Main.View.SaveMessageBox().Show(_storage.FileName + AppConstants.FileExtension);
                if (user == UserAction.Yes)
                {
                    /*Régi project változott => mensd és mutasd a felületet és tölsd be az újat*/
                    new AppModules.Main.Commands.SaveCommand(_storage).PerformClick();
                    ShowTraceInMainView();
                    var workspaceItems = sender as AppModules.Workspace.Model.IWorkspaceCollection;
                    if (workspaceItems != null)
                    {
                        _storage.Load(workspaceItems.OpenedItem.ItemFilePath);
                    }
                }
                if (user == UserAction.No)
                {
                    /*Régi project változott => NE mensd és mutasd a felületet és tölsd be az újat*/
                    _storage.DropChanged();
                    ShowTraceInMainView();
                    var workspaceItems = sender as AppModules.Workspace.Model.IWorkspaceCollection;
                    if (workspaceItems != null)
                    {
                        _storage.Load(workspaceItems.OpenedItem.ItemFilePath);
                    }
                }
                else if (user == UserAction.Cancel)
                {
                    /*Ne csinálj semmit*/
                }
            }
            else
            {
                try
                {
                    /*A régi projectben nincs változás betölhető az új project*/
                    ShowTraceInMainView();
                    var workspaceItems = sender as AppModules.Workspace.Model.IWorkspaceCollection;
                    if (workspaceItems != null)
                    {
                        _storage.Load(workspaceItems.OpenedItem.ItemFilePath);
                    }
                    /*Sikerült betölteni*/
                }
                catch
                {
                    /*Nem sikerült az utolsó projectet betölteni, ezért most egy Untitled project Indul*/
                    _storage.New(_adapterService.GetDefaultDeviceName, _adapterService.GetDefaultBaudrate);
                    ShowTraceInMainView();
                    /*Tovább dobja a hibaüzenete*/
                    throw;
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Az alaklamzás bezárását kérte a felhasználó, ez még megszakítható
        /// </summary>
        void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
#if TRACE
            AppDiagService.WriteLine(this.GetType().Namespace + "." + this.GetType().Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()");
#endif
            if (_storage.IsChanged)
            {
                var user = new AppModules.Main.View.SaveMessageBox().Show(_storage.FileName + AppConstants.FileExtension);
                if (user == UserAction.Yes)
                {
                    e.Cancel = true;
                    new AppModules.Main.Commands.SaveCommand(_storage).PerformClick();
                    _mainForm.Close();
                }
                else if (user == UserAction.Cancel)
                {
                    e.Cancel = true;
                }
            }
        }