IClip.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma once
  2. #include "DittoDefines.h"
  3. //Contains the actual data of a clip format
  4. // Type is the type of clipboard format
  5. // Data is a HGLOBAL object pointing to the clipboard format data
  6. class IClipFormat
  7. {
  8. public:
  9. virtual CLIPFORMAT Type() = 0;
  10. virtual HGLOBAL Data() = 0;
  11. virtual bool AutoDeleteData() = 0;
  12. virtual void Type(CLIPFORMAT type) = 0;
  13. virtual void Data(HGLOBAL data) = 0;
  14. virtual void AutoDeleteData(bool autoDelete) = 0;
  15. virtual void Free() = 0;
  16. virtual CStringA GetAsCStringA() = 0;
  17. virtual CString GetAsCString() = 0;
  18. };
  19. //Contains a list of IClipFormats
  20. //This is a list of all data associated with a clip
  21. class IClipFormats
  22. {
  23. public:
  24. virtual int Size() = 0;
  25. virtual IClipFormat *GetAt(int nPos) = 0;
  26. virtual void DeleteAt(int nPos) = 0;
  27. virtual void DeleteAll() = 0;
  28. virtual INT_PTR AddNew(CLIPFORMAT type, HGLOBAL data) = 0;
  29. virtual IClipFormat *FindFormatEx(CLIPFORMAT type) = 0;
  30. virtual bool RemoveFormat(CLIPFORMAT type) = 0;
  31. };
  32. class IClip
  33. {
  34. public:
  35. virtual CString Description() = 0;
  36. virtual void Description(CString csValue) = 0;
  37. virtual CTime PasteTime() = 0;
  38. virtual int ID() = 0;
  39. virtual int Parent() = 0;
  40. virtual void Parent(int nParent) = 0;
  41. virtual int DontAutoDelete() = 0;
  42. virtual void DontAutoDelete(int Dont) = 0;
  43. virtual CString QuickPaste() = 0;
  44. virtual void QuickPaste(CString csValue) = 0;
  45. virtual void SetSaveToDbSticky(AddToDbStickyEnum::AddToDbSticky option) = 0;
  46. virtual IClipFormats *Clips() = 0;
  47. };