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 >
Pascal/Delphi Source File  |  1998-02-15  |  4KB  |  148 lines

  1. unit PrIDCnfg;
  2.  
  3. interface
  4.  
  5. uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  6.   Buttons, ExtCtrls;
  7.  
  8. type
  9.   ProjID_Preferences = (idProjOnly, idUnitsOnly, idProjAndUnits);
  10.   BoolArray = array [0..4] of boolean;
  11.  { ProjID_Preference = ProjID_Preferences; }
  12.  
  13.    TProjectIdentifiersProperties = class(TForm)
  14.     OKBtn: TButton;
  15.     CancelBtn: TButton;
  16.     Bevel1: TBevel;
  17.     cbEnableMenuItems: TCheckBox;
  18.     gbMenuItems: TGroupBox;
  19.     CheckBox1: TCheckBox;
  20.     CheckBox2: TCheckBox;
  21.     CheckBox3: TCheckBox;
  22.     CheckBox4: TCheckBox;
  23.     CheckBox5: TCheckBox;
  24.     ProjIDPreferences: TRadioGroup;
  25.     procedure cbEnableMenuItemsClick(Sender: TObject);
  26.     procedure FormActivate(Sender: TObject);
  27.   private
  28.     { Private declarations }
  29.     FMenuSettings : BoolArray;
  30.     FPreferences : ProjID_Preferences;
  31.     procedure ReadProjIDPreferences(PreferencesIn : ProjID_Preferences);
  32.     procedure ReadMenuSettings(MenuSettingsIn : BoolArray);
  33.     procedure UpdatePreferences(var NewPreferecnes : ProjID_Preferences);
  34.     procedure EnableAllChoices;
  35.     procedure DisableAllChoices;
  36.     procedure UpdateMenuSettings(var LocalMenuSettings : BoolArray);
  37.   public
  38.     { Public declarations }
  39.     function Execute(var MenuSettings : BoolArray; var ThePreferences :
  40.                      ProjID_Preferences): boolean;
  41.   end;
  42.    function AssignBoolArray(BoolArrayIn: BoolArray): BoolArray;
  43.  
  44.  
  45. implementation
  46.  
  47. {$R *.DFM}
  48.  
  49. function AssignBoolArray(BoolArrayIn: BoolArray): BoolArray;
  50. begin
  51.   Result[0] := BoolArrayIn[0];
  52.   Result[1] := BoolArrayIn[1];
  53.   Result[2] := BoolArrayIn[2];
  54.   Result[3] := BoolArrayIn[3];
  55.   Result[4] := BoolArrayIn[4];
  56. end;
  57.  
  58. procedure TProjectIdentifiersProperties.ReadProjIDPreferences(PreferencesIn
  59.            : ProjID_Preferences);
  60. begin
  61.   FPreferences := PreferencesIn;
  62. end;
  63.  
  64. procedure TProjectIdentifiersProperties.UpdatePreferences(var NewPreferecnes : ProjID_Preferences);
  65. begin
  66.   case ProjIDPreferences.ItemIndex of    //
  67.     0 : NewPreferecnes := idProjOnly;
  68.     1 : NewPreferecnes := idUnitsOnly;
  69.     2 : NewPreferecnes := idProjAndUnits;
  70.   end;    //case
  71. end;
  72. procedure TProjectIdentifiersProperties.ReadMenuSettings(MenuSettingsIn : BoolArray);
  73. begin
  74.   FMenuSettings[0] := MenuSettingsIn[0];
  75.   FMenuSettings[1] := MenuSettingsIn[1];
  76.   FMenuSettings[2] := MenuSettingsIn[2];
  77.   FMenuSettings[3] := MenuSettingsIn[3];
  78.   FMenuSettings[4] := MenuSettingsIn[4];
  79. end;
  80.  
  81. function TProjectIdentifiersProperties.Execute(var MenuSettings : BoolArray;
  82.                 var ThePreferences :  ProjID_Preferences): boolean;
  83. begin
  84.   ReadMenuSettings(MenuSettings);
  85.   ReadProjIDPreferences(ThePreferences);
  86.   ShowModal;
  87.   if ModalResult=mrOK then
  88.     begin
  89.       UpdateMenuSettings(MenuSettings);
  90.       UpdatePreferences(ThePreferences);
  91.       result := True;
  92.     end
  93.   else
  94.     result := False;
  95. end;
  96.  
  97. procedure TProjectIdentifiersProperties.cbEnableMenuItemsClick(Sender: TObject);
  98. begin
  99.   if cbEnableMenuItems.Checked then
  100.      EnableAllChoices else
  101.      DisableAllChoices;
  102. end;
  103.  
  104. procedure TProjectIdentifiersProperties.EnableAllChoices;
  105. begin
  106.   CheckBox1.Checked := True;
  107.   CheckBox2.Checked := True;
  108.   CheckBox3.Checked := True;
  109.   CheckBox4.Checked := True;
  110.   CheckBox5.Checked := True;
  111. end;
  112.  
  113. procedure TProjectIdentifiersProperties.DisableAllChoices;
  114. begin
  115.   CheckBox1.Checked := False;
  116.   CheckBox2.Checked := False;
  117.   CheckBox3.Checked := False;
  118.   CheckBox4.Checked := False;
  119.   CheckBox5.Checked := False;
  120. end;
  121.  
  122. procedure TProjectIdentifiersProperties.UpdateMenuSettings
  123.                        (var LocalMenuSettings : BoolArray);
  124. begin
  125.   LocalMenuSettings[0] := CheckBox1.Checked;
  126.   LocalMenuSettings[1] := CheckBox2.Checked;
  127.   LocalMenuSettings[2] := CheckBox3.Checked;
  128.   LocalMenuSettings[3] := CheckBox4.Checked;
  129.   LocalMenuSettings[4] := CheckBox5.Checked;
  130. end;
  131.  
  132. procedure TProjectIdentifiersProperties.FormActivate(Sender: TObject);
  133. begin
  134.   CheckBox1.Checked := FMenuSettings[0];
  135.   CheckBox2.Checked := FMenuSettings[1];
  136.   CheckBox3.Checked := FMenuSettings[2];
  137.   CheckBox4.Checked := FMenuSettings[3];
  138.   CheckBox5.Checked := FMenuSettings[4];
  139.   case FPreferences of    //(idProjOnly, idUnitsOnly, idProjAndUnits)
  140.     idProjOnly : ProjIDPreferences.ItemIndex := 0;
  141.     idUnitsOnly : ProjIDPreferences.ItemIndex := 1;
  142.     idProjAndUnits : ProjIDPreferences.ItemIndex := 2;
  143.   end;    //case
  144.  
  145. end;
  146.  
  147. end.
  148.