public sealed class NodePortEditProviderHow the editing pipeline reaches a node's inline port values.
Remarks
Doc 36 § P1's second IEditProvider, and the first one outside the inspector. Terrain, foliage and blockout edit ordinary C# objects, which InspectorEditProvider already describes; a graph node is the case that genuinely cannot be described that way, because its editable members are decided by the node type a saved graph names by string and not by the CLR type every node shares.
⚠ One provider per node type, not one per process. EditTarget resolves members by CLR type, and every node is a GraphNode — so a provider that answered for GraphNode in general would have to answer with some node type's ports and would be wrong for all the others. For builds one against the definition of the type actually selected, which also means a selection of several nodes is only legitimate when they are all that type: see Describes.
⚠ A connected input is not a member. A port fed by an edge takes its value from that edge, and a row showing a number the compiler ignores is how somebody comes to spend an afternoon changing a field that does nothing. The wiring is therefore part of what a provider is built against, and a graph whose edges changed needs a new one.
Fields and properties (3)
public NodeTypeDefinition DefinitionThe node type whose ports this describes.
public InspectorDescriptor DescriptorThe description an inspector draws rows from.
public IReadOnlyList<PortDefinition> ConnectedThe input ports that are fed by an edge, in declaration order.
Methods (4)
public static NodePortEditProvider For(NodeGraphModel graph, NodeTypeDefinition definition, NodeId node, bool readOnly = false)Describes one node type's editable ports, as they stand in one graph.
public bool Describes(NodeGraphModel graph, IReadOnlyList<GraphNode> nodes)Whether a selection is one this provider can honestly describe.
public IReadOnlyList<IEditMember> MembersOf(Type type)The members of a type, in the order they should be shown.
public bool TryResolve(Type type, string path, out IEditMember? member)Finds one member of a type by name.
Used by (6)
- GraphDeclarationTestsVixen.Editor.NodeGraph.Tests
- InspectingVixen.Editor.NodeGraph
- NodeInspectorVixen.Editor.NodeGraph
- NodeInspectorDumpTestsVixen.Editor.NodeGraph.Tests
- NodePortProviderTestsVixen.Editor.NodeGraph.Tests
- SealedControlTestsVixen.Editor.NodeGraph.Tests