GUITools.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. //---------------------------------------------------------------------------
  2. #ifndef GUIToolsH
  3. #define GUIToolsH
  4. //---------------------------------------------------------------------------
  5. // from shlobj.h
  6. #define CSIDL_DESKTOP 0x0000 // <desktop>
  7. #define CSIDL_SENDTO 0x0009 // <user name>\SendTo
  8. #define CSIDL_DESKTOPDIRECTORY 0x0010 // <user name>\Desktop
  9. #define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 // All Users\Desktop
  10. #define CSIDL_APPDATA 0x001a // <user name>\Application Data
  11. #define CSIDL_PROGRAM_FILES 0x0026 // C:\Program Files
  12. #define CSIDL_PERSONAL 0x0005 // My Documents
  13. //---------------------------------------------------------------------------
  14. #include <FileMasks.H>
  15. #include <Tbx.hpp>
  16. //---------------------------------------------------------------------------
  17. class TSessionData;
  18. //---------------------------------------------------------------------------
  19. typedef void __fastcall (__closure* TProcessMessagesEvent)();
  20. //---------------------------------------------------------------------------
  21. bool __fastcall FindFile(UnicodeString & Path);
  22. bool __fastcall FindTool(const UnicodeString & Name, UnicodeString & Path);
  23. bool __fastcall ExecuteShell(const UnicodeString Path, const UnicodeString Params);
  24. bool __fastcall ExecuteShell(const UnicodeString Command);
  25. bool __fastcall ExecuteShell(const UnicodeString Path, const UnicodeString Params,
  26. HANDLE & Handle);
  27. bool __fastcall ExecuteShellAndWait(HWND Handle, const UnicodeString Path,
  28. const UnicodeString Params, TProcessMessagesEvent ProcessMessages);
  29. bool __fastcall ExecuteShellAndWait(HWND Handle, const UnicodeString Command,
  30. TProcessMessagesEvent ProcessMessages);
  31. void __fastcall OpenSessionInPutty(const UnicodeString PuttyPath,
  32. TSessionData * SessionData);
  33. bool __fastcall SpecialFolderLocation(int PathID, UnicodeString & Path);
  34. UnicodeString __fastcall GetPersonalFolder();
  35. UnicodeString __fastcall GetDesktopFolder();
  36. UnicodeString __fastcall UniqTempDir(const UnicodeString BaseDir,
  37. const UnicodeString Identity, bool Mask = false);
  38. bool __fastcall DeleteDirectory(const UnicodeString DirName);
  39. UnicodeString __fastcall FormatDateTimeSpan(const UnicodeString TimeFormat, TDateTime DateTime);
  40. void __fastcall AddSessionColorImage(TCustomImageList * ImageList, TColor Color, int MaskIndex);
  41. void __fastcall SetSubmenu(TTBXCustomItem * Item);
  42. typedef int __fastcall (*TCalculateWidth)(UnicodeString Text, void * Arg);
  43. void __fastcall ApplyTabs(
  44. UnicodeString & Text, wchar_t Padding,
  45. TCalculateWidth CalculateWidth, void * CalculateWidthArg);
  46. TPanel * __fastcall CreateLabelPanel(TPanel * Parent, const UnicodeString & Label);
  47. void __fastcall SelectScaledImageList(TImageList * ImageList);
  48. void __fastcall CopyDataModule(TDataModule * TargetModule, TDataModule * SourceModule);
  49. void __fastcall CopyImageList(TImageList * TargetList, TImageList * SourceList);
  50. void __fastcall LoadDialogImage(TImage * Image, const UnicodeString & ImageName);
  51. int __fastcall DialogImageSize();
  52. void __fastcall HideComponentsPanel(TForm * Form);
  53. namespace Webbrowserex
  54. {
  55. class TWebBrowserEx;
  56. }
  57. using namespace Webbrowserex;
  58. TWebBrowserEx * __fastcall CreateBrowserViewer(TPanel * Parent, const UnicodeString & LoadingLabel);
  59. void __fastcall SetBrowserDesignModeOff(TWebBrowserEx * WebBrowser);
  60. void __fastcall AddBrowserLinkHandler(TWebBrowserEx * WebBrowser,
  61. const UnicodeString & Url, TNotifyEvent Handler);
  62. void __fastcall NavigateBrowserToUrl(TWebBrowserEx * WebBrowser, const UnicodeString & Url);
  63. TComponent * __fastcall FindComponentRecursively(TComponent * Root, const UnicodeString & Name);
  64. //---------------------------------------------------------------------------
  65. class TLocalCustomCommand : public TFileCustomCommand
  66. {
  67. public:
  68. TLocalCustomCommand();
  69. TLocalCustomCommand(const TCustomCommandData & Data, const UnicodeString & Path);
  70. TLocalCustomCommand(const TCustomCommandData & Data, const UnicodeString & Path,
  71. const UnicodeString & FileName, const UnicodeString & LocalFileName,
  72. const UnicodeString & FileList);
  73. virtual bool __fastcall IsFileCommand(const UnicodeString & Command);
  74. bool __fastcall HasLocalFileName(const UnicodeString & Command);
  75. protected:
  76. virtual int __fastcall PatternLen(const UnicodeString & Command, int Index);
  77. virtual bool __fastcall PatternReplacement(const UnicodeString & Pattern,
  78. UnicodeString & Replacement, bool & Delimit);
  79. virtual void __fastcall DelimitReplacement(UnicodeString & Replacement, wchar_t Quote);
  80. private:
  81. UnicodeString FLocalFileName;
  82. };
  83. //---------------------------------------------------------------------------
  84. namespace Pngimagelist
  85. {
  86. class TPngImageList;
  87. class TPngImageCollectionItem;
  88. }
  89. using namespace Pngimagelist;
  90. //---------------------------------------------------------------------------
  91. class TFrameAnimation
  92. {
  93. public:
  94. __fastcall TFrameAnimation();
  95. void __fastcall Init(TPaintBox * PaintBox, const UnicodeString & Name);
  96. void __fastcall Start();
  97. void __fastcall Stop();
  98. private:
  99. TPaintBox * FPaintBox;
  100. TPngImageList * FImageList;
  101. int FFirstFrame;
  102. int FFirstLoopFrame;
  103. int FLastFrame;
  104. int FCurrentFrame;
  105. DWORD FNextFrameTick;
  106. TTimer * FTimer;
  107. bool FPainted;
  108. void __fastcall DoInit(TPaintBox * PaintBox, TPngImageList * ImageList, const UnicodeString & Name, bool Null);
  109. void __fastcall PaintBoxPaint(TObject * Sender);
  110. void __fastcall CalculateNextFrameTick();
  111. TPngImageCollectionItem * __fastcall GetCurrentImage();
  112. void __fastcall Animate();
  113. void __fastcall Timer(TObject * Sender);
  114. void __fastcall Repaint();
  115. };
  116. //---------------------------------------------------------------------------
  117. extern const UnicodeString PageantTool;
  118. extern const UnicodeString PuttygenTool;
  119. //---------------------------------------------------------------------------
  120. #endif