Includes classes for interpreting your application data to recognize link and group-membership relationships.
There are three primary kinds of models: Generic TreeModel, Generic GraphModel, and Generic GraphLinksModel. All implement the IDiagramModel interface and some other more specialized interfaces.
This namespace also includes the UndoManager class.
Class | Description | |
---|---|---|
DiagramModel | The common base class for all predefined model classes. | |
GraphLinksModel<NodeType,NodeKey,PortKey,LinkType> | The generic implementation of a diagram model consisting of nodes and subgraphs, with any number of explicit link data representing links between any two nodes. | |
GraphLinksModel.CopyDictionary<NodeType,NodeKey,PortKey,LinkType> | This nested class is used during copying to hold a mapping of original nodes to newly copied nodes and original links to newly copied links. | |
GraphLinksModel.DataCollection<NodeType,NodeKey,PortKey,LinkType> | This nested class is a serializable collection of node data and link data. | |
GraphLinksModelLinkData<NodeKey,PortKey> | A simple representation of link data that supports property change notification, copying, and undo via the INotifyPropertyChanged , ICloneable , and IChangeDataValue interfaces. | |
GraphLinksModelNodeData<NodeKey> | A simple representation of node data for GraphLinksModel<NodeType,NodeKey,PortKey,LinkType> that supports property change notification, copying, and undo via the INotifyPropertyChanged , ICloneable , and IChangeDataValue interfaces. | |
GraphModel<NodeType,NodeKey> | The generic implementation of a diagram model consisting of nodes and subgraphs, with at most one link between any two nodes in one direction. | |
GraphModel.CopyDictionary<NodeType,NodeKey> | This nested class is used during copying to hold a mapping of original nodes to newly copied nodes. | |
GraphModel.DataCollection<NodeType,NodeKey> | This nested class is a serializable collection of node data. | |
GraphModelNodeData<NodeKey> | A simple representation of node data for GraphModel<NodeType,NodeKey> that supports property change notification, copying, and undo via the INotifyPropertyChanged , ICloneable , and IChangeDataValue interfaces. | |
ModelChangedEventArgs | This class represents a change to a model. | |
PartsModel | A model where the data are FrameworkElements: Northwoods.GoXam.Node and Northwoods.GoXam.Link. | |
TreeModel<NodeType,NodeKey> | The generic implementation of a diagram model consisting of only nodes, with implicit links between a single parent and zero or more children. | |
TreeModel.CopyDictionary<NodeType,NodeKey> | This nested class is used during copying to hold a mapping of original nodes to newly copied nodes. | |
TreeModel.DataCollection<NodeType,NodeKey> | This nested class is a serializable collection of node data. | |
TreeModelNodeData<NodeKey> | A simple representation of node data for TreeModel<NodeType,NodeKey> that supports property change notification, copying, and undo via the INotifyPropertyChanged , ICloneable , and IChangeDataValue interfaces. | |
UndoManager | The UndoManager class observes and records model changes and supports undo and redo operations. | |
UndoManager.CompoundEdit | This class is used to hold a list of ModelChangedEventArgs that should be undone or redone all together because it represents the side-effects of a single logical operation, including user-driven events. | |
UniversalGraphLinksModel | This is a universal model, handling all kinds of datatypes representing nodes, node keys, and links. | |
UniversalGraphModel | This is a universal model, handling all kinds of datatypes representing nodes. | |
UniversalLinkData | This simple class is handy with many GraphLinksModel<NodeType,NodeKey,PortKey,LinkType>s or with UniversalGraphLinksModel, so that for many cases you do not need to define your own link data class inheriting from GraphLinksModelLinkData<NodeKey,PortKey>. | |
UniversalTreeModel | This is a universal model, handling all kinds of datatypes representing nodes. | |
XHelper | This static class holds various methods that are useful in saving and loading model data to and from Linq for XML XElement s. |
Interface | Description | |
---|---|---|
IChangeDataValue | Implement this interface on your node data or link data classes to support undo and redo functionality. | |
IConnectedModel | A model that supports directed link relationships between nodes, with the relationship information stored on each node as collections of connected nodes. | |
ICopyDictionary | A dictionary of data representing a set of nodes and links and their corresponding copies, used during the copying process. | |
IDataCollection | A serializable collection of data representing a set of nodes and links. | |
IDiagramModel | All diagram models implement this interface or an interface that inherits from this interface. | |
IGroupsModel | A model that supports a grouping relationship between nodes, with the relationship information stored on each node as collections of related nodes. | |
ILinksModel | A model that supports directed link relationships between nodes, with the relationship information stored in separate link data structures. | |
ISubGraphLinksModel | This is a ISubGraphModel that also supports link data (ILinksModel). | |
ISubGraphModel | The subgraph model is a kind of grouping model that limits each node (including subgraphs) to be a member of at most one group. | |
ITreeModel | This kind of diagram model only supports tree-structured relationships. | |
IUndoableEdit | This interface specifies how a document change (an edit) can be managed by the UndoManager. |
Enumeration | Description | |
---|---|---|
ModelChange | An enumeration of the predefined ways in which models may be changed. | |
ValidCycle | Specifies what kinds of cycles may be made by a valid link from a port. | |
ValidUnconnectedLinks | This enumeration controls whether link data must be connected at both "ends" to nodes. |