Cells

Cells

Every control in IntraWeb is actually rendered into a Cell. This behaviour is transparent but is used to control positioning and other features.

Cell Type Varies

The type of cell that a control exists in depends on the layout that the control is a child of. Every layout has its own type of Cell. Some layouts use CellNone, in which the cell is virtual and in the HTML there actually is no element that corresponds to the cell.

Stack uses CellStack. The cell, although its type changes depending on the layout parent, can be accessed using the .Cell property of the layout. Because each layout has a different type of Cell, the properties of the .Cell also change depending on which layout container the controls are contained in.

This makes the cell 300pt wide and aligns the Button to the right side of it. For the Fixed layout, Cell has X and Y properties that are not available in other Cells. Varying Cells allows each layout to add its own functionality to each child control.

ACORN 1.0 IWML 1.0
Page
  Stack
    Edit Hello World
    gap
    Button
      Cell.
        Width: 300
        HAlign: Right
      Text: OK

. Suffix

Note the use of . at the end of Cells. This syntax specifies that properties in the owned block are to apply to a property that is an object on the parent. That is, Cell is a property but it is an object itself that exists on Button. It is not a control or array, and is a contained object.

Immediate Syntax

Cells can also be referenced using an immediate syntax as well: