Ignore:
Timestamp:
Nov 15, 2012, 9:48:48 AM (12 years ago)
Author:
chronos
Message:
  • Upraveno: Inicializace pohledů pro docházku přesunuto do modulu Docházka.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormMain.pas

    r13 r14  
    1515
    1616  TFormMain = class(TForm)
    17     AConnectionSettings: TAction;
     17    AConnect: TAction;
    1818    ADisconnect: TAction;
    1919    AShowToolBar: TAction;
    2020    AModuleList: TAction;
    21     ASetting: TAction;
     21    ASettings: TAction;
    2222    AExit: TAction;
    2323    ActionList1: TActionList;
     
    4141    ToolButton3: TToolButton;
    4242    ToolButton4: TToolButton;
    43     procedure AConnectionSettingsExecute(Sender: TObject);
     43    procedure AConnectExecute(Sender: TObject);
    4444    procedure ADisconnectExecute(Sender: TObject);
    4545    procedure AExitExecute(Sender: TObject);
    4646    procedure AModuleListExecute(Sender: TObject);
    47     procedure ASettingExecute(Sender: TObject);
     47    procedure ASettingsExecute(Sender: TObject);
    4848    procedure AShowToolBarExecute(Sender: TObject);
    4949    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
     
    5555    ShowToolBar: Boolean;
    5656    procedure FormModuleListDestroy(Sender: TObject);
    57     procedure InitModules;
    58     procedure ReloadPages;
    5957  public
    6058    DataViewLists: TListObject; // TListObject<TDataViewList>
    6159    DataViewForms: TListObject; // TListObject<TDataViewForm>
     60    procedure RegisterDataViewForm(View: TDataViewForm);
     61    procedure RegisterDataViewList(View: TDataViewList);
     62    procedure UnregisterDataViewForm(View: TDataViewForm);
     63    procedure UnregisterDataViewList(View: TDataViewList);
     64
     65    procedure ReloadPages;
    6266    procedure UpdateInterface;
    6367    procedure LoadFromRegistry(AContext: TRegistryContext);
     
    7579{$R *.lfm}
    7680
    77 resourcestring
    78   SPersonalId = 'Personal Id';
    79   SFirstName = 'First name';
    80   SSecondName = 'Second name';
    81   SEnabled = 'Enabled';
    82   SAddress = 'Address';
    83   SPort = 'Port';
    84   SType = 'Type';
    85   SName = 'Name';
    86   SFingerPrint = 'Fingerprint';
    87   SCardCode = 'Card code';
    88   SNote = 'Note';
    89   SLogin = 'Login';
    90   SPassword = 'Password';
    91   STerminal = 'Terminal';
    92   SUser = 'User';
    93   SDate = 'Date';
    94   STime = 'Time';
    95   SOperation = 'Operation';
    96   SDay = 'Day';
    97   SMonth = 'Month';
    98   SYear = 'Year';
    99   SKeyNumber = 'Key number';
    100   SText = 'Text';
    101   SAttendance = 'Attendance';
    102   SPassage = 'Passage';
    103   STimeFrom = 'Time from';
    104   STimeTo = 'Time to';
    105   SHoliday = 'Holiday';
    106   SLog = 'Log';
    107 
    10881{ TFormMain }
    10982
     
    11588begin
    11689  DataViewLists := TListObject.Create;
     90  DataViewLists.OwnsObjects := False;
    11791  DataViewForms := TListObject.Create;
     92  DataViewForms.OwnsObjects := False;
     93
    11894  LoadFromRegistry(Core.RegistryContext);
    11995  Core.Init;
    12096  Core.PersistentForm.Load(Self);
    121   InitModules;
    12297  ReloadPages;
    12398end;
     
    125100procedure TFormMain.FormDestroy(Sender: TObject);
    126101begin
     102  Core.Done;
    127103  SaveToRegistry(Core.RegistryContext);
     104  Core.PersistentForm.Save(Self);
    128105  FreeAndNil(DataViewForms);
    129106  FreeAndNil(DataViewLists);
    130   Core.PersistentForm.Save(Self);
    131   Core.Done;
    132107end;
    133108
     
    144119    Core.FormModuleList.AddHandlerOnBeforeDestruction(FormModuleListDestroy);
    145120    Core.FormModuleList.Options := [mloAllowEnable, mloShowEnable,
    146       mloAllowInstall,  mloShowDescription, mloShowDependencies, mloShowInfoBar];
     121      mloAllowInstall,  mloShowDescription, mloShowDependencies, mloShowInfoBar,
     122      mloShowInstalled];
    147123    Core.CoolTranslator1.TranslateComponentRecursive(Core.FormModuleList)
    148124  end;
     
    150126end;
    151127
    152 procedure TFormMain.AConnectionSettingsExecute(Sender: TObject);
     128procedure TFormMain.AConnectExecute(Sender: TObject);
    153129begin
    154130  FormConnection.LoadFromDatabase(Core.Database);
     
    166142end;
    167143
    168 procedure TFormMain.ASettingExecute(Sender: TObject);
     144procedure TFormMain.ASettingsExecute(Sender: TObject);
    169145begin
    170146  FormSetting.ShowModal;
     
    201177end;
    202178
    203 procedure TFormMain.InitModules;
    204 var
    205   NewDataView: TDataViewList;
    206   NewDataView2: TDataViewForm;
    207 begin
    208   NewDataView := TDataViewList.Create;
    209   with NewDataView do begin
    210     with Columns do begin
    211       AddItem(SEnabled, 'Enabled', True, 30);
    212       AddItem(SPersonalId, 'PersonalId', True, 80);
    213       AddItem(SLogin, 'Login', False, 80);
    214       AddItem(SPassword, 'Password', False, 80);
    215       AddItem(SFirstName, 'FirstName', True, 80);
    216       AddItem(SSecondName, 'SecondName', True, 80);
    217       AddItem(SCardCode, 'CardCode', True, 80);
    218       AddItem(SFingerPrint, 'FingerPrint', True, 80);
    219       AddItem(SNote, 'Note', False, 80);
    220     end;
    221     Name := 'User';
    222     Caption := SUser;
    223     ImageIndex := 9;
    224   end;
    225   DataViewLists.Add(NewDataView);
    226   NewDataView2 := TDataViewForm.Create;
    227   with NewDataView2 do begin
    228     Name := 'User';
    229     Caption := SUser;
    230     with Items do begin
    231       AddItem(SEnabled, 'Enabled', ctCheckBox, True, Bounds(1, 0, 1, 1));
    232       AddItem(SPersonalId, 'PersonalId', ctSpinEdit, True, Bounds(3, 0, 1, 1));
    233       AddItem(SLogin, 'Login', ctEdit, True, Bounds(1, 1, 1, 1));
    234       AddItem(SPassword, 'Password', ctEdit, True, Bounds(3, 1, 1, 1));
    235       AddItem(SFirstName, 'FirstName', ctEdit, True, Bounds(1, 2, 1, 1));
    236       AddItem(SSecondName, 'SecondName', ctEdit, True, Bounds(3, 2, 1, 1));
    237       AddItem(SCardCode, 'CardCode', ctEdit, True, Bounds(1, 3, 1, 1));
    238       AddItem(SFingerPrint, 'FingerPrint', ctEdit, True, Bounds(3, 3, 1, 1));
    239       AddItem(SNote, 'Note', ctMemo, True, Bounds(0, 5, 4, 4), alTop);
    240     end;
    241   end;
    242   DataViewForms.Add(NewDataView2);
    243 
    244   NewDataView := TDataViewList.Create;
    245   with NewDataView do begin
    246     with Columns do begin
    247       AddItem(STime, 'Time', True, 150);
    248       AddItem(SUser, 'User', True, 80);
    249       AddItem(SOperation, 'Operation', True, 80);
    250       AddItem(STerminal, 'Terminal', True, 80);
    251     end;
    252     Name := 'Passage';
    253     Caption := SPassage;
    254     ImageIndex := 12;
    255   end;
    256   DataViewLists.Add(NewDataView);
    257   NewDataView2 := TDataViewForm.Create;
    258   with NewDataView2 do begin
    259     with Items do begin
    260       AddItem(STime, 'Time', ctDate, True, Bounds(0, 0, 1, 1));
    261       with AddItem(SUser, 'User', ctReference, True, Bounds(3, 0, 1, 1)) do
    262         ReferencedTable := 'User';
    263       with AddItem(SOperation, 'Operation', ctReference, True, Bounds(0, 1, 1, 1)) do
    264         ReferencedTable := 'User';
    265       with AddItem(STerminal, 'Terminal', ctReference, True, Bounds(3, 1, 1, 1)) do
    266         ReferencedTable := 'User';
    267     end;
    268     Name := 'Passage';
    269     Caption := SPassage;
    270     ImageIndex := 12;
    271   end;
    272   DataViewForms.Add(NewDataView2);
    273 
    274   NewDataView := TDataViewList.Create;
    275   with NewDataView do begin
    276     with Columns do begin
    277       AddItem(SDate, 'Date', True, 80);
    278       AddItem(SUser, 'User', True, 80);
    279       AddItem(STimeFrom, 'TimeFrom', True, 120);
    280       AddItem(STimeTo, 'TimeTo', True, 120);
    281     end;
    282     Name := 'Attendance';
    283     Caption := SAttendance;
    284     ImageIndex := 14;
    285   end;
    286   DataViewLists.Add(NewDataView);
    287   NewDataView2 := TDataViewForm.Create;
    288   with NewDataView2 do begin
    289     with Items do begin
    290       AddItem(SUser, 'User', ctReference, True, Bounds(1, 0, 1, 1));
    291       AddItem(SDate, 'Date', ctDate, True, Bounds(3, 0, 1, 1));
    292       AddItem(STimeFrom, 'TimeFrom', ctTime, True, Bounds(1, 1, 1, 1));
    293       AddItem(STimeTo, 'TimeTo', ctTime, True, Bounds(3, 1, 1, 1));
    294     end;
    295     Name := 'Attendance';
    296     Caption := SAttendance;
    297     ImageIndex := 14;
    298   end;
    299   DataViewForms.Add(NewDataView2);
    300 
    301   NewDataView := TDataViewList.Create;
    302   with NewDataView do begin
    303     with Columns do begin
    304       AddItem(SEnabled, 'Enabled', True, 30);
    305       AddItem(SName, 'Name', True, 300);
    306       AddItem(SDay, 'Day', True, 50);
    307       AddItem(SMonth, 'Month', True, 50);
    308       AddItem(SYear, 'Year', True, 50);
    309     end;
    310     Name := 'Holiday';
    311     Caption := SHoliday;
    312     ImageIndex := 10;
    313   end;
    314   DataViewLists.Add(NewDataView);
    315 
    316   NewDataView := TDataViewList.Create;
    317   with NewDataView do begin
    318     with Columns do begin
    319       AddItem(SName, 'Name', True, 100);
    320       AddItem(SKeyNumber, 'KeyId', True, 100);
    321     end;
    322     Name := 'Operation';
    323     Caption := SOperation;
    324     ImageIndex := 13;
    325   end;
    326   DataViewLists.Add(NewDataView);
    327 
    328   NewDataView := TDataViewList.Create;
    329   with NewDataView do begin
    330     with Columns do begin
    331       AddItem(SName, 'Name', True, 80);
    332       AddItem(SEnabled, 'Enabled', True, 30);
    333       AddItem(SAddress, 'Address', True, 120);
    334       AddItem(SPort, 'Port', True, 50);
    335       AddItem(SType, 'Type', True, 80);
    336       AddItem(SNote, 'Note', True, 80);
    337     end;
    338     Name := 'Terminal';
    339     Caption := STerminal;
    340     ImageIndex := 8;
    341   end;
    342   DataViewLists.Add(NewDataView);
    343 
    344   NewDataView := TDataViewList.Create;
    345   with NewDataView do begin
    346     with Columns do begin
    347       AddItem(STime, 'Time', True, 120);
    348       AddItem(SUser, 'User', True, 80);
    349       AddItem(SText, 'Text', True, 400);
    350     end;
    351     Name := 'Log';
    352     Caption := SLog;
    353     ImageIndex := 11;
    354   end;
    355   DataViewLists.Add(NewDataView);
    356 end;
    357 
    358179procedure TFormMain.ReloadPages;
    359180var
     
    361182  I: Integer;
    362183begin
     184  if Assigned(Core.FormList) then FreeAndNil(Core.FormList);
     185  for I := PageControl1.PageCount - 1 downto 0 do
     186    PageControl1.Pages[I].Free;
    363187  for I := 0 to DataViewLists.Count - 1 do
    364188  with TDataViewList(DataViewLists[I]) do begin
     
    373197end;
    374198
     199procedure TFormMain.RegisterDataViewForm(View: TDataViewForm);
     200begin
     201  DataViewForms.Add(View);
     202end;
     203
     204procedure TFormMain.RegisterDataViewList(View: TDataViewList);
     205begin
     206  DataViewLists.Add(View);
     207end;
     208
     209procedure TFormMain.UnregisterDataViewForm(View: TDataViewForm);
     210begin
     211  DataViewForms.Remove(View);
     212end;
     213
     214procedure TFormMain.UnregisterDataViewList(View: TDataViewList);
     215begin
     216  DataViewLists.Remove(View);
     217end;
     218
    375219procedure TFormMain.UpdateInterface;
    376220begin
Note: See TracChangeset for help on using the changeset viewer.