Class PanelLayoutSpot

GoDiagram®
v10.0.8
by Northwoods Software®

Arranges GraphObjects about a main element using the Alignment and AlignmentFocus properties; the main element is the first GraphObject with IsPanelMain set to true, or else the first GraphObject if none have that property set to true.

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

Properties

Instance

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

Declaration
public static PanelLayoutSpot Instance { get; }
Property Value
Type Description
PanelLayoutSpot
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 in spot panel.

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)

Elements measured according to alignment spots around a main element.

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