private void SetupNode() { if (_node != null) { IDataNodeEditor editor = null; Guid displayClass = _node.GetDisplayClass(); if (_editors.ContainsKey(displayClass)) { editor = _editors[displayClass]; } else if (DataNodeEditorManager.HasEditor(_node)) { // Try and create an editor editor = DataNodeEditorManager.GetEditor(_node); AddEditor(displayClass, (Control)editor); } else if (_node is DataKey) { editor = (IDataNodeEditor)_keyEditor; } else { // Add a default editor for a value editor = (IDataNodeEditor)_valueEditor; } if (_currEditor != null) { if (_currEditor.GetType() != editor.GetType()) { _currEditor.Visible = false; } } editor.SetNode(_node, _selected, _color, _readOnly); _currEditor = (Control)editor; _currEditor.Visible = true; } }
public override void UnregisterType(Type t) { DataNodeEditorManager.UnregisterEditor(NodeClass, t); }
public override void RegisterType(Type t) { DataNodeEditorManager.RegisterEditor(this, t); }