SynchronizeChecklist.h 4.2 KB

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