Table of Contents

Namespace Northwoods.Go.Models

Classes

Binding

A Binding describes how to automatically set a property on a GraphObject to a value of a property of data in the model. The target property name and the data source property name are strings. All name matching is case-sensitive.

ChangedEvent

A ChangedEvent represents a change to an object, typically a GraphObject, but also for model data, a Model<TNodeData, TNodeKey, TSharedData>, or a Diagram. The most common case is for remembering the name of a property and the before-and-after values for that property.

GraphLinksModel<TNodeData, TNodeKey, TSharedData, TLinkData, TLinkKey, TPort>

GraphLinksModels support links between nodes and grouping nodes and links into subgraphs. GraphLinksModels hold node data and link data in separate collections.

GraphLinksModel<TNodeData, TNodeKey, TSharedData, TLinkData, TLinkKey, TPort>.IncrementalGLData

Stores incremental data output from ToIncrementalData(ChangedEvent).

GraphLinksModel<TNodeData, TNodeKey, TSharedData, TLinkData, TLinkKey, TPort>.LinkData

A simple representation of link data that supports property copying via the ICloneable interface.

GraphLinksModel<TNodeData, TNodeKey, TSharedData, TLinkData, TLinkKey, TPort>.NodeData

A simple representation of node data that supports property copying via the ICloneable interface.

Model<TNodeData, TNodeKey, TSharedData>

Models hold the essential data of a diagram, describing the basic entities and their properties and relationships without specifying the appearance and behavior of the Nodes and Links and Groups that represent them visually. Models tend to hold only relatively simple data, making them easy to persist by serialization as JSON formatted text.

Model<TNodeData, TNodeKey, TSharedData>.IncrementalData

Stores incremental data output from ToIncrementalData(ChangedEvent).

Model<TNodeData, TNodeKey, TSharedData>.NodeData

A simple representation of node data that supports property copying via the ICloneable interface.

Transaction

A Transaction holds a list of ChangedEvents collected during a transaction, as the value of the read-only Changes property.

TreeModel<TNodeData, TNodeKey, TSharedData>

TreeModels support tree-structured graphs of nodes and links. Each node can have at most one "tree parent"; cycles are not permitted. The reference to the parent node's key is a property of the child node data.

TreeModel<TNodeData, TNodeKey, TSharedData>.NodeData

A simple representation of node data that supports property copying via the ICloneable interface.

UndoManager

An UndoManager observes and records model and diagram changes in transactions and supports undo/redo operations.

Interfaces

IIncrementalData

Interface for the output object of ToIncrementalData(ChangedEvent).

IModel

Interface describing a Model<TNodeData, TNodeKey, TSharedData>.

Enums

BindingMode

This enumeration specifies in which direction bindings will be evaluated. Used for Mode.

ChangeType

This enumeration specifies possible values for Change.

ModelChangeType

This enumeration specifies possible values for ModelChange.

Delegates

BackConversion

For Bindings: A side-effect-free delegate converting property values back to data property values.

SimpleConversion

For Bindings: A side-effect-free delegate converting a value.

This delegate can be provided as either the converter or back converter of a Binding.

TargetConversion

For Bindings: A side-effect-free delegate converting the data property value to the value to set the target property.