Prayer Form¶
A TLazForm utility to aid in prayer selection settings.
This will setup a TLazButton which opens a TLazForm that mimics the prayer tab and allows a user to select prayers to be used.
TPrayerForm¶
The TPrayerForm type contains all of the components to build the button and
form used for prayer selection settings.
TPrayerForm.Selected¶
property TPrayerForm.Selected(prayers: TPrayerSet);
property TPrayerForm.Selected: TPrayerSet;
Get/Set the defined prayers as a set of selected prayers.
Useful for saving user settings between sessions.
Selected prayers from a previous session could be saved and then reset on the next session by setting them with the procedure upon building the form.
Getting example:
{$I WaspLib/main.simba}
var
form: TScriptForm;
tab: TTabSheet;
prayerForm: TPrayerForm;
begin
form.Setup('Script settings');
tab := TLazTabSheet.Create(form.PageControl);
prayerForm.Setup(tab, 50, 50);
prayerForm.SetAllowedPrayers([EPrayer.EAGLE_EYE, EPrayer.RIGOUR]);
form.Run();
WriteLn(prayerForm.Selected);
end.
Setting example:
{$I WaspLib/main.simba}
var
prayerForm: TPrayerForm;
config: TJSONParser;
savedPrayers: TJSONItem;
i: Integer;
selected: TPrayerSet;
begin
...
config := new TJSONParser();
config.Load('my_script_config.json');
if config.GetArray('prayers', savedPrayers) then
for i := 0 to savedPrayers.Count - 1 do
selected += EPrayer(savedPrayers.Item[i].AsInt);
prayerForm.SetSelected(selected);
end;
TPrayerForm SetAllowedPrayers¶
procedure TPrayerForm.SetAllowedPrayers(prayers: TPrayerSet);
Set’s the defined prayers as the only selectable prayers. Prayers that arent defined here will be greyed out and unselectable. Use to narrow the selection for example, selections for offensive range prayer.
Example:
{$I WaspLib/main.simba}
var
form: TScriptForm;
tab: TTabSheet;
prayerForm: TPrayerForm;
begin
form.Setup('Script settings');
tab := TLazTabSheet.Create(form.PageControl);
prayerForm.Setup(tab, 50, 50);
prayerForm.SetAllowedPrayers([EPrayer.EAGLE_EYE, EPrayer.RIGOUR]);
form.Run();
end.
TPrayerForm Setup¶
procedure TPrayerForm.Setup(buttonParent: Pointer; buttonLeft, buttonTop: Integer);
Setup the prayer form and add the select button to the defined parent at the defined position.
Example:
{$I WaspLib/main.simba}
var
form: TScriptForm;
tab: TTabSheet;
prayerForm: TPrayerForm;
begin
form.Setup('Script settings');
tab := TLazTabSheet.Create(form.PageControl);
prayerForm.Setup(tab, 50, 50)
form.Run();
end;