| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- #pragma once
- #include <shlwapi.h>
- #define DITTO_ADD_IN_VERSION 1
- typedef enum
- {
- eFuncType_PRE_PASTE
- }FunctionType;
- class CFunction
- {
- public:
- CStringA m_csFunction;
- CString m_csDisplayName;
- CString m_csDetailDescription;
- };
- class CDittoAddinInfo
- {
- public:
- CDittoAddinInfo()
- {
- m_nPrivateVersion = DITTO_ADD_IN_VERSION;
- m_AddinVersion = 0;
- m_nSizeOfThis = sizeof(CDittoAddinInfo);
- }
-
- bool ValidateSize() const { return m_nSizeOfThis == sizeof(CDittoAddinInfo); }
- int PrivateVersion() const { return m_nPrivateVersion; }
- int m_nSizeOfThis;
- CString m_Name;
- int m_AddinVersion;
- private:
- int m_nPrivateVersion;
- };
- class CDittoInfo
- {
- public:
- CDittoInfo()
- {
- m_nVersion = 0;
- m_hWndDitto = NULL;
- m_nSizeOfThis = sizeof(CDittoInfo);
- }
- bool ValidateSize() const { return m_nSizeOfThis == sizeof(CDittoInfo); }
- int PrivateVersion() const { return m_nPrivateVersion; }
- int m_nSizeOfThis;
- int m_nVersion;
- CString m_csSqliteVersion;
- CString m_csLanguageCode; //http://www.loc.gov/standards/iso639-2/php/code_list.php
- CString m_csDatabasePath;
- HWND m_hWndDitto;
- private:
- int m_nPrivateVersion;
- };
- class DittoAddinHelpers
- {
- public:
- static void CopyToGlobalHP(HGLOBAL hDest, LPVOID pBuf, ULONG ulBufLen)
- {
- ASSERT(hDest && pBuf && ulBufLen);
- LPVOID pvData = GlobalLock(hDest);
- ASSERT(pvData);
- ULONG size = (ULONG)GlobalSize(hDest);
- ASSERT(size >= ulBufLen); // assert if hDest isn't big enough
- memcpy(pvData, pBuf, ulBufLen);
- GlobalUnlock(hDest);
- }
- static HGLOBAL NewGlobalP(LPVOID pBuf, UINT nLen)
- {
- ASSERT(pBuf && nLen);
- HGLOBAL hDest = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, nLen);
- ASSERT(hDest);
- CopyToGlobalHP(hDest, pBuf, nLen);
- return hDest;
- }
- //Do not change these these are stored in the database
- static CLIPFORMAT GetFormatID(LPCTSTR cbName)
- {
- if(StrCmp(cbName, _T("CF_TEXT")) == 0)
- return CF_TEXT;
- else if(StrCmp(cbName, _T("CF_METAFILEPICT")) == 0)
- return CF_METAFILEPICT;
- else if(StrCmp(cbName, _T("CF_SYLK")) == 0)
- return CF_SYLK;
- else if(StrCmp(cbName, _T("CF_DIF")) == 0)
- return CF_DIF;
- else if(StrCmp(cbName, _T("CF_TIFF")) == 0)
- return CF_TIFF;
- else if(StrCmp(cbName, _T("CF_OEMTEXT")) == 0)
- return CF_OEMTEXT;
- else if(StrCmp(cbName, _T("CF_DIB")) == 0)
- return CF_DIB;
- else if(StrCmp(cbName, _T("CF_PALETTE")) == 0)
- return CF_PALETTE;
- else if(StrCmp(cbName, _T("CF_PENDATA")) == 0)
- return CF_PENDATA;
- else if(StrCmp(cbName, _T("CF_RIFF")) == 0)
- return CF_RIFF;
- else if(StrCmp(cbName, _T("CF_WAVE")) == 0)
- return CF_WAVE;
- else if(StrCmp(cbName, _T("CF_UNICODETEXT")) == 0)
- return CF_UNICODETEXT;
- else if(StrCmp(cbName, _T("CF_ENHMETAFILE")) == 0)
- return CF_ENHMETAFILE;
- else if(StrCmp(cbName, _T("CF_HDROP")) == 0)
- return CF_HDROP;
- else if(StrCmp(cbName, _T("CF_LOCALE")) == 0)
- return CF_LOCALE;
- else if(StrCmp(cbName, _T("CF_OWNERDISPLAY")) == 0)
- return CF_OWNERDISPLAY;
- else if(StrCmp(cbName, _T("CF_DSPTEXT")) == 0)
- return CF_DSPTEXT;
- else if(StrCmp(cbName, _T("CF_DSPBITMAP")) == 0)
- return CF_DSPBITMAP;
- else if(StrCmp(cbName, _T("CF_DSPMETAFILEPICT")) == 0)
- return CF_DSPMETAFILEPICT;
- else if(StrCmp(cbName, _T("CF_DSPENHMETAFILE")) == 0)
- return CF_DSPENHMETAFILE;
- return ::RegisterClipboardFormat(cbName);
- }
- //Do not change these these are stored in the database
- static CString GetFormatName(CLIPFORMAT cbType)
- {
- switch(cbType)
- {
- case CF_TEXT:
- return _T("CF_TEXT");
- case CF_BITMAP:
- return _T("CF_BITMAP");
- case CF_METAFILEPICT:
- return _T("CF_METAFILEPICT");
- case CF_SYLK:
- return _T("CF_SYLK");
- case CF_DIF:
- return _T("CF_DIF");
- case CF_TIFF:
- return _T("CF_TIFF");
- case CF_OEMTEXT:
- return _T("CF_OEMTEXT");
- case CF_DIB:
- return _T("CF_DIB");
- case CF_PALETTE:
- return _T("CF_PALETTE");
- case CF_PENDATA:
- return _T("CF_PENDATA");
- case CF_RIFF:
- return _T("CF_RIFF");
- case CF_WAVE:
- return _T("CF_WAVE");
- case CF_UNICODETEXT:
- return _T("CF_UNICODETEXT");
- case CF_ENHMETAFILE:
- return _T("CF_ENHMETAFILE");
- case CF_HDROP:
- return _T("CF_HDROP");
- case CF_LOCALE:
- return _T("CF_LOCALE");
- case CF_OWNERDISPLAY:
- return _T("CF_OWNERDISPLAY");
- case CF_DSPTEXT:
- return _T("CF_DSPTEXT");
- case CF_DSPBITMAP:
- return _T("CF_DSPBITMAP");
- case CF_DSPMETAFILEPICT:
- return _T("CF_DSPMETAFILEPICT");
- case CF_DSPENHMETAFILE:
- return _T("CF_DSPENHMETAFILE");
- default:
- //Not a default type get the name from the clipboard
- if (cbType != 0)
- {
- TCHAR szFormat[256];
- GetClipboardFormatName(cbType, szFormat, 256);
- return szFormat;
- }
- break;
- }
- return _T("ERROR");
- }
- };
- class AddToDbStickyEnum
- {
- public:
- enum AddToDbSticky
- {
- INVALID,
- MAKE_TOP_STICKY,
- MAKE_LAST_STICKY,
- REPLACE_TOP_STICKY
- };
- };
|