Panel class

A Panel is a GraphObject that holds other GraphObjects as its elements. A Panel is responsible for sizing and positioning its elements. The elements of a panel are drawn in the order in which they appear in the #elements collection.

The Part class inherits from Panel; Part in turn is the base class of Node and Link.

Every Panel has a #type and establishes its own coordinate system. The type of a Panel determines how it will size and arrange its elements:

  • Panel.Position is used to arrange elements based on their absolute positions within the Panel's local coordinate system.
  • Panel.Vertical and Panel.Horizontal are used to create linear "stacks" of elements.
  • Panel.Auto is used to size the main element to fit around other elements in the Panel -- this creates borders.
  • Panel.Spot is used to arrange elements based on the Spot properties GraphObject#alignment and GraphObject#alignmentFocus, relative to a main element of the panel. Spot panels can align relative to other elements by using Panel#alignmentFocusName.
  • Panel.Table is used to arrange elements into rows and columns, typically employing the different elements' GraphObject#row, GraphObject#rowSpan, GraphObject#column, and GraphObject#columnSpan properties. This Panel type also makes use of RowColumnDefinition.
  • Panel.TableRow and Panel.TableColumn can only be used immediately within a Panel.Table Panel to organize a collection of elements as a row or as a column in a table.
  • Panel.Viewbox is used to automatically resize a single element to fit inside the panel's available area.
  • Panel.Grid is not used to house typical elements, but is used only to draw regular patterns of lines. The elements must be Shapes used to describe the repeating lines.
  • Panel.Link is only used by Link parts and Link Adornments.
  • Panel.Graduated is used to draw regular tick marks and text along the main Shape element.

Using GraphObject.make, the second argument can be used to declare the Panel type. The second argument may also be an instance of PanelLayout, if you want to use a custom panel layout.

