IClip.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. };
  17. //Contains a list of IClipFormats
  18. //This is a list of all data associated with a clip
  19. class IClipFormats
  20. {
  21. public:
  22. virtual int Size() = 0;
  23. virtual IClipFormat *GetAt(int nPos) = 0;
  24. virtual void DeleteAt(int nPos) = 0;
  25. virtual void DeleteAll() = 0;
  26. virtual INT_PTR AddNew(CLIPFORMAT type, HGLOBAL data) = 0;
  27. virtual IClipFormat *FindFormatEx(CLIPFORMAT type) = 0;
  28. virtual bool RemoveFormat(CLIPFORMAT type) = 0;
  29. };
  30. class IClip
  31. {
  32. public:
  33. virtual CString Description() = 0;
  34. virtual void Description(CString csValue) = 0;
  35. virtual CTime PasteTime() = 0;
  36. virtual int ID() = 0;
  37. virtual int Parent() = 0;
  38. virtual void Parent(int nParent) = 0;
  39. virtual int DontAutoDelete() = 0;
  40. virtual void DontAutoDelete(int Dont) = 0;
  41. virtual CString QuickPaste() = 0;
  42. virtual void QuickPaste(CString csValue) = 0;
  43. virtual void SetSaveToDbSticky(AddToDbStickyEnum::AddToDbSticky option) = 0;
  44. virtual IClipFormats *Clips() = 0;
  45. };