private void NewProjectOnProjectDataChanged(IProject sender, ProjectDataChangeType details) { Debug.Assert(pluginFileLock == null); Debug.Assert(sender == project); if (details != ProjectDataChangeType.WholeProject) { return; } pluginFileLock = project.RequestWriteLock(this, DisposeLock, savedDataId); txtText.Enabled = pluginFileLock != null; label1.Text = string.Format((txtText.Enabled ? (string)label1.Tag : "{0} project is not editable."), project.ShortName); try { TextReader reader = project.GetPluginData(this, savedDataId); if (reader == null) { EditText = ""; return; } using (reader) { ProjectTextData data = (ProjectTextData)dataSerializer.Deserialize(reader); EditText = string.Join(Environment.NewLine, data.Lines); textChanged = false; } } catch (Exception e) { EditText = ""; MessageBox.Show($"Unable to load the text:\n{e.Message}", ProjectTextEditorPlugin.pluginName); } }
public void ProjectDataChanged(IProject sender, ProjectDataChangeType details) { MessageBox.Show($"Project has changed: {details}"); ShowProjectInfo(); }