Subversion Repositories autosfx

Rev

Rev 1 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. unit ExtractorError;
  2.  
  3. interface
  4.  
  5. uses
  6.   Forms, StdCtrls, ExtCtrls, Controls, Graphics, Classes, Dialogs;
  7.  
  8. type
  9.   TErrorForm = class(TForm)
  10.     ErrorList: TListBox;
  11.     ErrorImg: TImage;
  12.     ErrorLabel: TLabel;
  13.     OKBtn: TButton;
  14.     SaveBtn: TButton;
  15.     SaveDialog: TSaveDialog;
  16.     procedure FormResize(Sender: TObject);
  17.     procedure SaveBtnClick(Sender: TObject);
  18.   public
  19.     function ErrorsAvailable: boolean;
  20.     procedure NewError(Filename: string);
  21.   end;
  22.  
  23. var
  24.   ErrorForm: TErrorForm;
  25.  
  26. implementation
  27.  
  28. {$R *.dfm}
  29.  
  30. function TErrorForm.ErrorsAvailable: boolean;
  31. begin
  32.   result := ErrorList.Items.Count > 0;
  33. end;
  34.  
  35. procedure TErrorForm.FormResize(Sender: TObject);
  36. begin
  37.   ErrorList.Width := ClientWidth - ErrorList.Left - ErrorImg.Left;
  38.   ErrorList.Height := ClientHeight - ErrorList.Top - (2 * ErrorImg.Left + OkBtn.Height);
  39.   OkBtn.Top := ErrorList.Top + ErrorList.Height + ErrorImg.Left;
  40.   OkBtn.Left := ErrorList.Left + ErrorList.Width - OkBtn.Width;
  41.   SaveBtn.Top := OkBtn.Top;
  42. end;
  43.  
  44. procedure TErrorForm.NewError(Filename: string);
  45. begin
  46.   // In future: Also add reason into list?
  47.   ErrorList.Items.Add(Filename);
  48. end;
  49.  
  50. procedure TErrorForm.SaveBtnClick(Sender: TObject);
  51. begin
  52.   if SaveDialog.Execute then
  53.   begin
  54.     ErrorList.Items.SaveToFile(SaveDialog.FileName);
  55.   end;
  56. end;
  57.  
  58. end.
  59.