C# Class Smrf.NodeXL.Core.ReservedMetadataKeys

Contains metadata keys used by the NodeXL system.
Some of the metadata keys defined in this class are meant for use by applications that use the NodeXL class libraries. An application can add the PerColor key to a vertex or edge to set its color, for example. Other keys are used internally by NodeXL and are of no use to applications -- LayoutBaseLayoutComplete is used internally by the NodeXL layout classes, for example.

See IMetadataProvider for information on the metadata scheme used by NodeXL.

Inheritance: Object
Show file Open project: 2014-sed-team3/term-project

Public Properties

Property Type Description
AllEdgeMetadataKeys String
AllVertexMetadataKeys String
CollapsedGroupInfo String
CollapsedInternalEdges String
CollapsedVertices String
ConnectedComponentCalculatorIndex String
ConnectedComponentCalculatorLowLink String
CustomContextMenuItems String
DraggedVerticesOriginalLocation String
EdgeDrawingHistory String
EdgeWeight String
FanMotifFanColor String
FirstChar Char
FruchtermanReingoldLayoutTagStorage String
GraphDescription String
GraphHasEdgeIntermediateCurvePoints String
GroupInfo String
GroupLayoutDrawingInfo String
IntergroupEdgesHidden String
IsSelected String
LayOutTheseVerticesOnly String
LayOutTheseVerticesWithinBounds String
LayoutBaseLayoutComplete String
LockVertexLocation String
Marked String
OriginalVertex1InEdge String
OriginalVertex2InEdge String
PerAlpha String
PerColor String
PerEdgeIntermediateCurvePoints String
PerEdgeLabel String
PerEdgeLabelFontSize String
PerEdgeLabelTextColor String
PerEdgeStyle String
PerEdgeWidth String
PerVertexImage String
PerVertexLabel String
PerVertexLabelFillColor String
PerVertexLabelFontSize String
PerVertexLabelPosition String
PerVertexRadius String
PerVertexShape String
PerVertexToolTip String
PolarLayoutCoordinates String
PreCollapsePerEdgeColor String
PreCollapsePerEdgeWidth String
SavedVisibility String
SortableLayoutAndZOrder String
SortableLayoutAndZOrderSet String
SuggestedFileNameNoExtension String
SuggestedTitle String
SugiyamaComputedRadius String
SugiyamaCurvePoints String
SugiyamaEndpoint String
SugiyamaGleeEdge String
SugiyamaGleeNode String
VertexDrawingHistory String
VertexHasVisibilityOfShow String
Visibility String

Property Details

AllEdgeMetadataKeys public static property

Key added to a graph to specify the complete set of metadata key values that may be present on the graph's edges.
When WorkbookReader.ReadWorkbook() is called with a ReadWorkbookContext.ReadAllEdgeAndVertexColumns value of true, this key gets added to the graph. The key's value is of type String[] and the array contains one string for each possible key value.

Also, GraphMLGraphAdapter.LoadGraph() adds this key to the graph to indicate which keys may have been added to the graph's edges.

public static String AllEdgeMetadataKeys
return String

AllVertexMetadataKeys public static property

Key added to a graph to specify the complete set of metadata key values that may be present on the graph's vertices.
When WorkbookReader.ReadWorkbook() is called with a ReadWorkbookContext.ReadAllEdgeAndVertexColumns value of true, this key gets added to the graph. The key's value is of type String[] and the array contains one string for each possible key value.

Also, GraphMLGraphAdapter.LoadGraph() adds this key to the graph to indicate which keys may have been added to the graph's vertices.

public static String AllVertexMetadataKeys
return String

CollapsedGroupInfo public static property

Key added to the vertex that represents a collapsed group.
The key's value is a Smrf.NodeXL.Core.GroupInfo object.

When a group of vertices is collapsed in the NodeXLControl, this key gets added to the new vertex that represents the collapsed group.

public static String CollapsedGroupInfo
return String

CollapsedInternalEdges public static property

Key added to the vertex that represents a collapsed group.
The key's value is an ICollection<IEdge>.

When a group of vertices is collapsed in the NodeXLControl, this key gets added to the new vertex that represents the collapsed group. The value contains the group's internal edges, which were all removed from the graph during the collapse operation.

public static String CollapsedInternalEdges
return String

CollapsedVertices public static property

Key added to the vertex that represents a collapsed group.
The key's value is an ICollection<IVertex>.

When a group of vertices is collapsed in the NodeXLControl, this key gets added to the new vertex that represents the collapsed group. The value contains the group's vertices, which were all removed from the graph during the collapse operation.

