skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class TreeLayoutProcessor

The tree layout algorithms.

Inheritance
System.Object
TreeLayoutProcessor
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.Windows.Diagrams.Core
Assembly: Telerik.WinControls.RadDiagram.dll

Syntax

public class TreeLayoutProcessor

Constructors

TreeLayoutProcessor(TreeLayoutSettings)

Initializes a new instance of the TreeLayoutProcessor class.

Declaration
public TreeLayoutProcessor(TreeLayoutSettings settings = null)
Parameters
TreeLayoutSettings settings

The settings.

Properties

Center

Gets or sets the center of the layout.

Declaration
public static Node<TreeLayoutData, object> Center { get; set; }
Property Value
Node<TreeLayoutData, System.Object>

The center.

Methods

DepthFirstTraversal(Node<TreeLayoutData, Object>, Action<Node<TreeLayoutData, Object>>)

A standard depth first traversal (DFT) of the tree starting from the given node.

Declaration
public static void DepthFirstTraversal(Node<TreeLayoutData, object> node, Action<Node<TreeLayoutData, object>> action)
Parameters
Node<TreeLayoutData, System.Object> node

The node.

System.Action<Node<TreeLayoutData, System.Object>> action

The action.

Layout(Graph<TreeLayoutData, Object>, Node<TreeLayoutData, Object>, TreeLayoutSettings)

Performs a tree-layout of the tree-graph.

Declaration
public void Layout(Graph<TreeLayoutData, object> treeGraph, Node<TreeLayoutData, object> root, TreeLayoutSettings layoutSettings = null)
Parameters
Graph<TreeLayoutData, System.Object> treeGraph

A graph which is supposedly a tree. If not, please use the spanning tree algorithms (Kruskal or Prim).

Node<TreeLayoutData, System.Object> root

The root to be used as the starting point for the layout pass..

TreeLayoutSettings layoutSettings

The tree layout settings. If none supplied defaults will be used, see the TreeLayoutSettings.

Measure(Node<TreeLayoutData, Object>, Size)

Returns the actual size of the node. The given size is the allowed space wherein the node can lay out itself.

Declaration
public Size Measure(Node<TreeLayoutData, object> node, Size givenSize)
Parameters
Node<TreeLayoutData, System.Object> node

The node.

Size givenSize

The maximum space given to this node wherein it can organize itself.

Returns
Size

SetChildrenDirection(Node<TreeLayoutData, Object>, TreeDirection, Boolean)

Sets the children direction recursively.

Declaration
public void SetChildrenDirection(Node<TreeLayoutData, object> node, TreeDirection direction, bool includeStart)
Parameters
Node<TreeLayoutData, System.Object> node

The shape.

TreeDirection direction

The direction.

System.Boolean includeStart

If set to true the given start shape will be set as well..

SetChildrenLayout(Node<TreeLayoutData, Object>, ChildrenLayout, Boolean, Int32)

Sets the children layout recursively.

Declaration
public void SetChildrenLayout(Node<TreeLayoutData, object> node, ChildrenLayout layout, bool includeStart, int startFromLevel = 0)
Parameters
Node<TreeLayoutData, System.Object> node

The shape.

ChildrenLayout layout

The layout.

System.Boolean includeStart

If set to true the given start shape will be set as well.

System.Int32 startFromLevel

The layout is assigned starting from a certain level on, the node node being level zero.

Subtree(Node<TreeLayoutData, Object>)

Gets the tree with the given shape as root of the tree.

Declaration
public static IList<Node<TreeLayoutData, object>> Subtree(Node<TreeLayoutData, object> shape)
Parameters
Node<TreeLayoutData, System.Object> shape

The shape.

Returns
System.Collections.Generic.IList<Node<TreeLayoutData, System.Object>>

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.