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#
Copy
public class Box : Container, IAccessibleObject
Inheritance
Implements

Constructors

View Source

Box(EvasObject)

Creates and initializes a new instance of the Box class.

Declaration
C#
Copy
public 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

View Source

IsHomogeneous

Sets or gets whether the box has to arrange its children homogeneously.

Declaration
C#
Copy
public bool IsHomogeneous { get; set; }
Property Value
Type Description
Boolean
API Level: preview
View Source

IsHorizontal

Sets or gets the IsHorizontal value, which describe the pack direction. Vertical is default.

Declaration
C#
Copy
public bool IsHorizontal { get; set; }
Property Value
Type Description
Boolean
API Level: preview

Methods

View Source

Clear()

Clears the box's of all the children. Remove all the elements contained by the box, deleting the respective objects.

Declaration
C#
Copy
public void Clear()
API Level: preview
View Source

CreateHandle(EvasObject)

Creates a widget handle.

Declaration
C#
Copy
protected override IntPtr CreateHandle(EvasObject parent)
Parameters
Type Name Description
EvasObject parent

Parent EvasObject.

Returns
Type Description
System.IntPtr

Handle IntPtr.

Overrides
API Level: preview
View Source

GetPartColor(String)

Gets the color of the exact part of the box's layout parent.

Declaration
C#
Copy
public 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
View Source

PackAfter(EvasObject, EvasObject)

Adds a "content" object to the box after the "after" object.

Declaration
C#
Copy
public 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
View Source

PackBefore(EvasObject, EvasObject)

Adds a "content" object to the box before the "before" object.

Declaration
C#
Copy
public 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
View Source

PackEnd(EvasObject)

Adds an object at the end of the pack list.

Declaration
C#
Copy
public 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
View Source

PackStart(EvasObject)

Adds a "content" object to the beginning of the pack list.

Declaration
C#
Copy
public 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
View Source

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#
Copy
public void Recalculate()
API Level: preview
View Source

SetBoxAlignment(Double, Double)

Sets or gets the alignment of the whole bounding box of contents.

Declaration
C#
Copy
public void SetBoxAlignment(double horizontal, double vertical)
Parameters
Type Name Description
System.Double horizontal

Horizontal alignment.

System.Double vertical

Vertical alignment.

API Level: preview
View Source

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#
Copy
public void SetLayoutCallback(Action action)
Parameters
Type Name Description
System.Action action

The callback function used for layout.

API Level: preview
View Source

SetPadding(Int32, Int32)

Sets or gets the space (padding) between the box's elements.

Declaration
C#
Copy
public void SetPadding(int horizontal, int vertical)
Parameters
Type Name Description
System.Int32 horizontal

Horizontal padding.

System.Int32 vertical

Vertical padding.

API Level: preview
View Source

SetPartColor(String, Color)

Sets the color of the exact part to the box's layout parent.

Declaration
C#
Copy
public 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
View Source

UnPack(EvasObject)

Removes the "content" object from the box without deleting it.

Declaration
C#
Copy
public void UnPack(EvasObject content)
Parameters
Type Name Description
EvasObject content

The object to unpack.

API Level: preview
View Source

UnPackAll()

Removes all the objects from the Box container.

Declaration
C#
Copy
public void UnPackAll()
API Level: preview

Implements

Extension Methods