public static String CollapsedVertices
return String

ConnectedComponentCalculatorIndex public static property

Key added to each vertex in the graph while computing the graph's strongly connected components.
The key's value is of type Int32.
public static String ConnectedComponentCalculatorIndex
return String

ConnectedComponentCalculatorLowLink public static property

Key added to each vertex in the graph while computing the graph's strongly connected components.
The key's value is of type Int32.
public static String ConnectedComponentCalculatorLowLink
return String

CustomContextMenuItems public static property

Key added to a vertex to add custom menu items to the vertex's context menu in the graph.
The key's value is an array of KeyValue<String,String>. For each element, the key is the custom menu item text and the value is the custom menu item action.
public static String CustomContextMenuItems
return String

DraggedVerticesOriginalLocation public static property

Key added to a dragged vertex to store its original location.
The Visualization.Wpf.DraggedVertices class adds this key to each selected vertex before it is dragged. The key's value is the vertex's original location, as a PointF. The key is removed when the drag completes.
public static String DraggedVerticesOriginalLocation
return String

EdgeDrawingHistory public static property

Key added to an edge to store information about how the edge was drawn.
The key's value is a Smrf.NodeXL.Visualization.Wpf.EdgeDrawingHistory.
public static String EdgeDrawingHistory
return String

EdgeWeight public static property

Key added to an edge to specify an edge weight.
The key's value is a Double.

Edge weights are used by the FruchtermanReingoldLayout class to determine the attractive force between an edge's vertices.

public static String EdgeWeight
return String

FanMotifFanColor public static property

Key added to a collapsed group vertex that represents a fan motif. This is fill color of the fan part of the collapsed group vertex only. It is not the color of the head part of the collapsed group vertex.
The key's value is a System.Drawing.Color.
public static String FanMotifFanColor
return String

FirstChar public static property

All reserved keys start with this character.
public static Char FirstChar
return Char

FruchtermanReingoldLayoutTagStorage public static property

Key added to each vertex to temporarily store the vertex's Tag.
public static String FruchtermanReingoldLayoutTagStorage
return String

GraphDescription public static property

Key added to a graph to describe where the graph came from.
GraphMLGraphAdapter.LoadGraph() adds this key to the graph if there is a description of the graph in the GraphML it loads.
public static String GraphDescription
return String

GraphHasEdgeIntermediateCurvePoints public static property

Key added to the graph to indicate that edges have intermediate curve points.
This key is added to the graph to indicate that the key has been added to the graph's edges. When the graph is resized, the layout classes check for this key to determine whether there are intermediate curve points that need to be transformed.

The key's value is null.

public static String GraphHasEdgeIntermediateCurvePoints
return String

GroupInfo public static property

Key added to a graph to specify group information.
The key's value is an array of Smrf.NodeXL.Core.GroupInfo objects (or objects derived from that class), one for each group.

To parition the graph's vertices into groups and lay out each group in its own box, set the GroupInfo key on the graph and set LayoutBase.LayoutStyle to LayoutStyle.UseGroups.

To expand and collapse vertex groups when using the NodeXLControl, set the GroupInfo key on the graph and call the NodeXLControl.CollapseGroup() or NodeXLControl.ExpandGroup() methods.

public static String GroupInfo
return String

GroupLayoutDrawingInfo public static property

Key added to a graph to specify how groups and the edges between them should be drawn when the graph is laid out using groups.
If this key is specified, each of the group rectangles specified in the value is drawn on top of the graph's background. The rectangles are the layout bounds that were used to lay out the graph's groups. Also, any combined intergroup edges specified in the value are drawn.

The key's value is of type Smrf.NodeXL.Layouts.GroupLayoutDrawingInfo.

public static String GroupLayoutDrawingInfo
return String

IntergroupEdgesHidden public static property

Key added to a graph to indicate that intergroup edges have been hidden.
The key's value is null.

When intergroup edges are hidden, IntergroupEdgesHidden gets added to the graph. Also, each intergroup edge gets a key that is set to , and each such edge also gets a SavedVisibility key that saves the previous visibility.

public static String IntergroupEdgesHidden
return String

IsSelected public static property

Key added to a vertex or edge to draw it as selected.
The key's value is null.

Important Note:

When using NodeXLControl, do not use the IsSelected key to select vertex or edges. Use the selection methods on the control instead.

public static String IsSelected
return String

LayOutTheseVerticesOnly public static property

