This topic covers the implementation details of TmcOneLineTabsOptions.
Scope: TypeDefinitions.pas; record. Prepared from the curated implementation supplied for this review on 2 October 2026.
Combines box and month tab options for one-line mini-calendars. Enabled selectors and nested option records are distinct; use the per-branch emission rules below.
Notation and shared helper rules: Reading this reference.
Literal rec_type values emitted within these routines: TmcOneLineTabsOptions. Nested values may belong to child wrappers rather than this owner itself; the attribute entries below give their exact locations.
Structures used directly by this XML implementation:
Exact XML fields and attributes
The paths below start at this record or property node. A slash identifies a child element; @ identifies an attribute. Curly braces mark a variable index or expression, not literal XML text. Initial values describe initialization; they do not establish what an omitted individual element does. The Implementation toggle below contains the supplied routines for exact branch order and conversions.
@rec_type
XML representation: The rec_type attribute.
Writing: Stores the literal text “TmcOneLineTabsOptions” whenever the writer reaches this field.
Enabled
XML representation: The text of the Enabled element.
Initial value: false (TmcOneLineTabsOptions.Initialize).
Reading: Reads the element into Enabled when the record node exists.
Writing: Stores true or false according to false when AlreadyDisabled is true.
Writing: Stores true or false according to Enabled when AlreadyDisabled is false.
LeftRightSame
XML representation: The text of the LeftRightSame element.
Initial value: true (TmcOneLineTabsOptions.Initialize).
Reading: Reads the element into LeftRightSame when the record node exists; Enabled is true.
Writing: Stores true or false according to LeftRightSame when AlreadyDisabled is false; Enabled is true.
Nested records and repeated elements
Operation |
XML location |
When it is processed |
Write BoxOptions[i] |
{'BoxOptions' + i.toString} |
AlreadyDisabled is false; Enabled is true; for each i from low (BoxOptions) through high (BoxOptions) |
Read BoxOptions[i] |
{'BoxOptions' + i.toString} |
the record node exists; Enabled is true; for each i from low (BoxOptions) through high (BoxOptions) |
Initialization and reset values
TmcOneLineTabsOptions.Initialize
Setting or temporary variable |
Initial value |
When it is assigned |
self |
Default (TmcOneLineTabsOptions) |
Always |
Enabled |
false |
Always |
LeftRightSame |
true |
Always |
BoxOptions[i].Enabled |
false |
for each i from low (BoxOptions) through high (BoxOptions) |
BoxOptions[i].AllMonthsTheSame |
true |
for each i from low (BoxOptions) through high (BoxOptions) |
BoxOptions[i].MonthOptions[j].SpaceEvenly |
true |
for each i from low (BoxOptions) through high (BoxOptions); for each j from low (BoxOptions [i].MonthOptions) through high (BoxOptions [i].MonthOptions) |
BoxOptions[i].MonthOptions[j].FirstTab |
1.0 |
for each i from low (BoxOptions) through high (BoxOptions); for each j from low (BoxOptions [i].MonthOptions) through high (BoxOptions [i].MonthOptions) |
BoxOptions[i].MonthOptions[j].TabCount |
31 |
for each i from low (BoxOptions) through high (BoxOptions); for each j from low (BoxOptions [i].MonthOptions) through high (BoxOptions [i].MonthOptions) |
BoxOptions[i].MonthOptions[j].Alignment |
0 |
for each i from low (BoxOptions) through high (BoxOptions); for each j from low (BoxOptions [i].MonthOptions) through high (BoxOptions [i].MonthOptions) |
BoxOptions[i].MonthOptions[j].WeekChangesMatter |
false |
for each i from low (BoxOptions) through high (BoxOptions); for each j from low (BoxOptions [i].MonthOptions) through high (BoxOptions [i].MonthOptions) |
BoxOptions[i].MonthOptions[j].Spacings[k] |
1.0 |
for each i from low (BoxOptions) through high (BoxOptions); for each j from low (BoxOptions [i].MonthOptions) through high (BoxOptions [i].MonthOptions); for each k from low (BoxOptions [i].MonthOptions [j].Spacings) through high (BoxOptions [i].MonthOptions [j].Spacings) |
BoxOptions[0].Enabled |
true |
Always |
BoxOptions[0].MonthOptions[1].TabCount |
28 |
Always |
BoxOptions[0].MonthOptions[2].TabCount |
29 |
Always |
BoxOptions[0].MonthOptions[3].TabCount |
30 |
Always |
BoxOptions[0].MonthOptions[4].TabCount |
31 |
Always |
BoxOptions[1].MonthOptions[1].TabCount |
15 |
Always |
BoxOptions[1].MonthOptions[2].TabCount |
15 |
Always |
BoxOptions[1].MonthOptions[3].TabCount |
15 |
Always |
BoxOptions[1].MonthOptions[4].TabCount |
15 |
Always |
BoxOptions[2].MonthOptions[1].TabCount |
13 |
Always |
BoxOptions[2].MonthOptions[2].TabCount |
14 |
Always |
BoxOptions[2].MonthOptions[3].TabCount |
15 |
Always |
BoxOptions[2].MonthOptions[4].TabCount |
16 |
Always |
Storage declarations relevant to interpretation
These are in-memory member and property types, not a list of mandatory XML children. They retain array bounds, fixed buffers and selector types. The field reference above defines what is actually serialized.
Name |
Declared type / bounds |
Kind |
Enabled |
Boolean |
member |
LeftRightSame |
Boolean |
member |
BoxOptions |
array [0..2] of TTabsBoxOptions |
member |
The Implementation toggle contains only TmcOneLineTabsOptions methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.
Declaration reproduces this record’s complete declaration from the supplied source, including its fields, properties and method signatures.