private void EditorRemoved(object sender, EditorEventArgs e) { var form = EditorForms[e.Editor]; EditorForms.Remove(e.Editor); FormEditors.Remove(form); }
public void AddEditor(IEditor editor) { if (EditorForms.TryGetValue(editor, out var form)) { form.Focus(); return; } if (!TryGetCreator(editor, out var createEditorForm)) { throw new ArgumentException(); } form = createEditorForm(editor); if (form is null) { throw new InvalidOperationException(); } EditorForms[editor] = form; FormEditors[form] = editor; form.FormClosed += FormClosed; form.GotFocus += GotFocus; OnEditorFormAdded(new EditorFormEventArgs(form, editor)); }