VistA-cprs/CPRS-Chart/Options/fOptions.pas

783 lines
24 KiB
Plaintext

unit fOptions;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ComCtrls, ExtCtrls, ORCtrls, OrFn, Dialogs, ORDtTmRng, fBAOptionsDiagnoses,
uBAGlobals;
type
TfrmOptions = class(TForm)
pnlMain: TPanel;
pnlBottom: TPanel;
pagOptions: TPageControl;
tsCoverSheet: TTabSheet;
tsNotifications: TTabSheet;
btnOK: TButton;
btnCancel: TButton;
btnApply: TButton;
tsOrderChecks: TTabSheet;
tsListsTeams: TTabSheet;
lblCoverReminderDesc: TMemo;
lblCoverReminders: TStaticText;
lblCoverDaysDesc: TMemo;
lblCoverDays: TStaticText;
btnCoverDays: TButton;
bvlCoverDays: TBevel;
btnCoverReminders: TButton;
bvlCoverReminders: TBevel;
imgCoverDays: TImage;
imgCoverReminders: TImage;
lblPatientSelectionDesc: TMemo;
lblPatientSelection: TStaticText;
btnPatientSelection: TButton;
bvlPatientSelection: TBevel;
btnPersonalLists: TButton;
imgPatientSelection: TImage;
lblNotificationsOptions: TStaticText;
lblNotifications: TStaticText;
bvlNotifications: TBevel;
imgNotifications: TImage;
lblOrderChecksDesc: TLabel;
lblOrderChecks: TStaticText;
bvlOrderChecks: TBevel;
imgOrderChecks: TImage;
lblTeamsDesc: TMemo;
lblTeams: TStaticText;
btnTeams: TButton;
bvlTeams: TBevel;
lvwNotifications: TCaptionListView;
lblNotificationView: TLabel;
btnNotificationsRemove: TButton;
chkNotificationsFlagged: TCheckBox;
lvwOrderChecks: TCaptionListView;
lblOrderChecksView: TLabel;
btnSurrogate: TButton;
lblNotificationsSurrogate: TStaticText;
lblNotificationsSurrogateText: TStaticText;
btnCombinations: TButton;
bvlOtherParameters: TBevel;
lblOtherParameters: TStaticText;
imgOtherParameters: TImage;
lblOtherParametersDesc: TMemo;
btnOtherParameters: TButton;
tsNotes: TTabSheet;
lblNotesNotesDesc: TMemo;
lblNotesNotes: TStaticText;
bvlNotesNotes: TBevel;
btnNotesNotes: TButton;
lblNotesTitles: TStaticText;
bvlNotesTitles: TBevel;
lblNotesTitlesDesc: TMemo;
btnNotesTitles: TButton;
imgNotesNotes: TImage;
imgNotes: TImage;
imgTeams: TImage;
tsCprsReports: TTabSheet;
lblReports: TStaticText;
bvlReports: TBevel;
memReports: TMemo;
imgReports: TImage;
btnReports: TButton;
lblReport1: TStaticText;
memReport1: TMemo;
btnReport1: TButton;
bvlReport1: TBevel;
btnDiagnoses: TButton;
tsGraphs: TTabSheet;
lblGraphSettings: TStaticText;
bvlGraphSettings: TBevel;
imgGraphSettings: TImage;
btnGraphSettings: TButton;
bvlGraphViews: TBevel;
lblGraphViews: TStaticText;
imgGraphViews: TImage;
btnGraphViews: TButton;
memGraphSettings: TMemo;
memGraphViews: TMemo;
bvlReport2: TBevel;
lblReport2: TStaticText;
memReport2: TMemo;
imgReport1: TImage;
imgReport2: TImage;
rdoRDV: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btnCoverDaysClick(Sender: TObject);
procedure btnCoverRemindersClick(Sender: TObject);
procedure btnOtherParametersClick(Sender: TObject);
procedure btnPatientSelectionClick(Sender: TObject);
procedure btnPersonalListsClick(Sender: TObject);
procedure btnTeamsClick(Sender: TObject);
procedure btnNotificationsRemoveClick(Sender: TObject);
procedure btnApplyClick(Sender: TObject);
procedure chkNotificationsFlaggedClick(Sender: TObject);
procedure lvwNotificationsChange(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure lvwNotificationsColumnClick(Sender: TObject;
Column: TListColumn);
procedure lvwNotificationsCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
procedure lvwNotificationsDblClick(Sender: TObject);
procedure btnSurrogateClick(Sender: TObject);
procedure btnCombinationsClick(Sender: TObject);
procedure btnNotesNotesClick(Sender: TObject);
procedure btnNotesTitlesClick(Sender: TObject);
procedure btnReportsClick(Sender: TObject);
procedure btnReport1Click(Sender: TObject);
procedure lvwNotificationsEnter(Sender: TObject);
procedure lvwNotificationsMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure btnDiagnosesClick(Sender: TObject);
procedure btnGraphSettingsClick(Sender: TObject);
procedure btnGraphViewsClick(Sender: TObject);
procedure rdoRDVClick(Sender: TObject);
private
{ Private declarations }
FdirtyNotifications: boolean; // used to determine edit changes to Notifications
FdirtyOrderChecks: boolean; // used to determine edit changes to Order Checks
FdirtyOtherStuff: boolean; // used to determine edit changes to misc settings
FuseCheckBoxes: boolean;
FsortCol: integer;
FsortAscending: boolean;
FLastClickedItem: TListItem;
procedure Offset(var topnum: integer; topoffset: integer; var leftnum: integer; leftoffset: integer);
procedure LoadNotifications;
procedure LoadOrderChecks;
procedure ApplyNotifications;
procedure ApplyOrderChecks;
procedure ApplyOtherStuff;
procedure CheckApply;
procedure LoadListView(aListView: TListView; aList: TStrings);
procedure ChangeOnOff(aListView: TListView; aListItem: TListItem);
public
{ Public declarations }
end;
var
frmOptions: TfrmOptions;
procedure DialogOptions(var actiontype: Integer);
implementation
uses fOptionsDays, fOptionsReminders, fOptionsSurrogate,
fOptionsPatientSelection, fOptionsLists, fOptionsTeams, fOptionsCombinations,
fOptionsOther, fOptionsNotes, fOptionsTitles, fOptionsReportsCustom, fOptionsReportsDefault,
fGraphs, fGraphSettings, fGraphProfiles, rGraphs, uGraphs,
rOptions, rCore, uCore, uOptions, UBACore, fFrame;
//fTestDialog;
{$R *.DFM}
type
TRule = class
public
IEN: string;
OriginalValue: string;
ItemText: string;
end;
procedure DialogOptions(var actiontype: Integer);
// create the form and make in modal, return an action
const
PixelGapBetweenButtons = 5;
var
frmOptions: TfrmOptions;
begin
frmOptions := TfrmOptions.Create(Application);
try
with frmOptions do
begin
with pagOptions do
begin
tsCoverSheet.TabVisible := false;
tsNotifications.TabVisible := false;
tsOrderChecks.TabVisible := false;
tsListsTeams.TabVisible := false;
case actiontype of
1: begin
tsCoverSheet.TabVisible := true;
end;
2: begin
tsNotifications.TabVisible := true;
end;
3: begin
tsOrderChecks.TabVisible := true;
end;
4: begin
tsListsTeams.TabVisible := true;
end;
else
begin
tsCoverSheet.TabVisible := true;
tsNotifications.TabVisible := true;
tsOrderChecks.TabVisible := true;
tsListsTeams.TabVisible := true;
ActivePage := tsCoverSheet;
memReports.Text := 'Change the default date range and occurrence limits for all reports on ' +
'the CPRS Reports tab (excluding health summary reports) .';
memReport1.Text := 'Change the individual date range and occurrence limits for each report on ' +
'the CPRS Reports tab (excluding health summary reports) .';
btnReports.caption := 'Set All Reports...';
btnReport1.caption := 'Set Individual Reports...';
if User.IsReportsOnly then // For "Reports Only" users.
begin
tsCoverSheet.TabVisible := false;
tsNotifications.TabVisible := false;
tsOrderChecks.TabVisible := false;
tsListsTeams.TabVisible := false;
tsNotes.TabVisible := false;
if (not User.ToolsRptEdit) then
begin
btnOK.visible := false;
btnApply.visible := false;
btnCancel.caption := 'Close';
end;
end;
if (not User.ToolsRptEdit) then // For users with Reports settings edit parameter not set.
begin
memReports.Text := 'View the default date range and occurrence limits for all reports on ' +
'the CPRS Reports tab (excluding health summary reports) .';
memReport1.Text := 'View the individual date range and occurrence limits for each report on ' +
'the CPRS Reports tab (excluding health summary reports) .';
btnReports.caption := 'View All Report Settings...';
btnReport1.caption := 'View Individual Report Settings...';
end;
end;
end;
end;
actiontype := 0;
ResizeAnchoredFormToFont(frmOptions);
btnApply.Left := pagOptions.Left + pagOptions.Width - btnApply.Width;
btnCancel.Left := btnApply.Left - btnCancel.Width - PixelGapBetweenButtons;
btnOK.Left := btnCancel.Left - btnOK.Width - PixelGapBetweenButtons;
ShowModal;
actiontype := btnOK.Tag;
end;
finally
frmOptions.Release;
end;
end;
procedure TfrmOptions.FormCreate(Sender: TObject);
// initialize form
begin
LoadNotifications;
LoadOrderChecks;
FdirtyNotifications := false;
FdirtyOrderChecks := false;
FdirtyOtherStuff := false;
CheckApply;
if (Encounter.Provider = 0) and not IsCIDCProvider(User.DUZ) then
btnDiagnoses.Enabled := False;
if UseVistaWeb then rdoRDV.ItemIndex := 1;
end;
procedure TfrmOptions.FormDestroy(Sender: TObject);
// cleanup creation of objects
var
i: integer;
begin
for i := 0 to lvwOrderChecks.Items.Count - 1 do
lvwOrderChecks.Items.Item[i].SubItems.Objects[2].free;
for i := 0 to lvwNotifications.Items.Count - 1 do
lvwNotifications.Items.Item[i].SubItems.Objects[2].free;
end;
procedure TfrmOptions.btnCoverDaysClick(Sender: TObject);
// display Date Range Defaults on Cover Sheet
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsDays(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnCoverRemindersClick(Sender: TObject);
// display Clinical Reminder Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsReminders(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnOtherParametersClick(Sender: TObject);
// display Other Parameters Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, 40, leftsize, 40);
DialogOptionsOther(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnPatientSelectionClick(Sender: TObject);
// display Patient Selection Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsPatientSelection(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnPersonalListsClick(Sender: TObject);
// display Personal Lists Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsLists(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnTeamsClick(Sender: TObject);
// display Team Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsTeams(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnNotificationsRemoveClick(Sender: TObject);
// confirm before clearing notifications
begin
if InfoBox('CAUTION: This will clear all the current notifications you have pending.'
+ #13 + 'If you say YES, these changes will take place immediately.'
+ #13 + 'Are you sure you want to erase all of your notifications?',
'Warning', MB_YESNO or MB_ICONWARNING) = IDYES then
begin
rpcClearNotifications;
end;
end;
procedure TfrmOptions.Offset(var topnum: integer; topoffset: integer; var leftnum: integer; leftoffset: integer);
// get positions to display dialog
begin
// use these top and left values to display dialog
topnum := Top;
leftnum := Left;
topnum := topnum + topoffset;
if topnum < 0 then topnum := 0;
leftnum := leftnum + leftoffset;
if leftnum < 0 then leftnum := 0;
end;
procedure TfrmOptions.btnApplyClick(Sender: TObject);
// save actions without exiting
begin
if FdirtyNotifications then
ApplyNotifications;
if FdirtyOrderChecks then
ApplyOrderChecks;
if FdirtyOtherStuff then
ApplyOtherStuff;
CheckApply;
if Sender = btnOK then
Close;
end;
procedure TfrmOptions.LoadNotifications;
// load Notification tab
var
notifydefaults, surrogateinfo, flag, enableerase: string;
begin
LoadListView(lvwNotifications, rpcGetNotifications);
lvwNotificationsColumnClick(lvwNotifications, lvwNotifications.Column[0]); // make sure sorted
notifydefaults := rpcGetNotificationDefaults;
flag := Piece(notifydefaults, '^', 2);
enableerase := Piece(notifydefaults, '^', 3);
chkNotificationsFlagged.Checked := flag = '1';
btnNotificationsRemove.Enabled := enableerase = '1';
surrogateinfo := rpcGetSurrogateInfo;
btnSurrogate.Hint := surrogateinfo;
LabelSurrogate(surrogateinfo, lblNotificationsSurrogateText);
end;
procedure TfrmOptions.LoadOrderChecks;
// load Order Check tab
begin
LoadListView(lvwOrderChecks, rpcGetOrderChecks);
lvwOrderChecks.Checkboxes := true;
end;
procedure TfrmOptions.ApplyNotifications;
// save Notification changes
var
i: integer;
newonoff: string;
aRule: TRule;
aList: TStringList;
begin
aList := TStringList.Create;
for i := 0 to lvwNotifications.Items.Count - 1 do
begin
aRule := TRule(lvwNotifications.Items.Item[i].SubItems.Objects[2]);
if lvwNotifications.Items.Item[i].SubItems[1] <> 'Mandatory' then
begin
newonoff := Uppercase(lvwNotifications.Items.Item[i].SubItems[0]);
if aRule.OriginalValue <> newonoff then
begin
//***showmessage(aRule.IEN + ' ' + aRule.OriginalValue + ' ' + newonoff);
aList.Add(aRule.IEN + '^' + newonoff);
aRule.OriginalValue := lvwNotifications.Items.Item[i].SubItems[0];
end;
end;
end;
rpcSetNotifications(aList);
aList.free;
FdirtyNotifications := false;
end;
procedure TfrmOptions.ApplyOrderChecks;
// save Order Check changes
var
i: integer;
newonoff: string;
aRule: TRule;
aList: TStringList;
begin
aList := TStringList.Create;
for i := 0 to lvwOrderChecks.Items.Count - 1 do
begin
aRule := TRule(lvwOrderChecks.Items.Item[i].SubItems.Objects[2]);
newonoff := Uppercase(lvwOrderChecks.Items.Item[i].SubItems[0]);
if aRule.OriginalValue <> newonoff then
begin
aList.Add(aRule.IEN + '^' + newonoff);
aRule.OriginalValue := lvwOrderChecks.Items.Item[i].SubItems[0];
end;
end;
rpcSetOrderChecks(aList);
aList.free;
FdirtyOrderChecks := false;
end;
procedure TfrmOptions.ApplyOtherStuff;
// save other changes
var
aString: string;
begin
aString := '';
if chkNotificationsFlagged.Checked then
aString := aString + '^1'
else
aString := aString + '^0';
rpcSetOtherStuff(aString);
FdirtyOtherStuff := false;
end;
procedure TfrmOptions.CheckApply;
// determine if Apply button is enabled
begin
btnApply.Enabled := FdirtyOrderChecks or FdirtyNotifications or FdirtyOtherStuff;
end;
procedure TfrmOptions.chkNotificationsFlaggedClick(Sender: TObject);
// set notification flagged status
begin
FdirtyOtherStuff := true;
CheckApply;
end;
procedure TfrmOptions.LoadListView(aListView: TListView; aList: TStrings);
// load a list view with: name, on/off, comment
var
i: integer;
aListItem: TListItem;
aRule: TRule;
rulenum, ruletext, ruleonoff, rulecomment: string;
begin
FuseCheckBoxes := false;
aListView.Items.Clear;
aListView.SortType := stNone; // if Sorting during load then potential error
with aList do
begin
for i := 0 to aList.Count - 1 do
begin
rulenum := Piece(aList[i], '^', 1);
ruletext := Piece(aList[i], '^', 2);
ruleonoff := Piece(aList[i], '^', 3);
rulecomment := Piece(aList[i], '^', 4);
aListItem := aListView.Items.Add;
with aListItem do
begin
Caption := ruletext;
SubItems.Add(ruleonoff);
if ruleonoff = 'On' then Checked := true;
SubItems.Add(rulecomment);
end;
aRule := TRule.Create;
with aRule do
begin
IEN := rulenum;
OriginalValue := ruleonoff;
ItemText := ruletext;
end;
aListItem.SubItems.AddObject('rule object', aRule);
end;
end;
aListView.SortType := stBoth;
FuseCheckBoxes := true;
end;
procedure TfrmOptions.lvwNotificationsChange(Sender: TObject;
Item: TListItem; Change: TItemChange);
// change on/off on checkmark
begin
if (Sender as TListView).ItemIndex = -1 then exit;
if not FuseCheckBoxes then exit;
if (Sender as TListView).Checkboxes = false then exit;
if (Item.SubItems[1] = 'Mandatory') and not Item.Checked then begin
Item.Checked := True;
exit;
end;
if Item.Checked then
begin
if Item.SubItems[0] <> 'On' then
ChangeOnOff(Sender as TListView, Item);
Item.SubItems[0] := 'On';
end
else
begin
if Item.SubItems[0] <> 'Off' then
ChangeOnOff(Sender as TListView, Item);
Item.SubItems[0] := 'Off';
end;
end;
procedure TfrmOptions.lvwNotificationsColumnClick(Sender: TObject;
Column: TListColumn);
// toggle sort
begin
if FsortCol = Column.Index then
FsortAscending := not FsortAscending
else
FsortAscending := true;
FsortCol := Column.Index;
(Sender as TListView).AlphaSort;
end;
procedure TfrmOptions.lvwNotificationsCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
// sort columns
begin
if not(Sender is TListView) then exit;
if FsortAscending then
begin
if FsortCol = 0 then
Compare := CompareStr(Item1.Caption, Item2.Caption)
else
Compare := CompareStr(Item1.SubItems[FsortCol - 1],
Item2.SubItems[FsortCol - 1]);
end
else
begin
if FsortCol = 0 then
Compare := CompareStr(Item2.Caption, Item1.Caption)
else
Compare := CompareStr(Item2.SubItems[FsortCol - 1],
Item1.SubItems[FsortCol - 1]);
end;
end;
procedure TfrmOptions.lvwNotificationsDblClick(Sender: TObject);
// toggle check marks with double click
var
aListItem: TListItem;
begin
with (Sender as TListView) do
begin
if Checkboxes = false then exit;
if Selected = nil then exit;
if Selected.SubItems[1] = 'Mandatory' then exit;
if Selected <> FLastClickedItem then exit;
aListItem := Selected;
aListItem.Checked := not aListItem.Checked;
ChangeOnOff(Sender as TListView, aListItem);
if aListItem.Checked then
aListItem.SubItems[0] := 'On'
else
aListItem.SubItems[0] := 'Off';
end;
end;
procedure TfrmOptions.ChangeOnOff(aListView: TListView; aListItem: TListItem);
// check if list items were edited
begin
if aListView = lvwNotifications then FdirtyNotifications := true;
if aListView = lvwOrderChecks then FdirtyOrderChecks := true;
CheckApply;
end;
procedure TfrmOptions.btnSurrogateClick(Sender: TObject);
// display Surrogate Options
var
topsize, leftsize: integer;
surrogateinfo: string;
begin
surrogateinfo := btnSurrogate.Hint;
Offset(topsize, -30, leftsize, -30);
DialogOptionsSurrogate(topsize, leftsize, Font.Size, surrogateinfo);
LabelSurrogate(surrogateinfo, lblNotificationsSurrogateText);
btnSurrogate.Hint := surrogateinfo;
end;
procedure TfrmOptions.btnCombinationsClick(Sender: TObject);
// display Combination List Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsCombinations(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnNotesNotesClick(Sender: TObject);
// display Notes Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsNotes(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnNotesTitlesClick(Sender: TObject);
// display Titles Options
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsTitles(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnReportsClick(Sender: TObject);
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, 90, leftsize, 23);
DialogOptionsHSDefault(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.btnReport1Click(Sender: TObject);
var
topsize, leftsize, value: integer;
begin
value := 0;
Offset(topsize, -18, leftsize, -15);
DialogOptionsHSCustom(topsize, leftsize, Font.Size, value);
end;
procedure TfrmOptions.lvwNotificationsEnter(Sender: TObject);
begin
with Sender as TListView do begin
if (Selected = nil) and (Items.Count > 0) then
Selected := Items[0];
end;
end;
procedure TfrmOptions.lvwNotificationsMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLastClickedItem := (Sender as TListView).GetItemAt(X,Y);
end;
procedure TfrmOptions.btnDiagnosesClick(Sender: TObject);
// display Personal Diagnoses List
var
topsize, leftsize, value: integer;
begin
if IsCIDCProvider(User.DUZ) then //(hds7564)
begin
value := 0;
Offset(topsize, -60, leftsize, -60);
DialogOptionsDiagnoses(topsize, leftsize, Font.Size, value);
end;
end;
procedure TfrmOptions.btnGraphSettingsClick(Sender: TObject);
// display GraphSettings
var
actiontype: boolean;
topsize, leftsize: integer;
begin
actiontype := false;
Offset(topsize, -60, leftsize, -60);
DialogOptionsGraphSettings(topsize, leftsize, Font.Size, actiontype);
end;
procedure TfrmOptions.btnGraphViewsClick(Sender: TObject);
// display Graph Views
var
actiontype: boolean;
topsize, leftsize: integer;
begin
actiontype := false;
Offset(topsize, -60, leftsize, -60);
DialogOptionsGraphProfiles(topsize, leftsize, Font.Size, actiontype);
end;
procedure TfrmOptions.rdoRDVClick(Sender: TObject);
var
iIndex: integer;
begin
iIndex := rdoRDV.ItemIndex;
with frmFrame do
if iIndex = 0 then
begin
ChangeVistaWebParam('0');
lblCIRN.Caption := ' Remote';
lblCIRNData.Caption := 'Data';
lblCIRNAvail.Caption := '';
lblCIRN.Width := 43;
lblCIRNData.Width := 43;
lblCIRNData.Alignment := taCenter;
lblCIRN.Alignment := taCenter;
lstCIRNLocations.Clear;
SetUpCIRN;
end
else
begin
ChangeVistaWebParam('1');
lblCIRN.Caption := 'Remote';
lblCIRNData.Caption := 'Data*'; //VistaWeb On
lblCIRN.Width := 43;
lblCIRNData.Width := 43;
lblCIRNData.Alignment := taCenter;
lblCIRN.Alignment := taCenter;
lblCIRN.Enabled := True;
lblCIRNData.Enabled := True;
pnlCIRN.TabStop := True;
if ColorToRGB(clWindowText) = ColorToRGB(clBlack) then
begin
lblCIRN.Font.Color := clBlue;
lblCIRNData.Font.Color := clBlue;
lblCIRNAvail.Font.Color := clBlue;
lstCIRNLocations.Font.Color := clBlue;
end
else
begin
lblCIRN.Font.Color := clWindowText;
lblCIRNData.Font.Color := clWindowText;
lblCIRNAvail.Font.Color := clWindowText;
lstCIRNLocations.Font.Color := clWindowText;
end;
end;
end;
end.