ScGatherProjFrm.pas 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. unit ScGatherProjFrm;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, ComCtrls, StdCtrls, ImgList, ScReportsFrm;
  6. type
  7. TGatherProjForm = class(TForm)
  8. tvGatherProject: TTreeView;
  9. il1: TImageList;
  10. procedure tvGatherProjectDblClick(Sender: TObject);
  11. procedure FormShow(Sender: TObject);
  12. private
  13. { Private declarations }
  14. FOwner: TScReportsForm;
  15. public
  16. { Public declarations }
  17. procedure init(AGatherProjectSL: TStringList; AOwner: TScReportsForm);
  18. end;
  19. implementation
  20. {$R *.dfm}
  21. uses
  22. ScProjectManager, ScFileArchiver, ScProgressFrm;
  23. procedure TGatherProjForm.init(AGatherProjectSL: TStringList; AOwner: TScReportsForm);
  24. var vNode: TTreeNode;
  25. i: Integer;
  26. begin
  27. FOwner := AOwner;
  28. for i := 0 to AGatherProjectSL.Count - 1 do
  29. begin
  30. vNode := tvGatherProject.Items.AddObject(nil, AGatherProjectSL[i], AGatherProjectSL.Objects[i]);
  31. vNode.ImageIndex := 0;
  32. vNode.SelectedIndex := 0;
  33. end;
  34. end;
  35. procedure TGatherProjForm.tvGatherProjectDblClick(Sender: TObject);
  36. var sFile: string;
  37. vProject: TProject;
  38. begin
  39. if tvGatherProject.Items.Count = 0 then Exit;
  40. if tvGatherProject.Selected = nil then Exit;
  41. sFile := ExtractFilePath(Application.ExeName) + string(tvGatherProject.Selected.Data);
  42. FOwner.CurGatherProjectReportName := sFile;
  43. ModalResult := mrOk;
  44. end;
  45. procedure TGatherProjForm.FormShow(Sender: TObject);
  46. begin
  47. if tvGatherProject.Items.Count > 0 then
  48. begin
  49. tvGatherProject.SetFocus;
  50. tvGatherProject.Items[0].Selected := True;
  51. end;
  52. end;
  53. end.