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); }
private void swapTabNames(TabPage tab1, TabPage tab2) { var tab1Text = tab1.Text; tab1.Text = tab2.Text; tab2.Text = tab1Text; OnDirtyChanged?.Invoke(this, new DirtyChangedEventArgs(true)); }
private void onDirty(bool isDirty) { IsDirty = isDirty; OnDirtyChanged?.Invoke(this, new DirtyChangedEventArgs(isDirty)); }