GUITools.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. //---------------------------------------------------------------------------
  16. class TSessionData;
  17. //---------------------------------------------------------------------------
  18. typedef void __fastcall (__closure* TProcessMessagesEvent)();
  19. //---------------------------------------------------------------------------
  20. bool __fastcall FindFile(UnicodeString & Path);
  21. bool __fastcall FindTool(const UnicodeString & Name, UnicodeString & Path);
  22. bool __fastcall FileExistsEx(UnicodeString Path);
  23. bool __fastcall ExecuteShell(const UnicodeString Path, const UnicodeString Params);
  24. bool __fastcall ExecuteShell(const UnicodeString Path, const UnicodeString Params,
  25. HANDLE & Handle);
  26. bool __fastcall ExecuteShellAndWait(HWND Handle, const UnicodeString Path,
  27. const UnicodeString Params, TProcessMessagesEvent ProcessMessages);
  28. bool __fastcall ExecuteShellAndWait(HWND Handle, const UnicodeString Command,
  29. TProcessMessagesEvent ProcessMessages);
  30. void __fastcall OpenSessionInPutty(const UnicodeString PuttyPath,
  31. TSessionData * SessionData, UnicodeString UserName, UnicodeString Password);
  32. bool __fastcall SpecialFolderLocation(int PathID, UnicodeString & Path);
  33. UnicodeString __fastcall GetPersonalFolder();
  34. UnicodeString __fastcall ItemsFormatString(const UnicodeString SingleItemFormat,
  35. const UnicodeString MultiItemsFormat, int Count, const UnicodeString FirstItem);
  36. UnicodeString __fastcall ItemsFormatString(const UnicodeString SingleItemFormat,
  37. const UnicodeString MultiItemsFormat, TStrings * Items);
  38. UnicodeString __fastcall FileNameFormatString(const UnicodeString SingleFileFormat,
  39. const UnicodeString MultiFileFormat, TStrings * Files, bool Remote);
  40. UnicodeString __fastcall UniqTempDir(const UnicodeString BaseDir,
  41. const UnicodeString Identity, bool Mask = false);
  42. bool __fastcall DeleteDirectory(const UnicodeString DirName);
  43. UnicodeString __fastcall FormatDateTimeSpan(const UnicodeString TimeFormat, TDateTime DateTime);
  44. void __fastcall AddSessionColorImage(TCustomImageList * ImageList, TColor Color, int MaskIndex);
  45. typedef int __fastcall (*TCalculateWidth)(UnicodeString Text, void * Arg);
  46. void __fastcall ApplyTabs(
  47. UnicodeString & Text, wchar_t Padding,
  48. TCalculateWidth CalculateWidth, void * CalculateWidthArg);
  49. //---------------------------------------------------------------------------
  50. class TLocalCustomCommand : public TFileCustomCommand
  51. {
  52. public:
  53. TLocalCustomCommand();
  54. TLocalCustomCommand(const TCustomCommandData & Data, const UnicodeString & Path);
  55. TLocalCustomCommand(const TCustomCommandData & Data, const UnicodeString & Path,
  56. const UnicodeString & FileName, const UnicodeString & LocalFileName,
  57. const UnicodeString & FileList);
  58. virtual bool __fastcall IsFileCommand(const UnicodeString & Command);
  59. bool __fastcall HasLocalFileName(const UnicodeString & Command);
  60. protected:
  61. virtual int __fastcall PatternLen(const UnicodeString & Command, int Index);
  62. virtual bool __fastcall PatternReplacement(const UnicodeString & Pattern,
  63. UnicodeString & Replacement, bool & Delimit);
  64. virtual void __fastcall DelimitReplacement(UnicodeString & Replacement, wchar_t Quote);
  65. private:
  66. UnicodeString FLocalFileName;
  67. };
  68. //---------------------------------------------------------------------------
  69. extern const UnicodeString PageantTool;
  70. extern const UnicodeString PuttygenTool;
  71. //---------------------------------------------------------------------------
  72. #endif