Class PanelLayoutPosition

GoDiagram®
v10.0.11
by Northwoods Software®

The default PanelLayout, arranges each element according to their Position.

Inheritance
PanelLayoutPosition
Namespace: Northwoods.Go.PanelLayouts
Assembly: Northwoods.GoDiagram.WinForms.dll
Syntax
public sealed class PanelLayoutPosition : PanelLayout

Properties

Instance

This holds a static singleton instance of the PanelLayout, used as a value for Type.

Declaration
public static PanelLayoutPosition Instance { get; }
Property Value
Type Description
PanelLayoutPosition
Remarks

These static PanelLayouts are used when defining templates:

// define a simple Node template
myDiagram.NodeTemplate =
  new Node(PanelLayoutAuto.Instance)  // the Shape will go around the TextBlock
    .Add(
      new Shape("RoundedRectangle") {
        StrokeWidth = 0, Fill = "white"
      }.Bind("Fill", "Color"),  // Shape.Fill is bound to Node.Data.Color
      new TextBlock {
        Margin = 8,  // Specify a margin to add some room around the text
        Font = "bold 14px sans-serif", Stroke = "#333"
      }.Bind("Text", "Key")  // TextBlock.Text is bound to Node.Data.Key
    );

Methods

Arrange(Panel, IList<GraphObject>, Rect)

Arrange children according to their positions.

Declaration
public override void Arrange(Panel panel, IList<GraphObject> children, Rect union)
Parameters
Type Name Description
Panel panel
IList<GraphObject> children
Rect union
Overrides

Measure(Panel, double, double, IList<GraphObject>, ref Rect, double, double)

Measure all elements to get the bounding box of the panel.

Declaration
public override void Measure(Panel panel, double width, double height, IList<GraphObject> children, ref Rect union, double minw, double minh)
Parameters
Type Name Description
Panel panel
double width
double height
IList<GraphObject> children
Rect union
double minw
double minh
Overrides