home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1999 March
/
Chip_1999-03_cd.bin
/
zkuste
/
delphi
/
INFO
/
DI9806FN.ZIP
/
source
/
PrIDCnfg.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1998-02-15
|
4KB
|
148 lines
unit PrIDCnfg;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls;
type
ProjID_Preferences = (idProjOnly, idUnitsOnly, idProjAndUnits);
BoolArray = array [0..4] of boolean;
{ ProjID_Preference = ProjID_Preferences; }
TProjectIdentifiersProperties = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
Bevel1: TBevel;
cbEnableMenuItems: TCheckBox;
gbMenuItems: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
ProjIDPreferences: TRadioGroup;
procedure cbEnableMenuItemsClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
FMenuSettings : BoolArray;
FPreferences : ProjID_Preferences;
procedure ReadProjIDPreferences(PreferencesIn : ProjID_Preferences);
procedure ReadMenuSettings(MenuSettingsIn : BoolArray);
procedure UpdatePreferences(var NewPreferecnes : ProjID_Preferences);
procedure EnableAllChoices;
procedure DisableAllChoices;
procedure UpdateMenuSettings(var LocalMenuSettings : BoolArray);
public
{ Public declarations }
function Execute(var MenuSettings : BoolArray; var ThePreferences :
ProjID_Preferences): boolean;
end;
function AssignBoolArray(BoolArrayIn: BoolArray): BoolArray;
implementation
{$R *.DFM}
function AssignBoolArray(BoolArrayIn: BoolArray): BoolArray;
begin
Result[0] := BoolArrayIn[0];
Result[1] := BoolArrayIn[1];
Result[2] := BoolArrayIn[2];
Result[3] := BoolArrayIn[3];
Result[4] := BoolArrayIn[4];
end;
procedure TProjectIdentifiersProperties.ReadProjIDPreferences(PreferencesIn
: ProjID_Preferences);
begin
FPreferences := PreferencesIn;
end;
procedure TProjectIdentifiersProperties.UpdatePreferences(var NewPreferecnes : ProjID_Preferences);
begin
case ProjIDPreferences.ItemIndex of //
0 : NewPreferecnes := idProjOnly;
1 : NewPreferecnes := idUnitsOnly;
2 : NewPreferecnes := idProjAndUnits;
end; //case
end;
procedure TProjectIdentifiersProperties.ReadMenuSettings(MenuSettingsIn : BoolArray);
begin
FMenuSettings[0] := MenuSettingsIn[0];
FMenuSettings[1] := MenuSettingsIn[1];
FMenuSettings[2] := MenuSettingsIn[2];
FMenuSettings[3] := MenuSettingsIn[3];
FMenuSettings[4] := MenuSettingsIn[4];
end;
function TProjectIdentifiersProperties.Execute(var MenuSettings : BoolArray;
var ThePreferences : ProjID_Preferences): boolean;
begin
ReadMenuSettings(MenuSettings);
ReadProjIDPreferences(ThePreferences);
ShowModal;
if ModalResult=mrOK then
begin
UpdateMenuSettings(MenuSettings);
UpdatePreferences(ThePreferences);
result := True;
end
else
result := False;
end;
procedure TProjectIdentifiersProperties.cbEnableMenuItemsClick(Sender: TObject);
begin
if cbEnableMenuItems.Checked then
EnableAllChoices else
DisableAllChoices;
end;
procedure TProjectIdentifiersProperties.EnableAllChoices;
begin
CheckBox1.Checked := True;
CheckBox2.Checked := True;
CheckBox3.Checked := True;
CheckBox4.Checked := True;
CheckBox5.Checked := True;
end;
procedure TProjectIdentifiersProperties.DisableAllChoices;
begin
CheckBox1.Checked := False;
CheckBox2.Checked := False;
CheckBox3.Checked := False;
CheckBox4.Checked := False;
CheckBox5.Checked := False;
end;
procedure TProjectIdentifiersProperties.UpdateMenuSettings
(var LocalMenuSettings : BoolArray);
begin
LocalMenuSettings[0] := CheckBox1.Checked;
LocalMenuSettings[1] := CheckBox2.Checked;
LocalMenuSettings[2] := CheckBox3.Checked;
LocalMenuSettings[3] := CheckBox4.Checked;
LocalMenuSettings[4] := CheckBox5.Checked;
end;
procedure TProjectIdentifiersProperties.FormActivate(Sender: TObject);
begin
CheckBox1.Checked := FMenuSettings[0];
CheckBox2.Checked := FMenuSettings[1];
CheckBox3.Checked := FMenuSettings[2];
CheckBox4.Checked := FMenuSettings[3];
CheckBox5.Checked := FMenuSettings[4];
case FPreferences of //(idProjOnly, idUnitsOnly, idProjAndUnits)
idProjOnly : ProjIDPreferences.ItemIndex := 0;
idUnitsOnly : ProjIDPreferences.ItemIndex := 1;
idProjAndUnits : ProjIDPreferences.ItemIndex := 2;
end; //case
end;
end.