Пример #1
0
        /// <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);
        }
Пример #2
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;
            }
        }
Пример #3
0
        /// <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);
        }