| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/html/m_templ.h
- // Purpose: Modules template file
- // Author: Vaclav Slavik
- // Copyright: (c) Vaclav Slavik
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /*
- DESCRIPTION:
- This is set of macros for easier writing of tag handlers. How to use it?
- See mod_fonts.cpp for example...
- Attention! This is quite strange C++ bastard. Before using it,
- I STRONGLY recommend reading and understanding these macros!!
- */
- #ifndef _WX_M_TEMPL_H_
- #define _WX_M_TEMPL_H_
- #include "wx/defs.h"
- #if wxUSE_HTML
- #include "wx/html/winpars.h"
- #define TAG_HANDLER_BEGIN(name,tags) \
- class wxHTML_Handler_##name : public wxHtmlWinTagHandler \
- { \
- public: \
- wxString GetSupportedTags() {return wxT(tags);}
- #define TAG_HANDLER_VARS \
- private:
- #define TAG_HANDLER_CONSTR(name) \
- public: \
- wxHTML_Handler_##name () : wxHtmlWinTagHandler()
- #define TAG_HANDLER_PROC(varib) \
- public: \
- bool HandleTag(const wxHtmlTag& varib)
- #define TAG_HANDLER_END(name) \
- };
- #define TAGS_MODULE_BEGIN(name) \
- class wxHTML_Module##name : public wxHtmlTagsModule \
- { \
- DECLARE_DYNAMIC_CLASS(wxHTML_Module##name ) \
- public: \
- void FillHandlersTable(wxHtmlWinParser *parser) \
- {
- #define TAGS_MODULE_ADD(handler) \
- parser->AddTagHandler(new wxHTML_Handler_##handler);
- #define TAGS_MODULE_END(name) \
- } \
- }; \
- IMPLEMENT_DYNAMIC_CLASS(wxHTML_Module##name , wxHtmlTagsModule)
- #endif
- #endif
|