Table of Contents

Namespace NanoByte.StructureEditor

UI-agnostic base logic for building split-screen editors for data structures.

Classes

ContainerDescriptionExtensions

Provides extensions methods for IContainerDescription<TContainer>.

ContainerDescription<TContainer>

Describes an object that contains nodes (properties and/or lists). Provides information about how to edit this content.

ListElementNodeCandidate<TList, TElement>

Describes a potential new node in the structure that points to an element in the list.

ListElementNode<TContainer, TList, TElement, TEditor>

Describes a node in the structure that points to an element in the list.

Node

Describes a specific node in the structure.

NodeCandidate

Describes a potential new node in the structure.

PropertyNodeCandidate<TProperty>

Describes a potential new node in the structure that points to a property.

PropertyNode<TContainer, TProperty, TEditor>

Describes a node in the structure that points to a property.

Interfaces

IContainerDescription<TContainer>

Describes an object that contains nodes (properties and/or lists). Provides information about how to edit this content.

IListDescription<TContainer, TList>

Exposes methods for configuring a list in a ContainerDescription<TContainer> in a Fluent API style.

INodeEditor

Provides an interface to a control that edits a node in the structure.

INodeEditor<T>

Provides an interface to a control that edits a node in the structure.

IStructureEditor<T>

An editor for hierarchical structures.

ITargetContainerInject<T>

Implement this interface in addition to INodeEditor<T> in order to get the target's container injected.