Class RowColumnDefinition

GoJS® Diagramming Components
version 3.0.16
by Northwoods Software®

The RowColumnDefinition class describes constraints on a row or a column in a Panel of type "Table". It also provides information about the actual layout after the Table Panel has been arranged.

Index

Constructors

Accessors

  • This read-only property returns the usable row height or column width, after arrangement, in local coordinates, that objects in this row or column can be arranged within. This does not include separatorPadding or separatorStrokeWidth, as total does.

    This value gives the row height if isRow is true; otherwise this gives the column width. The value is meaningless until after the Table Panel using this RowColumnDefinition has been arranged.

  • Gets or sets the background color for a particular row or column, which fills the entire span of the row or column, including any separatorPadding.

    The default value is null, which means nothing is drawn in the background of the row or column.

  • Determines whether or not the background, if there is one, is in front of or behind the separators.

    The default value is false -- any background is drawn behind any separator lines.

  • Gets or sets the row height, in local coordinates. This describes the row height if isRow is true; otherwise this property is meaningless. The value must be non-negative and finite.

    The default value is NaN, which means this row will get a height that is just big enough to hold all of the objects in the row.

    Setting this value to a number will mean that all of the objects of this Panel in this row will be allocated that amount of row height. Whether an object in the row is actually arranged to have that height depends on whether the GraphObject.stretch stretches vertically.

  • This read-only property is true when this describes a row instead of a column in the panel. When this is true, the height, minimum, and maximum all describe the row height. Otherwise width and the other two properties describe the column width.

  • Gets or sets the maximum row height or column width, in local coordinates. The maximum describes the row height if isRow is true; otherwise this describes the column width.

    The value must be non-negative. The default value is Infinity. The arranged height of all objects in this row, or the arranged width of all objects in this column, will be no greater than this value.

  • Gets or sets the minimum row height or column width, in local coordinates. The minimum describes the row height if isRow is true; otherwise this describes the column width.

    The value must be non-negative and finite. The default value is zero. The arranged height of all objects in this row, or the arranged width of all objects in this column, will be no less than this value.

  • This read-only property returns the Panel that this row or column definition is in.

  • This read-only property returns the total arranged row height or column width, after arrangement, in local coordinates. This value gives the actual size plus the separatorPadding and separatorStrokeWidth.

    This value gives the vertical space occupied by the row if isRow is true; otherwise this gives the horizontal space occupied by the column. The value is meaningless until after the Table Panel using this RowColumnDefinition has been arranged.

  • Gets or sets the column width, in local coordinates. The size describes the column width if isRow is false; otherwise this property is meaningless. The value must be non-negative and finite.

    The default value is NaN, which means this column will get a width that is just big enough to hold all of the objects in the column.

    Setting this value to a number will mean that all of the objects of this Panel in this column will be allocated that amount of column width. Whether an object in the column is actually arranged to have that width depends on whether the GraphObject.stretch stretches horizontally.

