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.
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.
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.
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.
For Panel.Table|Table Panels: Gets or sets the default dash array for a column's separator.
RowColumnDefinition#separatorStrokeWidth can override this default value.
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.
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.
For Panel.Table|Table Panels: Gets or sets the default dash array for a row's separator.
RowColumnDefinition#separatorDashArray can override this default value.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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:
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.
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
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.
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}
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.
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
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
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.
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.
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.
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.
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.
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.