Example #1
0
        private void EditorRemoved(object sender, EditorEventArgs e)
        {
            var form = EditorForms[e.Editor];

            EditorForms.Remove(e.Editor);
            FormEditors.Remove(form);
        }
Example #2
0
        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));
        }