Libraries.Interface.Layouts.SpreadsheetLayout Documentation
The SpreadsheetLayout class is used by the Spreadsheet to layout its columns. Importantly, it does extra work to ensure that each cell in a row has the same height across all of the columns. This layout is designed explicitly for use in the Spreadsheet and is not intended for use with other controls.
Inherits from: Libraries.Language.Object, Libraries.Interface.Layouts.FlowLayout, Libraries.Interface.Layouts.Layout
Summary
Actions Summary Table
Actions | Description |
---|---|
Compare(Libraries.Language.Object object) | This action compares two object hash codes and returns an integer. |
Equals(Libraries.Language.Object object) | This action determines if two objects are equal based on their hash code values. |
GetHashCode() | This action gets the hash code for an object. |
IsIgnoringHidden() | If there's no space left to fill, fill the next line instead. |
IsIgnoringInterfaceScale() | next line (and resets to 0). |
IsSingleLine() | Boolean used to ensure we don't perform redundant resizing on a control. |
IsVerticalCentering() | Boolean used to ensure we don't perform redundant resizing on items that were already fit to their contents while fitting the container width to its contents. |
Layout(Libraries.Interface.Controls.Control container, Libraries.Containers.Array<Libraries.Interface.Item2D> items, number newContainerWidth, number newContainerHeight) | Objects are placed such that their top edge is at the currentY. |
SetIgnoreHidden(boolean ignore) | We had to place all elements before to determine the height of the container, but now that the height is known we need to ensure the items are placed at the right y positions. |
SetIgnoreInterfaceScale(boolean ignore) | Objects are placed such that their top edge is at the currentY. |
SetSingleLine(boolean single) | Setting the height will trigger a resize. |
SetVerticalCentering(boolean centering) | We have to estimate the height now to determine the width. |
Actions Documentation
Compare(Libraries.Language.Object object)
This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.
Example Code
Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)
Parameters
- Libraries.Language.Object: The object to compare to.
Return
integer: The Compare result, Smaller, Equal, or Larger.
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Example Code
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
Parameters
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
GetHashCode()
This action gets the hash code for an object.
Example Code
Object o
integer hash = o:GetHashCode()
Return
integer: The integer hash code of the object.
IsIgnoringHidden()
If there's no space left to fill, fill the next line instead.
Return
boolean:
IsIgnoringInterfaceScale()
next line (and resets to 0).
Return
boolean:
IsSingleLine()
Boolean used to ensure we don't perform redundant resizing on a control.
Return
boolean:
IsVerticalCentering()
Boolean used to ensure we don't perform redundant resizing on items that were already fit to their contents while fitting the container width to its contents.
Return
boolean:
Layout(Libraries.Interface.Controls.Control container, Libraries.Containers.Array<Libraries.Interface.Item2D> items, number newContainerWidth, number newContainerHeight)
Objects are placed such that their top edge is at the currentY.
Parameters
SetIgnoreHidden(boolean ignore)
We had to place all elements before to determine the height of the container, but now that the height is known we need to ensure the items are placed at the right y positions.
Parameters
SetIgnoreInterfaceScale(boolean ignore)
Objects are placed such that their top edge is at the currentY.
Parameters
SetSingleLine(boolean single)
Setting the height will trigger a resize.
Parameters
SetVerticalCentering(boolean centering)
We have to estimate the height now to determine the width.