public virtual bool Close(IWorkspaceController workspaceController, bool force) { if (force || !IsDirty) { return(true); } var userResponse = MessageBox.Show($"Save changes to {_workspaceContainer?.WorkspaceTitle ?? Path.GetFileName(_filename)}?", "Confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (userResponse == DialogResult.No) { return(true); } else if (userResponse == DialogResult.Cancel) { return(false); } else { return(Save(workspaceController)); } }
public virtual bool Save(IWorkspaceController workspaceController) { if (string.IsNullOrWhiteSpace(_filename)) { var requestWriterArgs = new RequestNewFileArgs(); workspaceController.RequestNewFile(requestWriterArgs); if (requestWriterArgs.Cancel) { return(false); } if (requestWriterArgs.Filename == null) { throw new ApplicationException("Filename returned by Controller is null"); } _filename = requestWriterArgs.Filename; } var workspaceModel = buildWorkspaceModel(); XmlSerializer serializer = new XmlSerializer(typeof(Workspace)); using (StreamWriter sw = new StreamWriter(_filename)) { serializer.Serialize(sw, workspaceModel); sw.Close(); } IsDirty = false; OnDirtyChanged?.Invoke(this, new DirtyChangedEventArgs(false)); RaiseOnSavedEvent(_filename); return(true); }
public AppManager( IMainPageHelper mainPageHelper, INavigationController navigationController, IWorkspaceController workspaceController, IUIManager <TPage> uIManager) { MainPageHelper = mainPageHelper; NavigationController = navigationController; WorkspaceController = workspaceController; UIManager = uIManager; }
public AtomController(IPublisher publisher) : base(publisher) { _userWorkspaceController = new UserWorkspaceController(publisher); }
public override bool Save(IWorkspaceController workspaceController) { DidSaveWorkspace = true; RaiseOnSavedEvent(Filename); return(true); }
public override bool Close(IWorkspaceController workspaceController, bool force) { WasClosed = force || !IsDirty; return(WasClosed); }