RecycleBinFrm.pas 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. unit RecycleBinFrm;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, Buttons, ZjGridDBA, ZjGridTreeDBA, ZJGrid, StdCtrls, JimLabels,
  6. ExtCtrls, ScProjectManager, ScCopyBills, ZjDbaActns, ActnList;
  7. type
  8. TRecycleBinForm = class(TForm)
  9. pnlXmjBills: TPanel;
  10. Splitter1: TSplitter;
  11. Panel2: TPanel;
  12. pnlNodeDetailInfo: TPanel;
  13. pnlButtons: TPanel;
  14. Panel5: TPanel;
  15. JimGradLabel1: TJimGradLabel;
  16. JimGradLabel2: TJimGradLabel;
  17. zgXmjBills: TZJGrid;
  18. ztaNodeXmjBills: TZjGridTreeDBA;
  19. zgBinNode: TZJGrid;
  20. spbtnRestore: TSpeedButton;
  21. spbtnDelete: TSpeedButton;
  22. pnlNodeDrawingQuantity: TPanel;
  23. Panel7: TPanel;
  24. Splitter2: TSplitter;
  25. JimGradLabel3: TJimGradLabel;
  26. JimGradLabel4: TJimGradLabel;
  27. zgNodeXmjBills: TZJGrid;
  28. zgNodeDrawingQuantity: TZJGrid;
  29. zaBinNode: TZjGridDBA;
  30. ztaXmjBills: TZjGridTreeDBA;
  31. zaNodeDrawingQuantity: TZjGridDBA;
  32. Splitter3: TSplitter;
  33. spbtnExitBin: TSpeedButton;
  34. ActionList: TActionList;
  35. ZjGridPaste: TZjGridPaste;
  36. ZjDbaDelete: TZjDbaDelete;
  37. spbtnClear: TSpeedButton;
  38. procedure FormShow(Sender: TObject);
  39. procedure spbtnExitBinClick(Sender: TObject);
  40. procedure zgXmjBillsPaste(Sender: TObject; const ABounds: TRect;
  41. var Allow: Boolean);
  42. procedure spbtnRestoreClick(Sender: TObject);
  43. procedure spbtnDeleteClick(Sender: TObject);
  44. procedure spbtnClearClick(Sender: TObject);
  45. private
  46. FProject: TProject;
  47. procedure InitFormView;
  48. procedure SetProject(const Value: TProject);
  49. public
  50. property Project: TProject read FProject write SetProject;
  51. end;
  52. implementation
  53. uses RecycleBinDM;
  54. {$R *.dfm}
  55. { TRecycleBinForm }
  56. procedure TRecycleBinForm.InitFormView;
  57. begin
  58. pnlXmjBills.Width := 510;
  59. pnlNodeDetailInfo.Height := 200;
  60. pnlNodeDrawingQuantity.Width := 350;
  61. end;
  62. procedure TRecycleBinForm.FormShow(Sender: TObject);
  63. begin
  64. InitFormView;
  65. end;
  66. procedure TRecycleBinForm.spbtnExitBinClick(Sender: TObject);
  67. begin
  68. Close;
  69. end;
  70. procedure TRecycleBinForm.zgXmjBillsPaste(Sender: TObject;
  71. const ABounds: TRect; var Allow: Boolean);
  72. begin
  73. with TScXMLClipboard.Create(FProject.BillsData) do
  74. try
  75. PasteBillsFromFile(FProject.RecycleBinData.GetCurrentFileName, ABounds.Top - TZjGrid(Sender).FixedRowCount);
  76. finally
  77. Free;
  78. end;
  79. end;
  80. procedure TRecycleBinForm.SetProject(const Value: TProject);
  81. begin
  82. FProject := Value;
  83. FProject.RecycleBinData.RefreshBills;
  84. ztaXmjBills.IDTree := FProject.BillsData.BillsTree;
  85. zaBinNode.DataSet := FProject.RecycleBinData.cdsRecycleBin;
  86. ztaNodeXmjBills.IDTree := FProject.RecycleBinData.BillsTree;
  87. zaNodeDrawingQuantity.DataSet := FProject.RecycleBinData.cdsDrawingQuantity;
  88. end;
  89. procedure TRecycleBinForm.spbtnRestoreClick(Sender: TObject);
  90. begin
  91. zgXmjBills.PasteFromClipboard(zgXmjBills.Selection.Bounds);
  92. FProject.RecycleBinData.DeleteCurrentNode;
  93. end;
  94. procedure TRecycleBinForm.spbtnDeleteClick(Sender: TObject);
  95. begin
  96. FProject.RecycleBinData.DeleteCurrentNode;
  97. end;
  98. procedure TRecycleBinForm.spbtnClearClick(Sender: TObject);
  99. begin
  100. FProject.RecycleBinData.ClearNodes;
  101. end;
  102. end.