123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- #ifndef __PageEntry_h__
- #define __PageEntry_h__
- struct XInsidePageEntry
- {
- UINT idPosCtrl;
- const CLSID* pclsid;
- DWORD dwData;
- LPCTSTR pszText;
- bool bVisible : 1;
- bool bSizeToCtrl : 1;
- bool bAlwaysApply : 1;
- };
- class XInsidePage : public TCInsidePropPage
- {
- public:
- XInsidePage(const XInsidePageEntry* pEntry);
- public:
-
- const XInsidePageEntry* m_pEntry;
- };
- inline XInsidePage::XInsidePage(const XInsidePageEntry* pEntry)
- : m_pEntry(pEntry)
- {
- }
- #define Embedded_Property_Page_Table_Macros
- #define BEGIN_INSIDE_PAGE_MAP() \
- public: \
- virtual UINT GetInsidePageTable(const XInsidePageEntry** ppTable, \
- UINT iTable) \
- { \
- switch (iTable) \
- { \
- case 0: \
- { \
- static const XInsidePageEntry table[] = \
- {
- #define ALT_INSIDE_PAGE_MAP(pageMapID) \
- {0, NULL, 0, NULL, false, false, false} \
- }; \
- if (ppTable) \
- *ppTable = table; \
- return sizeofArray(table) - 1; \
- } \
- case pageMapID: \
- { \
- static const XInsidePageEntry table[] = \
- {
- #define INSIDE_PAGE_ENTRY_EX(id, clsid, dw, bVis, bSize, bApply) \
- {id, &clsid, DWORD(dw), NULL, bVis, bSize, bApply},
- #define INSIDE_PAGE_ENTRY_EX_TEXT(id, clsid, dw, bVis, bSize, bApply, t) \
- {id, &clsid, DWORD(dw), TEXT(t), bVis, bSize, bApply},
- #define INSIDE_PAGE_ENTRY_EX_STRID(id, clsid, dw, bVis, bSize, bApply, t) \
- {id, &clsid, DWORD(dw), MAKEINTRESOURCE(t), bVis, bSize, bApply},
- #define INSIDE_PAGE_ENTRY(id, clsid, dw) \
- INSIDE_PAGE_ENTRY_EX(id, clsid, dw, true, true, true)
- #define INSIDE_PAGE_ENTRY_TEXT(id, clsid, dw, t) \
- INSIDE_PAGE_ENTRY_EX_TEXT(id, clsid, dw, t, true, true, true)
- #define INSIDE_PAGE_ENTRY_STRID(id, clsid, dw, t) \
- INSIDE_PAGE_ENTRY_EX_STRID(id, clsid, dw, t, true, true, true)
- #define INSIDE_PAGEGROUP_ENTRY(id, clsid, dw, bApply) \
- INSIDE_PAGE_ENTRY_EX(id, clsid, dw, false, true, bApply)
- #define INSIDE_PAGEGROUP_ENTRY_TEXT(id, clsid, dw, t, bApply) \
- INSIDE_PAGE_ENTRY_EX_TEXT(id, clsid, dw, t, false, true, bApply)
- #define INSIDE_PAGEGROUP_ENTRY_STRID(id, clsid, dw, t, bApply) \
- INSIDE_PAGE_ENTRY_EX_STRID(id, clsid, dw, t, false, true, bApply)
- #define END_INSIDE_PAGE_MAP() \
- {0, NULL, 0, NULL, false, false, false} \
- }; \
- if (ppTable) \
- *ppTable = table; \
- return sizeofArray(table) - 1; \
- } \
- } \
- _TRACE1("Invalid inside property page map ID (%i)\n", iTable); \
- assert(FALSE); \
- if (ppTable) \
- *ppTable = NULL; \
- return 0; \
- }
- #define Property_Page_Field_Update_Macros
- #define BEGIN_PAGE_FIELD_MAP() \
- public: \
- UINT GetPageFieldTable(const XPageFieldEntry** ppTable) \
- { \
- static const XPageFieldEntry table[] = \
- {
- #define PAGE_FIELD_ENTRY_EX(id, dispid, iid, fnUpdate, fnApply) \
- {id, dispid, &iid, NULL, NULL, fnUpdate, fnApply},
- #define PAGE_FIELD_ENTRY_EX_RO(id, dispid, iid, fnUpdate) \
- {id, dispid, &iid, NULL, NULL, fnUpdate, NULL},
- #define PAGE_FIELD_ENTRY(id, dispid, iid_name, name) \
- {id, dispid, &IID_##iid_name, XFieldUpdateProc(Update##name), \
- XFieldApplyProc(Apply##name), NULL, NULL},
- #define PAGE_FIELD_ENTRY_RO(id, dispid, iid_name, name) \
- {id, dispid, &IID_##iid_name, XFieldUpdateProc(Update##name), NULL, \
- NULL, NULL},
- #define PAGE_INTERFACE_ENTRY_OLD(iid_name) \
- {0, 0, &IID_##iid_name, NULL, NULL, NULL, NULL},
- #define PAGE_INTERFACE_ENTRY(iid_name, name) \
- {0, 0, &IID_##iid_name, XFieldUpdateProc(Update##name), \
- XFieldApplyProc(Apply##name), NULL, NULL},
- #define PAGE_INTERFACE_ENTRY_RO(iid_name, name) \
- {0, 0, &IID_##iid_name, XFieldUpdateProc(Update##name), NULL},
- #define END_PAGE_FIELD_MAP() \
- {0, 0, NULL, NULL, NULL} \
- }; \
- if (ppTable) \
- *ppTable = table; \
- return sizeofArray(table) - 1; \
- }
- #endif // !__PageEntry_h__
|