Class Box
Definition
- Namespace:
- ElmSharp
- Assembly:
- ElmSharp.dll
- API Level:
- preview
The Box is a container that is used to arrange UI components in a linear order.
C#Copypublic class Box : Container, IAccessibleObject
- Inheritance
- Implements
Constructors
Declaration
C#Copypublic Box(EvasObject parent)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | parent | The EvasObject to which the new Box will be attached as a child. |
API Level: preview
Properties
Declaration
C#Copypublic bool IsHomogeneous { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
API Level: preview
IsHorizontal
Sets or gets the IsHorizontal value, which describe the pack direction. Vertical is default.
Declaration
C#Copypublic bool IsHorizontal { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
API Level: preview
Methods
Clear()
Clears the box's of all the children. Remove all the elements contained by the box, deleting the respective objects.
Declaration
C#Copypublic void Clear()
API Level: preview
Declaration
C#Copyprotected override IntPtr CreateHandle(EvasObject parent)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | parent | Parent EvasObject. |
Returns
Type | Description |
---|---|
System.IntPtr | Handle IntPtr. |
Overrides
API Level: preview
Declaration
C#Copypublic override Color GetPartColor(string part)
Parameters
Type | Name | Description |
---|---|---|
System.String | part | The name of part class, it could be 'bg', 'elm.swllow.content'. |
Returns
Type | Description |
---|---|
Color |
Overrides
API Level: preview
PackAfter(EvasObject, EvasObject)
Adds a "content" object to the box after the "after" object.
Declaration
C#Copypublic void PackAfter(EvasObject content, EvasObject after)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | content | The object will be added in the box. |
EvasObject | after | The object has been added in the box. |
Remarks
This will add the "content" to the box indicated after the object indicated with "after". If "after" is not already in the box, the results are undefined. After means either to the right of the "after" object or below it, depending on orientation.
API Level: preview
PackBefore(EvasObject, EvasObject)
Adds a "content" object to the box before the "before" object.
Declaration
C#Copypublic void PackBefore(EvasObject content, EvasObject before)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | content | The object will be added in the box. |
EvasObject | before | The object has been added in the box. |
Remarks
This will add the "content" to the box indicated before the object indicated with "before". If "before" is not already in the box, the results are undefined. Before means either to the left of the "before" object or below it, depending on orientation.
API Level: preview
Declaration
C#Copypublic void PackEnd(EvasObject content)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | content | The oject to be packed. |
Remarks
Packs the "content" object into the Box, placing it last in the list of children objects. The actual position of the object will get on the screen depending on the layout used. If no custom layout is set, it will be at the bottom or right, depending if the Box is vertical or horizontal, respectively.
API Level: preview
Declaration
C#Copypublic void PackStart(EvasObject content)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | content | The object to be packed. |
Remarks
Packs the "content" object into the box object, placing it first in the list of children objects. The actual position of the object will get on the screen depending on the layout used. If no custom layout is set, it will be at the top or left, depending if the Box is vertical or horizontal, respectively.
API Level: preview
Recalculate()
Forces the box to recalculate its children packing. If any children were added or removed, the box will not calculate the values immediately, rather leaving it to the next main loop iteration. While this is great as it would save lots of recalculation, whenever you need to get the position of a just added item, you must force recalculate before doing so.
Declaration
C#Copypublic void Recalculate()
API Level: preview
SetBoxAlignment(Double, Double)
Sets or gets the alignment of the whole bounding box of contents.
Declaration
C#Copypublic void SetBoxAlignment(double horizontal, double vertical)
Parameters
Type | Name | Description |
---|---|---|
System.Double | horizontal | Horizontal alignment. |
System.Double | vertical | Vertical alignment. |
API Level: preview
SetLayoutCallback(Action)
Whenever any changes that requires the box in object to recalculate the size and position of its elements, the function cb will be called to determine what the layout of the children will be.
Declaration
C#Copypublic void SetLayoutCallback(Action action)
Parameters
Type | Name | Description |
---|---|---|
System.Action | action | The callback function used for layout. |
API Level: preview
Declaration
C#Copypublic void SetPadding(int horizontal, int vertical)
Parameters
Type | Name | Description |
---|---|---|
Int32 | horizontal | Horizontal padding. |
Int32 | vertical | Vertical padding. |
API Level: preview
SetPartColor(String, Color)
Sets the color of the exact part to the box's layout parent.
Declaration
C#Copypublic override void SetPartColor(string part, Color color)
Parameters
Type | Name | Description |
---|---|---|
System.String | part | The name of part class, it could be 'bg', 'elm.swllow.content'. |
Color | color | The color value. |
Overrides
API Level: preview
Declaration
C#Copypublic void UnPack(EvasObject content)
Parameters
Type | Name | Description |
---|---|---|
EvasObject | content | The object to unpack. |
API Level: preview
Declaration
C#Copypublic void UnPackAll()