// Either:
new go.Panel(go.Panel.Horizontal, ...
// Or:
new go.Panel("Horizontal", ...

// Full example:
p = new go.Panel("Horizontal",
  { width: 60, height: 60 }) // panel properties
  // elements in the panel:
  .add(new go.Shape("Rectangle", { stroke: "lime" }))
  .add(new go.TextBlock("Some Text"))

For an overview of most Panel types, please read the Introduction page on Panels.

Panel.Vertical and Panel.Horizontal panels are frequently used to position two or more GraphObjects vertically above each other or horizontally next to each other. Use the GraphObject#alignment or GraphObject#stretch properties on the individual elements to control their position and size. Set #isOpposite to true if you want the elements arranged from right-to-left in Horizontal Panels or from bottom-to-top in Vertical Panels.

Panel.Spot and Panel.Auto panels have a "main" element, signified by the Panel's first element with GraphObject#isPanelMain set to true. If there is no such element, it uses the first element as the "main" one. Use the GraphObject#alignment property to position elements with respect to the main element. Use the GraphObject#alignmentFocus property to further specify the position within Spot Panels. "Spot" and "Auto" Panels should have two or more elements in them.

In Panel.Table panels you will want to set the GraphObject#row and GraphObject#column properties on each element. The GraphObject#alignment and GraphObject#stretch properties are also useful when an element's table cell is larger than that element.

Please read the Introduction page on Table Panels for more examples and explanation.

Panel.TableRow and Panel.TableColumn panels can only be used as elements within a Panel.Table Panel. They are typically only used in item templates, e.g. for automatically creating rows in a Table Panel based on model data provided in an #itemArray. You will still need to specify properties on the individual elements within a TableRow or TableColumn as if they were immediate elements of the containing Table panel.

For an example that uses TableRow Panels, see Records sample.

Panel.Grid panels are often used for the Diagram's Diagram#grid.

const diagram = new go.Diagram("myDiagramDiv",
  // Diagram options:
  { . . .
    grid: new go.Panel("Grid",
            { gridCellSize: new go.Size(40, 40) })
            .add(new go.Shape("LineH", { stroke: "lightgray" }))
            .add(new go.Shape("LineV", { stroke: "lightgray" })),
    . . .
  });

Or to get a green bar effect:

 const diagram = new go.Diagram("myDiagramDiv",
  { . . .
    grid: new go.Panel("Grid",
            { gridCellSize: new go.Size(100, 100) })
            .add(new go.Shape("BarH", { fill: "lightgreen", height: 50 })),
    . . .
  });

But Grid Panels can also be stand alone objects:

new go.Node("Grid",
  { gridCellSize: new go.Size(6, 6), width: 60, height: 60 })
  .add(new go.Shape("LineH", { stroke: "gray" }))
  .add(new go.Shape("LineV", { stroke: "gray" }))

A Grid Panel's elements do not participate in object picking.

Please read the Introduction page on Grid Patterns for more examples and explanation.

Panel.Graduated panels, like Spot and Auto Panels have a "main" element. The other elements within a Graduated Panel are used to define ticks and labels to draw along the main shape's path.

new go.Part("Graduated")
  .add(new go.Shape({ geometryString: "M0 0 H400" }))
  .add(new go.Shape({ geometryString: "M0 0 V10" }))
  // offset to display below ticks
  .add(new go.TextBlock({ segmentOffset: new go.Point(0, 12) }));

Only the main shape of a Graduated Panel participates in object picking, but a background can be set if the entire panel needs to be pickable. You cannot set or bind the Panel#itemArray of a Graduated Panel. Events on the tick Shapes and TextBlock labels of a Graduated Panel will be ignored. Graduated Panel TextBlock labels cannot be edited.

Rotating the main shape will not rotate the ticks, just as rotating a Spot Panel's main element won't rotate its children. Rotation should generally be done at the Panel level. Another similarity to Spot Panels is that resizing of a Graduated Panel should generally be done on the main shape.

Please read the Introduction page on Graduated Panels for more examples and explanation.

Changing and accessing elements of a Panel

You can change the collection of #elements by calling #add, #insertAt, #remove, or #removeAt. You can get direct access to a particular element by calling #elt.

Alternatively you can control the number and order of elements that are copies of an item template by setting or binding the #itemArray property. This is discussed below.

You can search the visual tree of a Panel for GraphObjects that given a GraphObject#name using #findObject.

Panel Size and Appearance

Panels typically compute their own size based on their elements and Panel #type, but can also be sized by setting GraphObject#desiredSize, GraphObject#minSize, and GraphObject#maxSize. Setting an explicit size on a Panel may cause nested elements of that panel to size themselves differently, especially in the cases of nested elements having a GraphObject#stretch value or TextBlock's having word wrap.

Panels have no visual components of their own unless a GraphObject#background is specified or separators are specified either as defaults for the whole Table Panel or on individual RowColumnDefinitions. Panels can specify #padding, to make the Panel larger including its background. Setting a padding when the Panel is constrained in size will reduce the total area that it has to arrange its elements. Setting a #margin will not do this -- instead the Panel will expand in size.

In addition to the GraphObject properties on elements that are only used by certain types of panels, several Panel properties only apply to specific Panel types.

  • Panels of #type Panel.Table use the #rowCount, #rowSizing, #columnCount, #columnSizing, #leftIndex, #topIndex, and all of the "default" separator properties.
  • Panels of #type Panel.TableRow and Panel.TableColumn do not act like regular GraphObjects, instead they are only to be used immediately within a Panel.Table. They are pass-through containers that hold elements for their parent table, and ignore their own scale and angle.
  • Panels of #type Panel.Grid use the #gridCellSize and #gridOrigin properties.
  • Panels of #type Panel.Viewbox use the #viewboxStretch property.
  • Panels of #type Panel.Graduated use the #graduatedMin, #graduatedMax, #graduatedTickUnit, and #graduatedTickBase properties.

For live examples of all Panel types, see the Introduction page on Panels.

Data Binding

Panels also provide fundamental support for data binding. When a diagram gets a new model or when a diagram's model is augmented with additional data, the diagram automatically creates a new Node or Link whose #data property refers to the corresponding node data or link data object.

For more discussion of data binding, please read the Introduction page on Models and Data Binding.

Panels provide support for automatically creating elements within the Panel based on items in a JavaScript Array. This is achieved by setting or binding the #itemArray property, which acts in a manner similar to the Model#nodeDataArray property. You can supply an #itemTemplate, which must itself be a simple Panel, which is copied to create the element in this container Panel corresponding to an item in the itemArray. This property is analogous to the Diagram#nodeTemplate property, although for the diagram the template must be a Node, Group, or simple Part.

Much like the Diagram#nodeTemplateMap, Panel's #itemTemplateMap supports having multiple templates, so that the actual structure of the element created for a data item can be chosen dynamically. Just as the Model#nodeCategoryProperty determines which template in the Diagram#nodeTemplateMap is copied to create a Node, the #itemCategoryProperty names the data property whose value chooses the Panel in the itemTemplateMap to copy for the item.

When binding the #itemArray property, it is commonplace to set Model#copiesArrays and Model#copiesArrayObjects properties to true, so that when a node is copied, the item Array and its contents are copied, not shared. Or more generally, to customize the model's copying processes, you can supply a custom Model#copyNodeDataFunction.

For more discussion and examples of item arrays, please read the Introduction page on Item Arrays.

Implemented types
Implementers
Available extensions
Annotations
  • @JS()
  • @staticInterop

Constructors

Panel.$1()
factory
Panel.$2([dynamic init])
factory
Panel.$3([Object? type, dynamic init])
factory

Properties

actionCancel ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the ActionTool is cancelled and this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.
getter/setter pair
actionDown ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute on a mouse-down event when this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.
getter/setter pair
actionMove ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute on a mouse-move event when this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.
getter/setter pair
actionUp ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute on a mouse-up event when this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.
getter/setter pair
actualBounds Rect

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the bounds of this GraphObject in container coordinates. This means that the actualBounds are in the coordinate space of the GraphObject's Panel, unless this is a Part, in which case they are in the Diagram's coordinate system.
getter/setter pair
alignment Spot

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the alignment Spot of this GraphObject used in Panel layouts, to determine where in the area allocated by the panel this object should be placed.
getter/setter pair
alignmentFocus Spot

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the spot on this GraphObject to be used as the alignment point in Spot and Fixed Panels. Value must be of the Spot.
getter/setter pair
alignmentFocusName String

Available on Panel, provided by the Panel$Typings extension

For Panels which are elements of Spot Panels: Gets or sets the name of this Panel's element that should be used as the alignment object instead of this Panel.
getter/setter pair
angle num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the angle transform, in degrees, of this GraphObject. Value must be a number. If the value is not between (0 <= value < 360), it will be normalized to be in that range. Zero is along the positive X-axis (rightwards); 90 is along the positive Y-axis (downwards). Default is 0.
getter/setter pair
areaBackground ↔ dynamic

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the areaBackground Brush of this GraphObject. The areaBackground fills the rectangle described by this GraphObject's containing panel's coordinates. If the object is rotated, the area background will expand to fill the entire measured bounds of the object, without rotating the brush.
getter/setter pair
background ↔ dynamic

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the background Brush of this GraphObject, filling the rectangle of this object's local coordinate space. If the object is rotated, the background will rotate with it.
getter/setter pair
bind → ({GraphObject Function(Binding binding) $1, GraphObject Function([String? targetprop, String? sourceprop, TargetConversion? conv, BackConversion? backconv]) $2})

Available on GraphObject, provided by the GraphObject$Typings extension

Overload accessor: $1, $2
no setter
click ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user single-primary-clicks on this object. This typically involves a mouse-down followed by a prompt mouse-up at approximately the same position using the left (primary) mouse button. This property is used by the ClickSelectingTool when the user clicks on a GraphObject. The function is called in addition to the DiagramEvent that is raised with the name "ObjectSingleClicked".
getter/setter pair
column num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the column of this GraphObject if it is in a Table Panel. The value must be a small non-negative integer. The default is 0.
getter/setter pair
columnCount num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: This read-only property returns the number of columns. This value is only valid after the Panel has been measured.
getter/setter pair
columnSizing EnumValue

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets how this Panel's columns deal with extra space. Valid values are RowColumnDefinition.ProportionalExtra and RowColumnDefinition.None. The default is RowColumnDefinition.ProportionalExtra.
getter/setter pair
columnSpan num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the number of columns spanned by this GraphObject if it is in a Table Panel. The value must be a small positive integer. The default is 1.
getter/setter pair
contextClick ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user single-secondary-clicks on this object. This typically involves a mouse-down followed by a prompt mouse-up at approximately the same position using the right (secondary) mouse button. This property is used by the ClickSelectingTool when the user clicks on a GraphObject. The function is called in addition to the DiagramEvent that is raised with the name "ObjectContextClicked".
getter/setter pair
contextMenu ↔ dynamic

Available on GraphObject, provided by the GraphObject$Typings extension

This Adornment or HTMLInfo is shown upon a context click on this object. The default value is null, which means no context menu is shown.
getter/setter pair
cursor String

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the mouse cursor to use when the mouse is over this object with no mouse buttons pressed. The value is null when no particular cursor is specified for this object; the actual cursor is determined by any containing Panel.
getter/setter pair
data ↔ dynamic

Available on Panel, provided by the Panel$Typings extension

Gets or sets the optional model data to which this panel is data-bound. The data must be a JavaScript Object if this is a Part. The data can be any JavaScript value if this is a Panel created for an item in an Array that was data-bound by the #itemArray property. The default value is null.
getter/setter pair
defaultAlignment Spot

Available on Panel, provided by the Panel$Typings extension

Gets or sets the default alignment spot of this Panel, used as the alignment for an element when its GraphObject#alignment value is Spot.Default. The default value is Spot.Default, which is interpreted by the Panel in whatever manner seems reasonable, depending on the Panel type.
getter/setter pair
defaultColumnSeparatorDashArray Array<num>?

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the default dash array for a column's separator. RowColumnDefinition#separatorStrokeWidth can override this default value.
getter/setter pair
defaultColumnSeparatorStroke ↔ dynamic

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the default stroke (color) for columns provided a given column has a nonzero RowColumnDefinition#separatorStrokeWidth. RowColumnDefinition#separatorDashArray can override this default value. The default value is null -- no line is drawn.
getter/setter pair
defaultColumnSeparatorStrokeWidth num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the default stroke width for a column's separator. RowColumnDefinition#separatorStrokeWidth can override this default value. The default value is 1. Any new value must be a real, non-negative number.
getter/setter pair
defaultRowSeparatorDashArray Array<num>?

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the default dash array for a row's separator. RowColumnDefinition#separatorDashArray can override this default value.
getter/setter pair
defaultRowSeparatorStroke ↔ dynamic

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the default stroke (color) for rows provided a given row has a nonzero RowColumnDefinition#separatorStrokeWidth. RowColumnDefinition#separatorStroke can override this default value. The default value is null -- no line is drawn.
getter/setter pair
defaultRowSeparatorStrokeWidth num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the default stroke width for a row's separator. RowColumnDefinition#separatorStrokeWidth can override this default value. The default value is 1. Any new value must be a real, non-negative number.
getter/setter pair
defaultSeparatorPadding Object

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the additional padding for rows and columns. Padding is applied both before and after a row or column's contents.
getter/setter pair
defaultStretch EnumValue

Available on Panel, provided by the Panel$Typings extension

Gets or sets the default stretch of this Panel, used as the stretch for an element when its GraphObject#stretch value is GraphObject.Default. The default value is GraphObject.Default, which typically resolves to GraphObject.None.
getter/setter pair
desiredSize Size

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the desired size of this GraphObject in local coordinates. Value must be of type Size. Default is Size(NaN, NaN). You cannot modify the width or height of the value of this property -- if you want to change the desiredSize you must set this property to a different Size.
getter/setter pair
diagram Diagram?

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the Diagram that this GraphObject is in, if it is.
getter/setter pair
doubleClick ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user double-primary-clicks on this object. This typically involves a mouse-down/up/down/up in rapid succession at approximately the same position using the left (primary) mouse button. This property is used by the ClickSelectingTool when the user clicks on a GraphObject. The function is called in addition to the DiagramEvent that is raised with the name "ObjectDoubleClicked".
getter/setter pair
elements Iterator<GraphObject>

Available on Panel, provided by the Panel$Typings extension

This read-only property returns an iterator over the collection of the GraphObjects that this panel manages.
getter/setter pair
enabledChanged ↔ void Function(GraphObject, bool)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when some containing Panel changes the value of Panel#isEnabled. It is typically used to modify the appearance of the object. This function must not change the value of any panel Panel#isEnabled.
getter/setter pair
filter String

Available on GraphObject, provided by the GraphObject$Typings extension

Undocumented. May not work in Safari.
getter/setter pair
fromEndSegmentLength num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the length of the first segment of a link coming from this port. This value is used when the computed "from spot" is not Spot.None. The default value is 10. This value also limits how short the Link#fromShortLength may be drawn.
getter/setter pair
fromLinkable bool?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether the user may draw Links from this port. This property is used by LinkingBaseTool#isValidFrom.
getter/setter pair
fromLinkableDuplicates bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether the user may draw duplicate Links from this port. This property is used by LinkingBaseTool#isValidLink. The default value is false.
getter/setter pair
fromLinkableSelfNode bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether the user may draw Links that connect from this port's Node. This property is used by LinkingBaseTool#isValidLink. The default value is false.
getter/setter pair

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the maximum number of links that may come out of this port. This property is used by LinkingBaseTool#isValidFrom.
getter/setter pair
fromShortLength num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets how far the end segment of a link coming from this port stops short of the actual port. Positive values are limited by the #fromEndSegmentLength or Link#fromEndSegmentLength. Negative values cause the link to extend into the port. The default value is zero.
getter/setter pair
fromSpot Spot

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets where a link should connect from this port. The default value is Spot.None, meaning that the link routing must consider the shape of the port and connect at the closest point.
getter/setter pair
graduatedMax num

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: Gets or sets the maximum value represented. Must be greater than #graduatedMin. The default is 100.
getter/setter pair
graduatedMin num

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: Gets or sets the minimum value represented. Must be less than #graduatedMax. The default is 0.
getter/setter pair
graduatedRange num

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: This read-only property returns the range of values represented by the Panel.
getter/setter pair
graduatedTickBase num

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: Gets or sets the base value which is marked with a tick. The default is 0.
getter/setter pair
graduatedTickUnit num

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: Gets or sets the difference between two consecutive values marked by ticks. Must be positive. The default is 10.
getter/setter pair
gridCellSize Size

Available on Panel, provided by the Panel$Typings extension

For Panel.Grid|Grid Panels: Gets or sets the distance between lines. The units are in local coordinates. The default is 10x10. Any new width or height must be a positive real number.
getter/setter pair
gridOrigin Point

Available on Panel, provided by the Panel$Typings extension

For Panel.Grid|Grid Panels: Gets or sets an origin point for the grid cells. The units are in local coordinates. The default is (0,0). Any new value must use real numbers.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
height num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the desired height of this GraphObject in local coordinates. This just gets or sets the height component of the #desiredSize. Default is NaN.
getter/setter pair
isActionable bool

Available on GraphObject, provided by the GraphObject$Typings extension

This property determines whether or not this GraphObject's events occur before all other events, including selection. This enables the #actionDown, #actionMove, #actionUp, and #actionCancel events, which are all handled by the ActionTool.
getter/setter pair
isClipping bool

Available on Panel, provided by the Panel$Typings extension

For Spot Panels: Gets or sets whether this Panel's main element clips instead of fills. The main element will not paint its stroke, if it has any. This assumes that the main element is a Shape.
getter/setter pair
isEnabled bool

Available on Panel, provided by the Panel$Typings extension

Gets or sets whether this Panel or any GraphObject inside the panel actually responds to user click events. It may be used as a Binding target. See how this property is used in Buttons.js.
getter/setter pair
isOpposite bool

Available on Panel, provided by the Panel$Typings extension

For Panel.Horizontal|Horizontal and Panel.Vertical|Vertical Panels: gets or sets whether this Panel arranges its contents from the typical side (left and top, respectively), or the opposite side (right and bottom, respectively).
getter/setter pair
isPanelMain bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether a GraphObject is the "main" object for some types of Panel. Panels that use a "main" object include Panel.Auto, Panel.Spot, and Panel.Link.
getter/setter pair
itemArray Array?

Available on Panel, provided by the Panel$Typings extension

Gets or sets a JavaScript Array of values or objects, each of which will be represented by a Panel as elements in this Panel. Replacing this array results all of this panel's child objects being replaced with a copy of the Panel found in #itemTemplateMap for each particular item in the Array.
getter/setter pair
itemCategoryProperty Object

Available on Panel, provided by the Panel$Typings extension

Gets or sets the name of the item data property that returns a string describing that data's category, or a function that takes an item data object and returns that string; the default value is the name 'category'. This is used to distinguish between different kinds of items in the #itemArray.
getter/setter pair
itemIndex num

Available on Panel, provided by the Panel$Typings extension

Gets the index of this Panel's data if it was created to represent an item in its containing Panel's Panel#itemArray. The default value is NaN.
getter/setter pair
itemTemplate Panel

Available on Panel, provided by the Panel$Typings extension

Gets or sets the default Panel template used as the archetype for item data that are in #itemArray.
getter/setter pair
itemTemplateMap Map<String, Panel>?

Available on Panel, provided by the Panel$Typings extension

Gets or sets a Map mapping template names to Panels. One of these Panels is copied for each item data that is in the #itemArray. Replacing this map will automatically rebuild all of the elements in this Panel.
getter/setter pair
layer Layer?

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the GraphObject's containing Layer, if there is any. A plain GraphObject cannot belong directly to a Layer -- only a Part can belong directly to a Layer.
getter/setter pair
leftIndex num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the first column that this Panel displays. The default value is 0.
getter/setter pair
margin Object

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the size of empty area around this GraphObject, as a Margin, in the containing Panel coordinates.
getter/setter pair
maxSize Size

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the maximum size of this GraphObject in container coordinates (either a Panel or the document). Any new value must be of type Size; NaN values are treated as Infinity. If you want no maximum width or height, use NaN or Infinity.
getter/setter pair
measuredBounds Rect

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the measuredBounds of the GraphObject in container coordinates (either a Panel or the document). This describes the transformed bounds with margins excluded.
getter/setter pair
minSize Size

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the minimum size of this GraphObject in container coordinates (either a Panel or the document). Any new value must be of type Size; NaN values are treated as 0.
getter/setter pair
mouseDragEnter ↔ void Function(InputEvent, GraphObject, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user moves the mouse into this stationary object during a DraggingTool drag; this allows you to provide feedback during a drag based on where it might drop.
getter/setter pair
mouseDragLeave ↔ void Function(InputEvent, GraphObject, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user moves the mouse out of this stationary object during a DraggingTool drag; this allows you to provide feedback during a drag based on where it might drop.
getter/setter pair
mouseDrop ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when a user drops the selection on this object at the end of a DraggingTool drag; this allows you to customize the behavior when a drop occurs on an object.
getter/setter pair
mouseEnter ↔ void Function(InputEvent, GraphObject, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user moves the mouse into this object without holding down any buttons. This property is used by the ToolManager.
getter/setter pair
mouseHold ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user holds the mouse still for a while over this object while holding down a button. This property is used by the ToolManager.
getter/setter pair
mouseHover ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user holds the mouse still for a while over this object without holding down any buttons. This property is used by the ToolManager.
getter/setter pair
mouseLeave ↔ void Function(InputEvent, GraphObject, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user moves the mouse out of this object without holding down any buttons. This property is used by the ToolManager.
getter/setter pair
mouseOver ↔ void Function(InputEvent, GraphObject)?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the function to execute when the user moves the mouse over this object without holding down any buttons. This property is used by the ToolManager. This property is infrequently used -- it is more common to implement #mouseEnter and #mouseLeave functions.
getter/setter pair
name String

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the name for this object. The default value is the empty string. The name should be unique within a Panel, although if it isn't, it reduces the usefulness of methods such as Panel#findObject.
getter/setter pair
naturalBounds Rect

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the natural bounding rectangle of this GraphObject in local coordinates, before any transformation by #scale or #angle. Defaults to unknown (NaN,NaN).
getter/setter pair
opacity num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the multiplicative opacity for this GraphObject and (if a Panel) all elements. The value must be between 0.0 (fully transparent) and 1.0 (no additional transparency).
getter/setter pair
padding Object

Available on Panel, provided by the Panel$Typings extension

Gets or sets the space between this Panel's border and its content. Unlike GraphObject#margin, padding expands the area inside of the Panel's border. If this Panel's size is unconstrained, this will increase the size of the panel. If this Panel's size is constrained, this will decrease the total area for the Panel elements to arrange themselves.
getter/setter pair
panel Panel?

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the GraphObject's containing Panel, or null if this object is not in a Panel.
getter/setter pair
panelLayoutState ↔ dynamic

Available on Panel, provided by the Panel$Typings extension

Undocumented state for PanelLayouts
getter/setter pair
part Part?

Available on GraphObject, provided by the GraphObject$Typings extension

This read-only property returns the Part containing this object, if any. The Part will be the root GraphObject in this GraphObject's visual tree.
getter/setter pair
pickable bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether or not this GraphObject can be chosen by visual "find" or "hit-test" methods such as Diagram#findObjectAt.
getter/setter pair
portId String

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets an identifier for an object acting as a port on a Node. The default value is null -- this object is not a port.
getter/setter pair
position Point

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the position of this GraphObject in container coordinates (either a Panel or the document). Value must be of type Point. You cannot modify the x or y of the value of this property -- if you want to change the position you must set this property to a different Point. Default is Point(NaN, NaN).
getter/setter pair
row num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the row of this GraphObject if it is in a Table Panel. The value must be a small non-negative integer. The default is 0.
getter/setter pair
rowCount num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: This read-only property returns the number of rows. This value is only valid after the Panel has been measured.
getter/setter pair
rowSizing EnumValue

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets how this Panel's rows deal with extra space. Valid values are RowColumnDefinition.ProportionalExtra and RowColumnDefinition.None. The default is RowColumnDefinition.ProportionalExtra.
getter/setter pair
rowSpan num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the number of rows spanned by this GraphObject if it is in a Table Panel. The value must be a small positive integer. The default is 1.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scale num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the scale transform of this GraphObject. Value must be a number; larger values will make this object appear bigger. Default is 1.
getter/setter pair
segmentFraction num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the fractional distance along a segment of a GraphObject that is in a Link. The value should be between zero and one, where zero is at the point at the start of the segment, and where one is at the point at the end of the segment. The default value is zero.
getter/setter pair
segmentIndex num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the segment index of a GraphObject that is in a Link. Non-negative numbers count up from zero, which is the first segment, at the "from" end of the Link. Negative numbers count segments from the "to" end of the Link, where -1 means the last segment and -2 means the next-to-last segment. The default value is -Infinity. The value should be an integer or NaN.
getter/setter pair
segmentOffset Point

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the offset of a GraphObject that is in a Link from a point on a segment or in a Panel.Graduated from a point along the main element. The X component of the Point indicates the distance along the route, with positive values going further toward the "to" end of the link or panel. The Y component of the Point indicates the distance away from the route, with positive values towards the right as seen when facing further towards the "to" end of the link or panel. The value defaults to the Point (0, 0). You cannot modify the x or y of the value of this property -- if you want to change the segmentOffset you must set this property to a different Point.
getter/setter pair
segmentOrientation EnumValue

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the orientation of a GraphObject that is in a Link or Panel.Graduated. This controls the automatic rotation of the object by the Link Panel or Graduated Panel. The only accepted values are the Link "Orient..." values of Link and the default value: Link.None.
getter/setter pair
shadowVisible bool?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether or not this GraphObject will be shadowed inside a Part that has Part#isShadowed set to true.
getter/setter pair
spanAllocation num Function(GraphObject, RowColumnDefinition, num)?

Available on GraphObject, provided by the GraphObject$Typings extension

(undocumented)
getter/setter pair
stretch EnumValue

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the stretch of the GraphObject. This controls whether the width and/or height of this object automatically adjusts to fill the area allotted by the containing Panel.
getter/setter pair
toEndSegmentLength num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the length of the last segment of a link going to this port. This value is used when the computed "to spot" is not Spot.None. The default value is 10.
getter/setter pair
toLinkable bool?

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether the user may draw Links to this port. This property is used by LinkingBaseTool#isValidTo.
getter/setter pair
toLinkableDuplicates bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether the user may draw duplicate Links to this port. This property is used by LinkingBaseTool#isValidLink. The default value is false.
getter/setter pair
toLinkableSelfNode bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether the user may draw Links that connect to this port's Node. This property is used by LinkingBaseTool#isValidLink. The default value is false.
getter/setter pair

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the maximum number of links that may go into this port. This property is used by LinkingBaseTool#isValidTo.
getter/setter pair
toolTip ↔ dynamic

Available on GraphObject, provided by the GraphObject$Typings extension

This Adornment or HTMLInfo is shown when the mouse hovers over this object. The default value is null, which means no tooltip is shown.
getter/setter pair
topIndex num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets or sets the first row that this Panel displays. The default value is 0.
getter/setter pair
toShortLength num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets how far the end segment of a link going to this port stops short of the actual port. Positive values are limited by the #toEndSegmentLength or Link#toEndSegmentLength. Negative values cause the link to extend into the port. The default value is zero.
getter/setter pair
toSpot Spot

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets where a link should connect to this port. The default value is Spot.None, meaning that the link routing must consider the shape of the port and connect to the closest point.
getter/setter pair
type PanelLayout

Available on Panel, provided by the Panel$Typings extension

Gets or sets the type of the Panel, which controls how the Panel's elements are measured and arranged. The value must be an instance of PanelLayout. The only predefined values are listed as constant properties of Panel, including:
getter/setter pair
viewboxStretch EnumValue

Available on Panel, provided by the Panel$Typings extension

For Panel.Viewbox|Viewbox Panels: Gets or sets how the panel will resize its content.
getter/setter pair
visible bool

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets whether a GraphObject is visible. The default value is true. A not visible object takes no space in the Panel that it is in. Toggling visibility may cause elements in the visual tree to re-measure and re-arrange. Making a Panel not visible causes all of its elements not to be seen or receive input events. Changing a Panel to become visible causes all of its elements to be seen and be active, unless those elements are themselves not visible.
getter/setter pair
width num

Available on GraphObject, provided by the GraphObject$Typings extension

Gets or sets the desired width of this GraphObject in local coordinates. This just gets or sets the width component of the #desiredSize. Default is NaN.
getter/setter pair

Methods

add([Iterable? elements]) Panel

Available on Panel, provided by the Panel$Typings extension

Adds a number of GraphObjects to the end of this Panel's list of elements, visually in front of all of the other elements.
addColumnDefinition(num colIndex, dynamic options) Panel

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Sets the column RowColumnDefinition given by the index. If the column definition does not exist on the Panel, this will create it. If it already exists on the Panel, this will copy the properties of the given RowColumnDefinition options onto that definition.
addRowColumnDefinition(RowColumnDefinition rowOrColumnDef) Panel

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Sets the given RowColumnDefinition. If the row or column definition does not exist on the Panel, this will create it. If it already exists on the Panel, this will copy the properties of the given RowColumnDefinition onto that RowColumnDefinition. @since 2.3 @param {RowColumnDefinition} rowOrColumnDef the non-negative zero-based integer column index. @return {Panel} this Panel @see #addRowDefinition @see #addColumnDefinition
addRowDefinition(num rowIndex, dynamic options) Panel

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Sets the row RowColumnDefinition given by the index. If the row definition does not exist on the Panel, this will create it. If it already exists on the Panel, this will copy the properties of the given RowColumnDefinition options onto that definition.
apply(void func(GraphObject)) GraphObject

Available on GraphObject, provided by the GraphObject$Typings extension

This method takes a function that can be used to apply multiple settings, bindings, or Panel#add calls, to different GraphObjects. This is common in initialization. If you are just adding settings, bindings, or GraphObjects to a single GraphObject, you do not need to use this, you can just chain calls to #set, #bind, and Panel#add instead. This method is mostly useful when setting the same values across multiple GraphObjects.
attach([dynamic config]) GraphObject

Available on GraphObject, provided by the GraphObject$Typings extension

This method sets a collection of properties according to the property/value pairs on the given Object, or array of Objects, in the same manner as GraphObject.make does when constructing a GraphObject.
cloneProtected(GraphObject copy) → void

Available on GraphObject, provided by the GraphObject$Typings extension

Copies properties from this object to the given object, which must be of the same class. This is called by #copy. This method may be overridden.
copy() Panel

Available on Panel, provided by the Panel$Typings extension

Creates a deep copy of this Panel and returns it. @return {Panel}
copy() GraphObject

Available on GraphObject, provided by the GraphObject$Typings extension

Creates a deep copy of this GraphObject and returns it. This method is the same as a clone for simple GraphObjects such as Shape, TextBlock, and Picture. For Panel this method copies the visual tree of GraphObjects that it contains. @expose @return {GraphObject}
copyTemplate([bool? freeze]) Panel

Available on Panel, provided by the Panel$Typings extension

Make a deep copy of this Panel and allow it to be used as a template. This makes copies of Bindings, unlike the regular copy() method. Pass true as the argument in order to freeze the Bindings, allowing it to operate efficiently as a template. A false value (which is the default) allows further additions/modifications of the bindings in the copied Panel. @since 2.2 @param {boolean=} freeze whether to freeze the Bindings in the copy; default is false @return {Panel}
elt(num idx) GraphObject

Available on Panel, provided by the Panel$Typings extension

Returns the GraphObject in this Panel's list of elements at the specified index. @param {number} idx @return {GraphObject}
findBindingPanel() Panel?

Available on GraphObject, provided by the GraphObject$Typings extension

Walks up the visual tree and returns the first Panel whose Panel.data is bound to data. This can be useful when you need to inspect Panel#data objects. @since 2.2 @return {Panel}
findColumnForLocalX(num x) num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Returns the cell at a given x-coordinate in local coordinates, or -1 if there are no RowColumnDefinitions for this Table Panel or if the argument is negative. Call GraphObject#getLocalPoint to convert a Point in document coordinates into a Point in local coordinates.
findItemPanelForData(Object data) Panel?

Available on Panel, provided by the Panel$Typings extension

Return the Panel that was made for a particular data object in this panel's #itemArray. If this returns a Panel, its #data property will be the argument data object, and its containing GraphObject#panel will be this panel. @param {Object} data must be an Object, not a string or a number or a boolean or a function @return {Panel} or null if not found @since 1.6
findMainElement() GraphObject?

Available on Panel, provided by the Panel$Typings extension

Return an immediate child element whose GraphObject#isPanelMain is true, or else just return the first child element. @return {GraphObject} this may return null if there are no child elements @since 1.5
findObject(String name) GraphObject?

Available on Panel, provided by the Panel$Typings extension

Search the visual tree starting at this Panel for a GraphObject whose GraphObject#name is the given name.
findRowForLocalY(num y) num

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Returns the row at a given y-coordinate in local coordinates, or -1 if there are no RowColumnDefinitions for this Table Panel or if the argument is negative. Call GraphObject#getLocalPoint to convert a Point in document coordinates into a Point in local coordinates.
findTemplateBinder() Panel?

Available on GraphObject, provided by the GraphObject$Typings extension

(undocumented) This never-documented method has been renamed #findBindingPanel for v2.2 and will be removed in v3.0. @return {Panel}
getColumnDefinition(num idx) RowColumnDefinition

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets the RowColumnDefinition for a particular column. If you ask for the definition of a column at or beyond the #columnCount, it will automatically create one and return it.
getDocumentAngle() num

Available on GraphObject, provided by the GraphObject$Typings extension

Returns the effective angle that the object is drawn at, in document coordinates, normalized to between 0 and 360.
getDocumentBounds([Rect? result]) Rect

Available on GraphObject, provided by the GraphObject$Typings extension

Returns the Rect in document coordinates for this object's bounds. If this GraphObject is a Part, the rect will be identical to its #actualBounds. @param {Rect=} result an optional Rect that is modified and returned. @return {Rect} in document coordinates. @see #getDocumentPoint @since 2.0
getDocumentPoint(Object local, [Point? result]) Point

Available on GraphObject, provided by the GraphObject$Typings extension

Returns the Point in document coordinates for a given Spot in this object's bounds or for a Point in local coordinates.
getDocumentScale() num

Available on GraphObject, provided by the GraphObject$Typings extension

Returns the total scale that the object is drawn at, in document coordinates.
getLocalPoint(Point p, [Point? result]) Point

Available on GraphObject, provided by the GraphObject$Typings extension

Given a Point in document coordinates, returns a new Point in local coordinates.
getRowDefinition(num idx) RowColumnDefinition

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Gets the RowColumnDefinition for a particular row. If you ask for the definition of a row at or beyond the #rowCount, it will automatically create one and return it.
graduatedPointForValue(num val, [Point? result]) Point

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: Returns the point that corresponds with a value, in the panel's coordinates.
graduatedValueForPoint(Point pt) num

Available on Panel, provided by the Panel$Typings extension

For Panel.Graduated|Graduated Panels: Returns the value that corresponds with the given Point. The Point must be in the panel's coordinates. The value returned will be in the Graduated Panel's range.
insertAt(num index, GraphObject element) → void

Available on Panel, provided by the Panel$Typings extension

Adds a GraphObject to the Panel's list of elements at the specified index.
isContainedBy(GraphObject panel) bool

Available on GraphObject, provided by the GraphObject$Typings extension

This predicate is true if this object is an element, perhaps indirectly, of the given panel.
isEnabledObject() bool

Available on GraphObject, provided by the GraphObject$Typings extension

This predicate is false if this object is inside any Panel that is not Panel#isEnabled, or if this is itself a disabled panel. This ignores the #visible and #pickable properties. @return {boolean} @see #enabledChanged @see Panel#isEnabled @since 1.7
isVisibleObject() bool

Available on GraphObject, provided by the GraphObject$Typings extension

This predicate is true if this object is #visible and each of its visual containing panels is also visible. This ignores the actual location or appearance (except visibility) of the panel that this object is part of, as well as ignoring all properties of the Layer or Diagram.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rebuildItemElements() → void

Available on Panel, provided by the Panel$Typings extension

Create and add new GraphObjects corresponding to and bound to the data in the #itemArray, after removing all existing elements from this Panel. This method is automatically called when replacing the #itemArray value, or when changing the value of #itemTemplate or #itemTemplateMap.
remove(GraphObject element) → void

Available on Panel, provided by the Panel$Typings extension

Removes a GraphObject from this Panel's list of elements. @param {GraphObject} element A GraphObject.
removeAt(num idx) → void

Available on Panel, provided by the Panel$Typings extension

Removes an GraphObject from this Panel's list of elements at the specified index. @param {number} idx
removeColumnDefinition(num idx) → void

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Removes the RowColumnDefinition for a particular row.
removeRowDefinition(num idx) → void

Available on Panel, provided by the Panel$Typings extension

For Panel.Table|Table Panels: Removes the RowColumnDefinition for a particular row.
set(dynamic config) GraphObject

Available on GraphObject, provided by the GraphObject$Typings extension

Set any number of properties on this GraphObject. This is common in initialization. This method can only be used to set existing properties on this object. To attach new properties, or to set properties of elements, use GraphObject#setProperties.
setProperties(Object props) GraphObject

Available on GraphObject, provided by the GraphObject$Typings extension

This method sets a collection of properties according to the property/value pairs on the given Object, in the same manner as GraphObject.make does when constructing a GraphObject with an argument that is a simple JavaScript Object.
toString() String
A string representation of this object.
inherited
trigger(AnimationTrigger trigger) GraphObject

Available on GraphObject, provided by the GraphObject$Typings extension

Adds an AnimationTrigger to this GraphObject. @since 2.2 @param {AnimationTrigger} trigger an AnimationTrigger @return {Panel}
updateTargetBindings([String? srcprop]) → void

Available on Panel, provided by the Panel$Typings extension

Re-evaluate all data bindings on this panel, in order to assign new property values to the GraphObjects in this visual tree based on this object's #data property values.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

auto PanelLayout
This value for #type resizes the main element to fit around the other elements; the main element is the first GraphObject with GraphObject#isPanelMain set to true, or else the first GraphObject if none have that property set to true.
getter/setter pair
graduated PanelLayout
This value for #type is used to draw regular tick marks and labels along some shape. The main element is the first GraphObject with GraphObject#isPanelMain set to true, or else the first GraphObject if none have that property set to true.
getter/setter pair
grid PanelLayout
This value for #type is used to draw regular patterns of lines.
getter/setter pair
horizontal PanelLayout
This value for #type lays out the elements horizontally with their GraphObject#alignment property dictating their alignment on the Y-axis.
getter/setter pair
This value for #type is used for Links and adornments that act as Links.
getter/setter pair
position PanelLayout
The default #type, arranges each element according to their GraphObject#position.
getter/setter pair
spot PanelLayout
This value for #type arranges GraphObjects about a main element using the GraphObject#alignment and GraphObject#alignmentFocus properties; the main element is the first GraphObject with GraphObject#isPanelMain set to true, or else the first GraphObject if none have that property set to true.
getter/setter pair
table PanelLayout
This value for #type arranges GraphObjects into rows and columns; set the GraphObject#row and GraphObject#column properties on each element.
getter/setter pair
tableColumn PanelLayout
Organizational Panel type that is only valid inside of a Table panel; This Panel ignores its angle and scale, and does not have a meaningful size on its own, it is only an organizational container for other elements of a Panel.
getter/setter pair
tableRow PanelLayout
Organizational Panel type that is only valid inside of a Table panel; This Panel ignores its angle and scale, and does not have a meaningful size on its own, it is only an organizational container for other elements of a Panel.
getter/setter pair
vertical PanelLayout
This value for #type lays out the elements vertically with their GraphObject#alignment property dictating their alignment on the X-axis.
getter/setter pair
viewbox PanelLayout
This value for #type rescales a single GraphObject to fit inside the panel depending on the panel's Panel#viewboxStretch property.
getter/setter pair

Static Methods

definePanelLayout(String layoutName, PanelLayout layout) → void
Register a PanelLayout. This is called when making new Panel types. See the PanelLayout sample for an example.