Key added to a graph to tell the layout algorithm to lay out only a specified set of vertices.
The key's value is an ICollection<IVertex> containing the vertices to lay out. When this key is present on the graph, the layout completely ignores the graph's vertices that are not in the specified collection.

By default, the specified vertices are laid out within the full graph rectangle, but if the LayOutTheseVerticesWithinBounds key is also added to the graph, then the specified vertices are laid out within the rectangle defined by the current locations of the outermost vertices in the set.

public static String LayOutTheseVerticesOnly
return String

LayOutTheseVerticesWithinBounds public static property

Key added to a graph to tell the layout algorithm to lay out only a specified set of vertices within a bounding rectangle.
The key is used only if the LayOutTheseVerticesOnly key is also added to the graph. If both keys are present, the specified vertices are laid out within the rectangle defined by the current locations of the outermost vertices in the set.

The value of the LayOutTheseVerticesWithinBounds key is null.

public static String LayOutTheseVerticesWithinBounds
return String

LayoutBaseLayoutComplete public static property

Key added to the graph after it has been laid out.
The key's value is null.
public static String LayoutBaseLayoutComplete
return String

LockVertexLocation public static property

Key added to a vertex to tell the layout algorithm to leave the vertex at its current location.
The key's value is a Boolean. The layout may include the vertex in its overall layout calculations, but it cannot move the vertex.
public static String LockVertexLocation
return String

Marked public static property

Key added to a vertex or edge to "mark" it.
The key's value is true or false. The meaning of marking is up to the application. None of the NodeXL core or visualization components pay attention to this key.
public static String Marked
return String

OriginalVertex1InEdge public static property

Key added to an edge external to a collapsed group.
The key's value is an IVertex.

When a group of vertices is collapsed in the NodeXLControl, either this key or OriginalVertex2InEdge gets added to each edge external to the collapsed group. The value is the collapsed vertex that was originally the edge's first or second vertex. This is used to reconnect the edge to its original vertex when the group is later expanded.

public static String OriginalVertex1InEdge
return String

OriginalVertex2InEdge public static property

Key added to an edge external to a collapsed group.
The key's value is an IVertex.

See OriginalVertex1InEdge.

public static String OriginalVertex2InEdge
return String

PerAlpha public static property

Key added to a vertex or edge to force it to be a specified transparency.
The key's value is a Single between 0 (transparent) and 255 (opaque). (It's a Single instead of a Byte to reduce rounding errors when alpha values are converted to and from alpha ranges that don't run from 0 to 255.)

If the Visibility key is present and its value is or , the PerAlpha key is ignored.

public static String PerAlpha
return String

PerColor public static property

Key added to a vertex or edge to force it to be a specified color.
The key's value can be either a System.Drawing.Color or a System.Windows.Media.Color.
public static String PerColor
return String

PerEdgeIntermediateCurvePoints public static property

Key added to an edge to force it to be drawn as a curve.
If the key is present on an edge and the EdgeDrawer.CurveStyle property is set to EdgeCurveStyle.CurveThroughIntermediatePoints, then the edge gets drawn as a smooth curve through the specified intermediate points.

The key's value is a one-dimensional array of System.Drawing.PointF objects. The array should include only the intermediate points on the curve; it should NOT include the edge's endpoints. For example, if the curve should start at the edge's first vertex, pass through the intermediate points (53.9,204.1) and (87.2,180.5), and terminate at the edge's second vertex, then the key's value should be a two-element array of System.Drawing.PointF objects containing the points (53.9,204.1) and (87.2,180.5).

If the EdgeDrawer.CurveStyle property is set to EdgeCurveStyle.CurveThroughIntermediatePoints and the key is missing from an edge or contains a zero-length array, the edge gets drawn as a straight line.

If this key is added to the graph's edges, the key should be added to the graph itself.

public static String PerEdgeIntermediateCurvePoints
return String

PerEdgeLabel public static property

Key added to an edge to force a label to be drawn on top of it.
The key's value is a System.String that specifies the edge's label. If null or empty, no label is drawn.
public static String PerEdgeLabel
return String

PerEdgeLabelFontSize public static property

Key added to an edge to force a label to have a specified font size.
The key's value is a positive Single, in WPF units. Used only if is specified.
public static String PerEdgeLabelFontSize
return String

PerEdgeLabelTextColor public static property

Key added to an edge to force a label to have a specified text color.
The key's value can be either a System.Drawing.Color or a System.Windows.Media.Color. Used only if PerEdgeLabel is specified.
public static String PerEdgeLabelTextColor
return String

