struct

Tryst::UI::CellPosition

Inherits Struct < Value < Object

A node's position inside its parent ui.grid, set by WidgetDSL#cell. Its own record rather than a Hash, which a nested structure like this could not be anyway - TclArgValue's union has no room for one, the same reason WidgetType#flow needs FlowConfig.

colspan/rowspan rather than a lone span: - a symmetric, self-documenting pair, where span:/rowspan: reads as though the two were different kinds of thing. The per-cell overrides below are all nilable on purpose: nil means "say nothing", so Realizer#arrange_grid falls back to the grid's own defaults (sticky ew, padx/pady from gap:) exactly as it did before any of them existed.

Constructors

new(row : Int32, col : Int32, colspan : Int32 = 1, rowspan : Int32 = 1, sticky : String | Nil = nil, padx : Int32 | Nil = nil, pady : Int32 | Nil = nil, ipadx : Int32 | Nil = nil, ipady : Int32 | Nil = nil)
Source

Instance methods

clone
Source
col
colspan
copy_with(row _row = @row, col _col = @col, colspan _colspan = @colspan, rowspan _rowspan = @rowspan, sticky _sticky = @sticky, padx _padx = @padx, pady _pady = @pady, ipadx _ipadx = @ipadx, ipady _ipady = @ipady)
Source
each_occupied

Every cell this widget occupies, which is what overlap detection needs - a spanning widget collides with anything under any part of it, not just at its own top-left corner.

Source
ipadx
ipady
padx
pady
row
rowspan
sticky