ae.ui.wm.controls.control

ae.ui.wm.controls.control

Members

Classes

Column
class Column

1D table for a column of controls.

ContainerControl
class ContainerControl

An abstract base class for a control with children.

Control
class Control

Root control class.

Layers
class Layers

All children occupy the entire area of the control. The control grows as necessary to accommodate all layers.

RootControl
class RootControl

Container for all top-level windows. The root control's children are, semantically, layers.

Row
class Row

1D table for a row of controls.

StaticFitContainerControl
class StaticFitContainerControl

Container with static child positions. Does not rearrange its children. Dimensions are bound by the lowest/right-most child.

Table
class Table

Space out controls in a 2D grid, according to their dimensions and resizability.

Wrapper
class Wrapper

No-op wrapper

Mixins

__anonymous
mixin _DeclareWrapper!("Size", SizeBehavior, RelativeSize)

Wrapper to override the parent hint to a specific size.

__anonymous
mixin _DeclareWrapper!("Shrink", ShrinkBehavior)

Wrapper to override the parent hint to 0, thus making the wrapped control as small as it can be.

__anonymous
mixin _DeclareWrapper!("Center", CenterBehavior)

If content is smaller than parent hint, center the content and use parent hint for own size.

__anonymous
mixin _DeclareWrapper!("Pad", PadBehavior, RelativeSize)

Add some padding on both sides of the content.

Mixin templates

ComplementWrapperBehavior
mixintemplate ComplementWrapperBehavior(alias WrapperBehavior, Params...)

Provides default implementations for wrapper behavior methods

_DeclareWrapper
mixintemplate _DeclareWrapper(string name, alias WrapperBehavior, Params...)
Undocumented in source.

Properties

percent
RelativeSize percent [@property getter]

Usage: 25.percent

px
RelativeSize px [@property getter]

Usage: 50.px

Structs

RelativeSize
struct RelativeSize

Allow specifying a size as a combination of parent size % and pixels. Sizes are summed together.

Meta

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Authors

Vladimir Panteleev <ae@cy.md>