Methods

  • Add a data-binding to this RowColumnDefinition for the given property names and optional conversion function.

    Parameters

    • Optional targetprop: string

      A string naming the target property on the target object. This should not be the empty string.

    • Optional sourceprop: string

      A string naming the source property on the bound data object. If this is the empty string, the whole Panel.data object is used. If this argument is not supplied, the source property is assumed to be the same as the target property.

    • Optional conv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the data property value to the value to set the target property. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional backconv: ((val: any, sourceData: any, model: Model) => any)

      An optional conversion function to convert property values back to data values. Specifying this modifies the binding to set its Binding.mode to be BindingMode.TwoWay.

        • (val: any, sourceData: any, model: Model): any
        • Parameters

          • val: any
          • sourceData: any
          • model: Model

          Returns any

    Returns this

    this RowColumnDefinition

    since

    2.2

  • Add a data-binding of a property on this RowColumnDefinition to a property on a data object.

    Read more about Bindings at the Introduction page about Data Bindings.

    Parameters

    Returns this

    this RowColumnDefinition

  • This convenience function works like GraphObject.bind, creating a Binding, then also calls Binding.makeTwoWay on it. These are equivalent:

    .bind("text", "text", null, null)
    .bindTwoWay("text")

    As are these:

    .bind("text", "someProp", null, null)
    .bindTwoWay("text", "someProp")

    The first creates a two-way binding because specifying anything for the 4th argument (BackConversion) automatically sets the Binding.mode to be BindingMode.TwoWay. However, it requires specifying the middle arguments, which may not be necessary.

    Read more about Bindings at the Introduction page about Data Bindings.

    Parameters

    • targetprop: string | Binding

      A string naming the target property on this GraphObject. This should not be the empty string. This becomes the value of Binding.targetProperty.

    • Optional sourceprop: string

      A string naming the source property on the bound data object. If this is the empty string, the whole Panel.data object is used. If this argument is not supplied, the source property is assumed to be the same as the target property. This becomes the value of Binding.sourceProperty.

    • Optional conv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the data property value to the value to set the target property. If the function is null or not supplied, no conversion takes place. This becomes the value of Binding.converter.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional backconv: ((val: any, sourceData: any, model: Model) => any)

      An optional conversion function to convert GraphObject property values back to data values. Specifying this modifies the binding to set its Binding.mode to be BindingMode.TwoWay. This becomes the value of Binding.backConverter.

        • (val: any, sourceData: any, model: Model): any
        • Parameters

          • val: any
          • sourceData: any
          • model: Model

          Returns any

    Returns this

    this GraphObject

    since

    3.0

  • Add a ThemeBinding from a Theme property to a property on this RowColumnDefinition.

    Read more about theming at the Introduction page about Themes.

    Parameters

    • targetprop: string

      A string naming the target property on the target object. This should not be the empty string.

    • Optional sourceprop: string

      A string naming the source property on the theme. This should not be the empty string. If this argument is not supplied, the source property is assumed to be the same as the target property.

    • Optional themeSource: string

      The theme source object to search for the source property. If this argument is null or not supplied, the empty-string is used.

    • Optional conv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the source property to the theme property name. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional themeconv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the theme value to the value to set the target property. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    Returns this

    this RowColumnDefinition

    since

    3.0

  • Add a ThemeBinding from a data property to a property on this RowColumnDefinition.

    This is a convenience function for theme that additionally calls ThemeBinding.ofData on the created binding.

    Read more about theming at the Introduction page about Themes.

    Parameters

    • targetprop: string

      A string naming the target property on the target object. This should not be the empty string.

    • Optional sourceprop: string

      A string naming the source property on the theme. This should not be the empty string. If this argument is not supplied, the source property is assumed to be the same as the target property.

    • Optional themeSource: string

      The theme source object to search for the source property. If this argument is null or not supplied, the empty-string is used.

    • Optional conv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the source property to the theme property name. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional themeconv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the theme value to the value to set the target property. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    Returns this

    this RowColumnDefinition

    since

    3.0

  • Add a ThemeBinding from the shared Model.modelData to a property on this RowColumnDefinition.

    This is a convenience function for theme that additionally calls Binding.ofModel on the created binding.

    Read more about theming at the Introduction page about Themes.

    Parameters

    • targetprop: string

      A string naming the target property on the target object. This should not be the empty string.

    • Optional sourceprop: string

      A string naming the source property on the theme. This should not be the empty string. If this argument is not supplied, the source property is assumed to be the same as the target property.

    • Optional themeSource: string

      The theme source object to search for the source property. If this argument is null or not supplied, the empty-string is used.

    • Optional conv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the source property to the theme property name. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional themeconv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the theme value to the value to set the target property. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    Returns this

    this RowColumnDefinition

    since

    3.0

  • Add a ThemeBinding from a GraphObject property to a property on this RowColumnDefinition.

    This is a convenience function for theme that additionally calls Binding.ofObject on the created binding. It passes the objectSrcname param to the Binding.ofObject call.

    Read more about theming at the Introduction page about Themes.

    Parameters

    • targetprop: string

      A string naming the target property on the target object. This should not be the empty string.

    • Optional sourceprop: string

      A string naming the source property on the theme. This should not be the empty string. If this argument is not supplied, the source property is assumed to be the same as the target property.

    • Optional themeSource: string

      The theme source object to search for the source property. If this argument is null or not supplied, the empty-string is used.

    • Optional conv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the source property to the theme property name. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional themeconv: ((val: any, targetObj: any) => any)

      An optional side-effect-free function converting the theme value to the value to set the target property. If the function is null or not supplied, no conversion takes place.

        • (val: any, targetObj: any): any
        • Parameters

          • val: any
          • targetObj: any

          Returns any

    • Optional objectSrcname: string

      the GraphObject.name of an element in the visual tree of the bound Panel If not supplied, it uses the binding Panel as the source GraphObject.

    Returns this

    this RowColumnDefinition

    since

    3.0

Properties

deprecated

See Sizing.Default.

deprecated

See Sizing.None.

deprecated

See Sizing.ProportionalExtra.