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);
        }
Beispiel #2
0
        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));
 }