示例#1
0
        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;
            }
        }
示例#2
0
 public override void UnregisterType(Type t)
 {
     DataNodeEditorManager.UnregisterEditor(NodeClass, t);
 }
示例#3
0
 public override void RegisterType(Type t)
 {
     DataNodeEditorManager.RegisterEditor(this, t);
 }