/// <summary> /// Get an editor instance by guid /// </summary> /// <param name="guid"></param> /// <returns></returns> public static IDataNodeEditor GetEditor(Guid guid) { IDataNodeEditor ret = null; if (_editors.ContainsKey(guid)) { ret = (IDataNodeEditor)Activator.CreateInstance(_editors[guid]); } return(ret); }
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; } }
/// <summary> /// Get an editor instance. /// </summary> /// <param name="node">The datanode to edit</param> /// <returns>The editor instance, or null on error</returns> public static IDataNodeEditor GetEditor(DataNode node) { IDataNodeEditor ret = GetEditor(node.GetDisplayClass()); return(ret); }