SynchronizeChecklist.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //----------------------------------------------------------------------------
  2. #ifndef SynchronizeChecklistH
  3. #define SynchronizeChecklistH
  4. //----------------------------------------------------------------------------
  5. #include <vcl\System.hpp>
  6. #include <vcl\Windows.hpp>
  7. #include <vcl\SysUtils.hpp>
  8. #include <vcl\Classes.hpp>
  9. #include <vcl\Graphics.hpp>
  10. #include <vcl\StdCtrls.hpp>
  11. #include <vcl\Forms.hpp>
  12. #include <vcl\Controls.hpp>
  13. #include <vcl\Buttons.hpp>
  14. #include <vcl\ExtCtrls.hpp>
  15. #include <ComCtrls.hpp>
  16. #include <HistoryComboBox.hpp>
  17. #include <PathLabel.hpp>
  18. #include <Terminal.h>
  19. #include <ImgList.hpp>
  20. #include <Menus.hpp>
  21. #include "IEListView.hpp"
  22. #include "NortonLikeListView.hpp"
  23. //----------------------------------------------------------------------------
  24. class TSynchronizeChecklistDialog : public TForm
  25. {
  26. __published:
  27. TPanel * Panel;
  28. TIEListView *ListView;
  29. TStatusBar *StatusBar;
  30. TImageList *ActionImages;
  31. TButton *OkButton;
  32. TButton *CancelButton;
  33. TButton *CheckAllButton;
  34. TButton *UncheckAllButton;
  35. TButton *CheckButton;
  36. TButton *UncheckButton;
  37. TPopupMenu *ListViewPopupMenu;
  38. TMenuItem *CheckItem;
  39. TMenuItem *UncheckItem;
  40. TMenuItem *N1;
  41. TMenuItem *SelectAllItem;
  42. TTimer *UpdateTimer;
  43. TButton *HelpButton;
  44. TImageList *ArrowImages;
  45. TButton *CustomCommandsButton;
  46. void __fastcall HelpButtonClick(TObject * Sender);
  47. void __fastcall FormShow(TObject * Sender);
  48. void __fastcall ListViewAdvancedCustomDrawSubItem(
  49. TCustomListView * Sender, TListItem * Item, int SubItem,
  50. TCustomDrawState State, TCustomDrawStage Stage,
  51. bool & DefaultDraw);
  52. void __fastcall StatusBarDrawPanel(TStatusBar *StatusBar,
  53. TStatusPanel *Panel, const TRect &Rect);
  54. void __fastcall StatusBarMouseMove(TObject *Sender, TShiftState Shift,
  55. int X, int Y);
  56. void __fastcall ListViewChange(TObject *Sender, TListItem *Item,
  57. TItemChange Change);
  58. void __fastcall ListViewChanging(TObject *Sender, TListItem *Item,
  59. TItemChange Change, bool &AllowChange);
  60. void __fastcall CheckAllButtonClick(TObject *Sender);
  61. void __fastcall CheckButtonClick(TObject *Sender);
  62. void __fastcall ListViewSelectItem(TObject *Sender, TListItem *Item,
  63. bool Selected);
  64. void __fastcall StatusBarResize(TObject *Sender);
  65. void __fastcall UpdateTimerTimer(TObject *Sender);
  66. void __fastcall SelectAllItemClick(TObject *Sender);
  67. void __fastcall StatusBarMouseDown(TObject *Sender, TMouseButton Button,
  68. TShiftState Shift, int X, int Y);
  69. void __fastcall ListViewCompare(TObject *Sender, TListItem *Item1,
  70. TListItem *Item2, int Data, int &Compare);
  71. void __fastcall ListViewSecondaryColumnHeader(TCustomIEListView *Sender,
  72. int Index, int &SecondaryColumn);
  73. void __fastcall ListViewContextPopup(TObject *Sender, TPoint &MousePos,
  74. bool &Handled);
  75. void __fastcall CustomCommandsButtonClick(TObject *Sender);
  76. public:
  77. __fastcall TSynchronizeChecklistDialog(TComponent * AOwner,
  78. TSynchronizeMode Mode, int Params, const AnsiString LocalDirectory,
  79. const AnsiString RemoteDirectory, TCustomCommandMenuEvent OnCustomCommandMenu);
  80. virtual __fastcall ~TSynchronizeChecklistDialog();
  81. bool __fastcall Execute(TSynchronizeChecklist * Checklist);
  82. protected:
  83. bool FFormRestored;
  84. TSynchronizeChecklist * FChecklist;
  85. TSynchronizeMode FMode;
  86. int FParams;
  87. AnsiString FLocalDirectory;
  88. AnsiString FRemoteDirectory;
  89. TImageList * FSystemImageList;
  90. TWndMethod FOrigListViewWindowProc;
  91. int FTotals[1 + TSynchronizeChecklist::ActionCount];
  92. int FChecked[1 + TSynchronizeChecklist::ActionCount];
  93. TListItem * FChangingItem;
  94. bool FChangingItemChecked;
  95. bool FChangingItemIgnore;
  96. bool FChangingItemMass;
  97. AnsiString FGeneralHint;
  98. TCustomCommandMenuEvent FOnCustomCommandMenu;
  99. void __fastcall UpdateControls();
  100. virtual void __fastcall CreateParams(TCreateParams & Params);
  101. void __fastcall LoadItem(TListItem * Item);
  102. void __fastcall LoadList();
  103. void __fastcall ListViewWindowProc(TMessage & Message);
  104. int __fastcall PanelAt(int X);
  105. void __fastcall CheckAll(bool Check);
  106. TListItem * __fastcall SelectAll(bool Select, int Action = 0,
  107. bool OnlyTheAction = true);
  108. static int __fastcall CompareNumber(__int64 Value1, __int64 Value2);
  109. };
  110. //----------------------------------------------------------------------------
  111. #endif