Progress.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. //----------------------------------------------------------------------------
  2. #ifndef ProgressH
  3. #define ProgressH
  4. //----------------------------------------------------------------------------
  5. #include "HistoryComboBox.hpp"
  6. #include "PathLabel.hpp"
  7. #include <System.Classes.hpp>
  8. #include <Vcl.ComCtrls.hpp>
  9. #include <Vcl.Controls.hpp>
  10. #include <Vcl.ExtCtrls.hpp>
  11. #include <Vcl.StdCtrls.hpp>
  12. //----------------------------------------------------------------------------
  13. #include <FileOperationProgress.h>
  14. #include <Vcl.Menus.hpp>
  15. //----------------------------------------------------------------------------
  16. class TProgressForm : public TForm
  17. {
  18. __published:
  19. TAnimate *Animate;
  20. TButton *CancelButton;
  21. TButton *MinimizeButton;
  22. TPanel *MainPanel;
  23. TLabel *Label1;
  24. TPathLabel *FileLabel;
  25. TLabel *TargetLabel;
  26. TPathLabel *TargetPathLabel;
  27. TProgressBar *TopProgress;
  28. TPanel *TransferPanel;
  29. TLabel *Label3;
  30. TLabel *TimeElapsedLabel;
  31. TLabel *StartTimeLabelLabel;
  32. TLabel *StartTimeLabel;
  33. TLabel *Label4;
  34. TLabel *BytesTransferedLabel;
  35. TLabel *Label12;
  36. TLabel *CPSLabel;
  37. TProgressBar *BottomProgress;
  38. TTimer *UpdateTimer;
  39. TPanel *SpeedPanel;
  40. TLabel *SpeedLabel3;
  41. TLabel *TimeLeftLabelLabel;
  42. TLabel *TimeLeftLabel;
  43. THistoryComboBox *SpeedCombo;
  44. TLabel *OnceDoneOperationLabel;
  45. TComboBox *OnceDoneOperationCombo2;
  46. TPopupMenu *MinimizeMenu;
  47. TMenuItem *MoveToQueueMenuItem;
  48. TMenuItem *MinimizeMenuItem;
  49. void __fastcall UpdateTimerTimer(TObject *Sender);
  50. void __fastcall FormShow(TObject *Sender);
  51. void __fastcall FormHide(TObject *Sender);
  52. void __fastcall CancelButtonClick(TObject *Sender);
  53. void __fastcall MinimizeButtonClick(TObject *Sender);
  54. void __fastcall SpeedComboExit(TObject *Sender);
  55. void __fastcall SpeedComboSelect(TObject *Sender);
  56. void __fastcall SpeedComboKeyPress(TObject *Sender, wchar_t &Key);
  57. void __fastcall OnceDoneOperationCombo2Select(TObject *Sender);
  58. void __fastcall OnceDoneOperationCombo2CloseUp(TObject *Sender);
  59. void __fastcall MinimizeMenuItemClick(TObject *Sender);
  60. void __fastcall MoveToQueueMenuItemClick(TObject *Sender);
  61. private:
  62. TCancelStatus FCancel;
  63. bool FMoveToQueue;
  64. TFileOperationProgressType FData;
  65. bool FDataGot;
  66. bool FDataReceived;
  67. TFileOperation FLastOperation;
  68. bool FLastTotalSizeSet;
  69. bool FMinimizedByMe;
  70. int FUpdateCounter;
  71. bool FAsciiTransferChanged;
  72. bool FResumeStatusChanged;
  73. void * FShowAsModalStorage;
  74. bool FDeleteToRecycleBin;
  75. bool FReadOnly;
  76. unsigned long FCPSLimit;
  77. TOnceDoneOperation FOnceDoneOperation;
  78. TProgressBar * FOperationProgress;
  79. TProgressBar * FFileProgress;
  80. TDateTime FStarted;
  81. TDateTime FSinceLastUpdate;
  82. bool FModalBeginHooked;
  83. TNotifyEvent FPrevApplicationModalBegin;
  84. int FModalLevel;
  85. bool FAllowMoveToQueue;
  86. void __fastcall SetOnceDoneOperation(TOnceDoneOperation value);
  87. void __fastcall SetAllowMinimize(bool value);
  88. bool __fastcall GetAllowMinimize();
  89. void __fastcall SetReadOnly(bool value);
  90. void __fastcall GlobalMinimize(TObject * Sender);
  91. void __fastcall ApplicationModalBegin(TObject * Sender);
  92. void __fastcall ResetFocus();
  93. protected:
  94. void __fastcall CancelOperation();
  95. void __fastcall UpdateControls();
  96. void __fastcall ApplyCPSLimit();
  97. void __fastcall ResetOnceDoneOperation();
  98. bool __fastcall ReceiveData(bool Force, int ModalLevelOffset);
  99. void __fastcall Minimize(TObject * Sender);
  100. virtual void __fastcall Dispatch(void * Message);
  101. public:
  102. static UnicodeString __fastcall OperationName(TFileOperation Operation, TOperationSide Side);
  103. virtual __fastcall TProgressForm(TComponent * AOwner, bool AllowMoveToQueue);
  104. virtual __fastcall ~TProgressForm();
  105. void __fastcall SetProgressData(TFileOperationProgressType & AData);
  106. __property TCancelStatus Cancel = { read = FCancel };
  107. __property bool MoveToQueue = { read = FMoveToQueue };
  108. __property TOnceDoneOperation OnceDoneOperation = { read=FOnceDoneOperation, write=SetOnceDoneOperation };
  109. __property bool AllowMinimize = { read=GetAllowMinimize, write=SetAllowMinimize };
  110. __property bool DeleteToRecycleBin = { read=FDeleteToRecycleBin, write=FDeleteToRecycleBin };
  111. __property bool ReadOnly = { read=FReadOnly, write=SetReadOnly };
  112. };
  113. //----------------------------------------------------------------------------
  114. #endif