Show / Hide Table of Contents

Class ContextualGraphLayout<TVertex, TEdge, TGraph>

Contextual Graph layout control.

Inheritance
System.Object
GraphCanvas
GraphLayout<TVertex, TEdge, TGraph>
ContextualGraphLayout<TVertex, TEdge, TGraph>
Inherited Members
GraphLayout<TVertex, TEdge, TGraph>.EdgesControls
GraphLayout<TVertex, TEdge, TGraph>.VerticesControls
GraphLayout<TVertex, TEdge, TGraph>.Sizes
GraphLayout<TVertex, TEdge, TGraph>.Worker
GraphLayout<TVertex, TEdge, TGraph>.VerticesSizes
GraphLayout<TVertex, TEdge, TGraph>.ActualLayoutMode
GraphLayout<TVertex, TEdge, TGraph>.IsCompoundMode
GraphLayout<TVertex, TEdge, TGraph>.CanLayout
GraphLayout<TVertex, TEdge, TGraph>.ContinueLayout()
GraphLayout<TVertex, TEdge, TGraph>.Relayout()
GraphLayout<TVertex, TEdge, TGraph>.CancelLayout()
GraphLayout<TVertex, TEdge, TGraph>.RecalculateEdgeRouting()
GraphLayout<TVertex, TEdge, TGraph>.RecalculateOverlapRemoval()
GraphLayout<TVertex, TEdge, TGraph>.CreateHighlightContext()
GraphLayout<TVertex, TEdge, TGraph>.CreateOverlapRemovalContext(IDictionary<TVertex, Point>, IDictionary<TVertex, Size>)
GraphLayout<TVertex, TEdge, TGraph>.CreateLayoutContext(IDictionary<TVertex, Point>, IDictionary<TVertex, Size>)
GraphLayout<TVertex, TEdge, TGraph>.Layout(Boolean)
GraphLayout<TVertex, TEdge, TGraph>.OnLayoutStarted()
GraphLayout<TVertex, TEdge, TGraph>.OnLayoutIterationFinished(ILayoutIterationEventArgs<TVertex>)
GraphLayout<TVertex, TEdge, TGraph>.OnLayoutIterationFinished(IDictionary<TVertex, Point>, String)
GraphLayout<TVertex, TEdge, TGraph>.OnLayoutFinished()
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemoval(IDictionary<TVertex, Point>, IDictionary<TVertex, Size>)
GraphLayout<TVertex, TEdge, TGraph>.RouteEdges(IDictionary<TVertex, Point>, IDictionary<TVertex, Size>)
GraphLayout<TVertex, TEdge, TGraph>.ChangeState(Int32)
GraphLayout<TVertex, TEdge, TGraph>.CanAnimate
GraphLayout<TVertex, TEdge, TGraph>.AnimationDisablerVertexCount
GraphLayout<TVertex, TEdge, TGraph>.AnimationDisablerVertexCountProperty
GraphLayout<TVertex, TEdge, TGraph>.AnimationDisablerEdgeCount
GraphLayout<TVertex, TEdge, TGraph>.AnimationDisablerEdgeCountProperty
GraphLayout<TVertex, TEdge, TGraph>.AsyncCompute
GraphLayout<TVertex, TEdge, TGraph>.AsyncComputeProperty
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithmFactory
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithmFactoryProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceEdgeRoutingAlgorithmFactory(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithm
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithmProperty
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithmPropertyKey
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithmType
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingAlgorithmTypeProperty
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingConstraint
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingConstraintProperty
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingParameters
GraphLayout<TVertex, TEdge, TGraph>.EdgeRoutingParametersProperty
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithmFactory
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithmFactoryProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceHighlightAlgorithmFactory(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithm
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithmProperty
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithmPropertyKey
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithmType
GraphLayout<TVertex, TEdge, TGraph>.HighlightAlgorithmTypeProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceHighlightAlgorithmType(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.HighlightParameters
GraphLayout<TVertex, TEdge, TGraph>.HighlightParametersProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceHighlightParameters(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithmFactory
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithmFactoryProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceOverlapRemovalAlgorithmFactory(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithm
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithmProperty
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithmPropertyKey
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithmType
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalAlgorithmTypeProperty
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalConstraint
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalConstraintProperty
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalParameters
GraphLayout<TVertex, TEdge, TGraph>.OverlapRemovalParametersProperty
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithmFactory
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithmFactoryProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceLayoutAlgorithmFactory(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithm
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithmProperty
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithmPropertyKey
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithmType
GraphLayout<TVertex, TEdge, TGraph>.LayoutAlgorithmTypeProperty
GraphLayout<TVertex, TEdge, TGraph>.LayoutMode
GraphLayout<TVertex, TEdge, TGraph>.LayoutModeProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceOnLayoutMode(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.LayoutParameters
GraphLayout<TVertex, TEdge, TGraph>.LayoutParametersProperty
GraphLayout<TVertex, TEdge, TGraph>.LayoutState
GraphLayout<TVertex, TEdge, TGraph>.LayoutStateProperty
GraphLayout<TVertex, TEdge, TGraph>.LayoutStatePropertyKey
GraphLayout<TVertex, TEdge, TGraph>.LayoutStatusPercent
GraphLayout<TVertex, TEdge, TGraph>.LayoutStatusPercentProperty
GraphLayout<TVertex, TEdge, TGraph>.LayoutStatusPercentPropertyKey
GraphLayout<TVertex, TEdge, TGraph>.ShowAllStates
GraphLayout<TVertex, TEdge, TGraph>.ShowAllStatesProperty
GraphLayout<TVertex, TEdge, TGraph>.StateCount
GraphLayout<TVertex, TEdge, TGraph>.StateCountProperty
GraphLayout<TVertex, TEdge, TGraph>.StateCountPropertyKey
GraphLayout<TVertex, TEdge, TGraph>.StateIndex
GraphLayout<TVertex, TEdge, TGraph>.StateIndexProperty
GraphLayout<TVertex, TEdge, TGraph>.CoerceStateIndex(DependencyObject, Object)
GraphLayout<TVertex, TEdge, TGraph>.Graph
GraphLayout<TVertex, TEdge, TGraph>.GraphProperty
GraphLayout<TVertex, TEdge, TGraph>.OnGraphPropertyChanged(DependencyObject, DependencyPropertyChangedEventArgs)
GraphLayout<TVertex, TEdge, TGraph>.RemoveVertexControl(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.RemoveEdgeControl(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.RemoveAllGraphElements()
GraphLayout<TVertex, TEdge, TGraph>.RecreateGraphElements(Boolean)
GraphLayout<TVertex, TEdge, TGraph>.GetVertexControl(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.GetOrCreateVertexControl(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.CreateVertexControl(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.InitializePosition(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.GetEdgeControl(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.GetOrCreateEdgeControl(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.CreateEdgeControl(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.HighlightedVertices
GraphLayout<TVertex, TEdge, TGraph>.SemiHighlightedVertices
GraphLayout<TVertex, TEdge, TGraph>.HighlightedEdges
GraphLayout<TVertex, TEdge, TGraph>.SemiHighlightedEdges
GraphLayout<TVertex, TEdge, TGraph>.IsHighlightedVertex(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.IsHighlightedVertex(TVertex, Object)
GraphLayout<TVertex, TEdge, TGraph>.IsSemiHighlightedVertex(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.IsSemiHighlightedVertex(TVertex, Object)
GraphLayout<TVertex, TEdge, TGraph>.IsHighlightedEdge(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.IsHighlightedEdge(TEdge, Object)
GraphLayout<TVertex, TEdge, TGraph>.IsSemiHighlightedEdge(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.IsSemiHighlightedEdge(TEdge, Object)
GraphLayout<TVertex, TEdge, TGraph>.HighlightVertex(TVertex, Object)
GraphLayout<TVertex, TEdge, TGraph>.SemiHighlightVertex(TVertex, Object)
GraphLayout<TVertex, TEdge, TGraph>.HighlightEdge(TEdge, Object)
GraphLayout<TVertex, TEdge, TGraph>.SemiHighlightEdge(TEdge, Object)
GraphLayout<TVertex, TEdge, TGraph>.RemoveHighlightFromVertex(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.RemoveSemiHighlightFromVertex(TVertex)
GraphLayout<TVertex, TEdge, TGraph>.RemoveHighlightFromEdge(TEdge)
GraphLayout<TVertex, TEdge, TGraph>.RemoveSemiHighlightFromEdge(TEdge)
GraphCanvas.XProperty
GraphCanvas.YProperty
GraphCanvas.GetX(DependencyObject)
GraphCanvas.SetX(DependencyObject, Double)
GraphCanvas.GetY(DependencyObject)
GraphCanvas.SetY(DependencyObject, Double)
GraphCanvas.PositionChangedEvent
GraphCanvas.AddPositionChangedHandler(DependencyObject, RoutedEventHandler)
GraphCanvas.RemovePositionChangedHandler(DependencyObject, RoutedEventHandler)
GraphCanvas.AnimationLength
GraphCanvas.AnimationLengthProperty
GraphCanvas.CreationTransition
GraphCanvas.CreationTransitionProperty
GraphCanvas.IsAnimationEnabled
GraphCanvas.IsAnimationEnabledProperty
GraphCanvas.MoveAnimation
GraphCanvas.MoveAnimationProperty
GraphCanvas.DestructionTransition
GraphCanvas.DestructionTransitionProperty
GraphCanvas.Origo
GraphCanvas.OrigoProperty
GraphCanvas.Translation
GraphCanvas.TranslationPropertyKey
GraphCanvas.TranslationProperty
GraphCanvas.ArrangeOverride(System.Windows.Size)
GraphCanvas.MeasureOverride(System.Windows.Size)
GraphCanvas.ContinueLayout()
GraphCanvas.Relayout()
GraphCanvas.AnimationContext
GraphCanvas.CanAnimate
GraphCanvas.RunCreationTransition(Control)
GraphCanvas.RunMoveAnimation(Control, Double, Double)
GraphCanvas.RunDestructionTransition(Control, Boolean)
Namespace: GraphShape.Controls
Assembly: GraphShape.Controls.dll
Syntax
public class ContextualGraphLayout<TVertex, TEdge, TGraph> : GraphLayout<TVertex, TEdge, TGraph> where TVertex : class where TEdge : IEdge<TVertex> where TGraph : class, IBidirectionalGraph<TVertex, TEdge>
Type Parameters
Name Description
TVertex

Vertex type.

TEdge

Edge type.

TGraph

Graph type.

Fields

| Improve this Doc View Source

SelectedVertexProperty

Selected vertex dependency property.

Declaration
public static readonly DependencyProperty SelectedVertexProperty
Field Value
Type Description
DependencyProperty

Properties

| Improve this Doc View Source

CanLayout

Indicates if layout can be done.

Declaration
protected override bool CanLayout { get; }
Property Value
Type Description
System.Boolean
Overrides
GraphShape.Controls.GraphLayout<TVertex, TEdge, TGraph>.CanLayout
| Improve this Doc View Source

SelectedVertex

Gets or sets the SelectedVertex which influences the context.

Declaration
public TVertex SelectedVertex { get; set; }
Property Value
Type Description
TVertex

Methods

| Improve this Doc View Source

CreateLayoutContext(IDictionary<TVertex, Point>, IDictionary<TVertex, Size>)

Creates a from given parameters.

Declaration
protected override ILayoutContext<TVertex, TEdge, TGraph> CreateLayoutContext(IDictionary<TVertex, Point> positions, IDictionary<TVertex, Size> sizes)
Parameters
Type Name Description
IDictionary<TVertex, Point> positions

Vertices positions.

IDictionary<TVertex, Size> sizes

Vertices sizes.

Returns
Type Description
ILayoutContext<TVertex, TEdge, TGraph>

Created , null if CanLayout is false.

Overrides
GraphShape.Controls.GraphLayout<TVertex, TEdge, TGraph>.CreateLayoutContext(IDictionary<TVertex, Point>, IDictionary<TVertex, Size>)
Exceptions
Type Condition
System.ArgumentNullException

sizes is null.

Extension Methods

GraphHelpers.GetDistances<TVertex, TEdge, TGraph>(TGraph)
GraphHelpers.GetDiameter<TVertex, TEdge, TGraph>(TGraph)
GraphHelpers.GetDiameter<TVertex, TEdge, TGraph>(TGraph, out Double[,])
  • Improve this Doc
  • View Source
In This Article
Back to top GraphShape