PerEdgeStyle public static property

Key added to an edge to force it to have a specified style.
The key's value is an EdgeStyle.
public static String PerEdgeStyle
return String

PerEdgeWidth public static property

Key added to an edge to force it to be a specified width.
The key's value is a Single between EdgeDrawer.MinimumWidth and EdgeDrawer.MaximumWidth.
public static String PerEdgeWidth
return String

PerVertexImage public static property

Key added to a vertex to specify the vertex's image.
If the vertex has the shape VertexShape.Image, the vertex is drawn as the image specified by the PerVertexImage key. If the vertex has the shape VertexShape.Image and the key is missing, the vertex is drawn as a VertexShape.Disk.

The key's value is a System.Windows.Media.ImageSource.

public static String PerVertexImage
return String

PerVertexLabel public static property

Key added to a vertex to specify the vertex's label text.
The effect of this key depends on the vertex's shape. If the shape is VertexShape.Label, the vertex is drawn as a rectangle containing the text specified by the PerVertexLabel key. If the shape is something other than VertexShape.Label, the vertex is drawn as the specified shape and the PerVertexLabel text is drawn next to the vertex as an annotation, at the position specified by the optional PerVertexLabelPosition key.

If the vertex's shape is VertexShape.Label and the key is missing, the vertex is drawn as a VertexShape.Disk.

The key's value is a System.String. A value of null or an empty string is treated as a missing key.

public static String PerVertexLabel
return String

PerVertexLabelFillColor public static property

Key added to a vertex to force a label to have a specified fill color.
The key's value can be either a System.Drawing.Color or a System.Windows.Media.Color. Used only if the vertex has the shape VertexShape.Label and PerVertexLabel is specified.
public static String PerVertexLabelFillColor
return String

PerVertexLabelFontSize public static property

Key added to a vertex to specify the vertex's label font size.
If the vertex has the shape VertexShape.Label and also has the key , the label text is drawn using the specified font size.

This key is not used for a label drawn as an annotation.

The key's value is a Single and is in WPF font size units.

public static String PerVertexLabelFontSize
return String

PerVertexLabelPosition public static property

Key added to a vertex to specify the vertex's label position.
This has an effect only if a vertex label is drawn as an annotation. See PerVertexLabel for details.

The key's value is a VertexLabelPosition.

public static String PerVertexLabelPosition
return String

PerVertexRadius public static property

Key added to a vertex to force it to be a specified radius.
The key's value is a Single between VertexDrawer.MinimumRadius and VertexDrawer.MaximumRadius.
public static String PerVertexRadius
return String

PerVertexShape public static property

Key added to a vertex to force it to be a specified shape.
The key's value is a VertexShape.
public static String PerVertexShape
return String

PerVertexToolTip public static property

Key added to a vertex to set the vertex's tooltip when using NodeXLControl.
The key's value is a String.

For tooltips to be visible, you must set NodeXLControl.UseVertexToolTips to true. The default value is false.

public static String PerVertexToolTip
return String

PolarLayoutCoordinates public static property

Key added to a vertex to specify its location in polar coordinates.
The key's value is a SinglePolarCoordinates.

When using the PolarLayout, the SinglePolarCoordinates.R value should be between 0.0 and 1.0. 0.0 represents the origin and 1.0 represents the maximum distance from the origin, which is the smaller of half the graph rectangle's width or height. R values less than 0.0 are the same as 0.0, and R values greater than 1.0 are the same as 1.0.

When using the PolarAbsoluteLayout, the SinglePolarCoordinates.R value is unrestricted. 0.0 represents the origin, 1 represents one WPF unit (1/96 inch), and -1 represents one WPF unit in the opposite direction.

The SinglePolarCoordinates.Angle value should be an angle in degrees, where 0.0 represents points on the positive x-axis and 90.0 represents points on the positive y-axis. Any angle is valid. 361.0 degrees is the same as 1.0 degree, for example, and -1.0 degree is the same as 359.0 degrees.

public static String PolarLayoutCoordinates
return String

PreCollapsePerEdgeColor public static property

Key added to an edge to save its color before the group it connects to is collapsed.
The key's value is a System.Drawing.Color.
public static String PreCollapsePerEdgeColor
return String

PreCollapsePerEdgeWidth public static property

Key added to an edge to save its width before the group it connects to is collapsed.
The key's value is a Single between EdgeDrawer.MinimumWidth and EdgeDrawer.MaximumWidth.
public static String PreCollapsePerEdgeWidth
return String

