Please enable JavaScript to view this site.

 

Navigation: Appendices > Q++Studio > XML Identifiers > Internal Data Structures > Implementation > List

TReligiousOptions — XML implementation

Scroll Prev Up Next More

This topic covers the implementation details of TReligiousOptions.

 

Scope: cpReligiousOptions.pas; class derived from TBtnEditProperty. Prepared from the curated implementation supplied for this review on 2 October 2026.

 

Serializes six prayer display records: FajrOptions, ShrookOptions, DhuhrOptions, AsrOptions, MaghribOptions and IshaOptions. Their constructor defaults are initialized separately. Each nested record uses the time-display serializer.

 

Notation and shared helper rules: Reading this reference.

 

XML identity and composition

 

No literal rec_type value is emitted directly by the selected routines. A property envelope, an inherited writer or a delegated record can supply its identifying attributes.

 

Inherited implementation: TBtnEditProperty. Follow it when the ordered behavior invokes inherited methods; inherited fields are not repeated as locally owned fields.

 

Structures used directly by this XML implementation:

 

TTimesDisplayRec

 

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.

 

This type has no locally serialized scalar fields. Follow the nested serializer or inherited implementation described here; the Implementation toggle shows the exact calls.

 

Nested records and repeated elements

 

Operation

XML location

When it is processed

Read FajrOptions

FajrOptions

Whenever this part of the routine is reached

Read ShrookOptions

ShrookOptions

Whenever this part of the routine is reached

Read DhuhrOptions

DhuhrOptions

Whenever this part of the routine is reached

Read AsrOptions

AsrOptions

Whenever this part of the routine is reached

Read MaghribOptions

MaghribOptions

Whenever this part of the routine is reached

Read IshaOptions

IshaOptions

Whenever this part of the routine is reached

Write FajrOptions

FajrOptions

Whenever this part of the routine is reached

Write ShrookOptions

ShrookOptions

Whenever this part of the routine is reached

Write DhuhrOptions

DhuhrOptions

Whenever this part of the routine is reached

Write AsrOptions

AsrOptions

Whenever this part of the routine is reached

Write MaghribOptions

MaghribOptions

Whenever this part of the routine is reached

Write IshaOptions

IshaOptions

Whenever this part of the routine is reached

 

Initialization and reset values

 

TReligiousOptions.Create

 

Setting or temporary variable

Initial value

When it is assigned

PropName

“Times of Day”

Always

Required

2

Always

PropValue

Default (TSL_PropValue)

Always

PropValue.RelOpt.BufferInt

0

Always

Version

0

Always

FajrOptions.Formatting

“hh":"nn”

Always

FajrOptions.NoTimeText

an empty string

Always

FajrOptions.RoundMinutes

true

Always

ShrookOptions.Formatting

“hh":"nn”

Always

ShrookOptions.NoTimeText

an empty string

Always

ShrookOptions.RoundMinutes

true

Always

DhuhrOptions.Formatting

“hh":"nn”

Always

DhuhrOptions.NoTimeText

an empty string

Always

DhuhrOptions.RoundMinutes

true

Always

AsrOptions.Formatting

“hh":"nn”

Always

AsrOptions.NoTimeText

an empty string

Always

AsrOptions.RoundMinutes

true

Always

MaghribOptions.Formatting

“hh":"nn”

Always

MaghribOptions.NoTimeText

an empty string

Always

MaghribOptions.RoundMinutes

true

Always

IshaOptions.Formatting

“hh":"nn”

Always

IshaOptions.NoTimeText

an empty string

Always

IshaOptions.RoundMinutes

true

Always

PropValue.RelOpt

IniSettings.ReligiousOptions.DataValue.RelOpt

UseIniSettingsInPropertyConstructor is true

FajrOptions

IniSettings.ReligiousOptions.FajrOptions

UseIniSettingsInPropertyConstructor is true

ShrookOptions

IniSettings.ReligiousOptions.ShrookOptions

UseIniSettingsInPropertyConstructor is true

DhuhrOptions

IniSettings.ReligiousOptions.DhuhrOptions

UseIniSettingsInPropertyConstructor is true

AsrOptions

IniSettings.ReligiousOptions.AsrOptions

UseIniSettingsInPropertyConstructor is true

MaghribOptions

IniSettings.ReligiousOptions.MaghribOptions

UseIniSettingsInPropertyConstructor is true

IshaOptions

IniSettings.ReligiousOptions.IshaOptions

UseIniSettingsInPropertyConstructor is true

DataValue

PropValue

Always

 

This routine also calls inherited Create; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; self.FillDisplayValue. See Implementation for their order and any conditional calls.

 

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

FajrOptions

TTimesDisplayRec

member

ShrookOptions

TTimesDisplayRec

member

DhuhrOptions

TTimesDisplayRec

member

AsrOptions

TTimesDisplayRec

member

MaghribOptions

TTimesDisplayRec

member

IshaOptions

TTimesDisplayRec

member

 

Implementation details

 

The Implementation toggle contains only TReligiousOptions methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.

 

Implementation