SavedVisibility public static property

Key added to a hidden intergroup edge to save the visibility it had before it was hidden.
The key's value is a member of the VisibilityKeyValue enumeration.
public static String SavedVisibility
return String

SortableLayoutAndZOrder public static property

Key added to every vertex to specify the order in which the vertices are laid out and drawn in the graph.
The key's value is of type Single. You must also add the key to the graph.

This key serves two purposes:

If the graph is laid out using a layout class derived from SortableLayoutBase, the key determines the vertex's layout order when the graph is laid out. Vertices with smaller key values are laid out first. Other layout classes ignore the key. The key always determines the vertex's z-order when the graph is drawn, regardless of which layout class is used. Vertices with smaller key values are drawn first.

If the SortableLayoutAndZOrder key is added to some vertices but not others, an exception is thrown.

public static String SortableLayoutAndZOrder
return String

SortableLayoutAndZOrderSet public static property

Key added to the graph to specify that the vertex layout and z-orders have been set on each vertex with the key.
The value of the SortableLayoutAndZOrderSet key is null.
public static String SortableLayoutAndZOrderSet
return String

SuggestedFileNameNoExtension public static property

Key added to a graph to specify a suggested file name.
GraphMLGraphAdapter.LoadGraph() adds this key to the graph if there is a suggested file name in the GraphML it loads. The file name has no path or extension.
public static String SuggestedFileNameNoExtension
return String

SuggestedTitle public static property

Key added to a graph to specify a suggested title.
GraphMLGraphAdapter.LoadGraph() adds this key to the graph if there is a suggested title in the GraphML it loads.
public static String SuggestedTitle
return String

SugiyamaComputedRadius public static property

Key added to a graph to save the radius computed by SugiyamaLayout.
SugiyamaLayout uses VertexDrawer.Radius as an initial radius for the vertex circles, then computes an actual radius that probably differs from the initial value. It stores the computed radius in the IGraph's metadata in a key named SugiyamaComputedRadius The type of the key's value is Single.
public static String SugiyamaComputedRadius
return String

SugiyamaCurvePoints public static property

Key added to an edge to save the edge curve points computed by SugiyamaLayout.
For each edge, SugiyamaLayout computes a curve that extends from the edge's first vertex to some point near the second vertex, then computes an endpoint on the second vertex's circle. It stores an array of curve points in the edge's metadata in a key named SugiyamaCurvePoints. The type of the key's value is PointF[]. The curve points should be drawn with code similar to the following: GraphicsPath oGraphicsPath = new GraphicsPath(); oGraphicsPath.AddBeziers(aoCurvePoints); oGraphics.DrawPath(oPen, oGraphicsPath);
public static String SugiyamaCurvePoints
return String

SugiyamaEndpoint public static property

Key added to an edge to save the edge curve endpoint computed by SugiyamaLayout.
For each edge, SugiyamaLayout computes an endpoint on the second vertex's circle and stores it in the edge's metadata in a key named SugiyamaEndpoint. The type of the key's value is PointF. The line from the last curve point to the endpoint should be drawn with code similar to the following: oGraphics.DrawLine(oPen, aoCurvePoints[aoCurvePoints.Length - 1], oEndpoint );
public static String SugiyamaEndpoint
return String

SugiyamaGleeEdge public static property

Key added to an edge to temporarily store a NodeXL edge's corresponding GLEE edge.
This is used by SugiyamaLayout. The type of the key's value is Microsoft.Glee.Edge.
public static String SugiyamaGleeEdge
return String

SugiyamaGleeNode public static property

Key added to a vertex to temporarily store a NodeXL vertex's corresponding GLEE node.
This is used by SugiyamaLayout. The type of the key's value is Microsoft.Glee.Node.
public static String SugiyamaGleeNode
return String

VertexDrawingHistory public static property

Key added to a vertex to store information about how the vertex was drawn.
The key's value is a Smrf.NodeXL.Visualization.Wpf.VertexDrawingHistory.
public static String VertexDrawingHistory
return String

VertexHasVisibilityOfShow public static property

Key added to a vertex to mark it as a vertex that should be shown regardless of whether it is part of an edge.
The key's value is null.
public static String VertexHasVisibilityOfShow
return String

Visibility public static property

Key added to a vertex or edge to control its visibility.
The key's value is a member of the VisibilityKeyValue enumeration.

If this key is present and its value is or , any PerAlpha key is ignored.

public static String Visibility
return String