home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / html / m_templ.h < prev    next >
C/C++ Source or Header  |  2002-11-09  |  3KB  |  85 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        m_templ.h
  3. // Purpose:     Modules template file
  4. // Author:      Vaclav Slavik
  5. // RCS-ID:      $Id: m_templ.h,v 1.4.2.1 2002/11/09 00:05:58 VS Exp $
  6. // Copyright:   (c) Vaclav Slavik
  7. // Licence:     wxWindows licence
  8. /////////////////////////////////////////////////////////////////////////////
  9.  
  10. /*
  11.  
  12. DESCRIPTION:
  13. This is set of macros for easier writing of tag handlers. How to use it?
  14. See mod_fonts.cpp for example...
  15.  
  16. Attention! This is quite strange C++ bastard. Before using it,
  17. I STRONGLY recommend reading and understanding these macros!!
  18.  
  19. */
  20.  
  21.  
  22. #ifndef _WX_M_TEMPL_H_
  23. #define _WX_M_TEMPL_H_
  24.  
  25. #include "wx/defs.h"
  26.  
  27. #if wxUSE_HTML
  28.  
  29. #include "wx/html/winpars.h"
  30.  
  31. #define TAG_HANDLER_BEGIN(name,tags)                                      \
  32.     class HTML_Handler_##name : public wxHtmlWinTagHandler                \
  33.     {                                                                     \
  34.         public:                                                           \
  35.             wxString GetSupportedTags() {return wxT(tags);}
  36.  
  37.  
  38.  
  39. #define TAG_HANDLER_VARS                                                  \
  40.         private:
  41.  
  42. #define TAG_HANDLER_CONSTR(name)                                                \
  43.         public:                                                           \
  44.         HTML_Handler_##name () : wxHtmlWinTagHandler()
  45.  
  46.  
  47. #define TAG_HANDLER_PROC(varib)                                           \
  48.         public:                                                           \
  49.             bool HandleTag(const wxHtmlTag& varib)
  50.  
  51.  
  52.  
  53. #define TAG_HANDLER_END(name)                                             \
  54.     };
  55.  
  56.  
  57.  
  58.  
  59. #define TAGS_MODULE_BEGIN(name)                                           \
  60.     class HTML_Module##name : public wxHtmlTagsModule                     \
  61.     {                                                                     \
  62.         DECLARE_DYNAMIC_CLASS(HTML_Module##name )                         \
  63.         public:                                                           \
  64.             void FillHandlersTable(wxHtmlWinParser *parser)               \
  65.                 {
  66.  
  67.  
  68.  
  69.  
  70. #define TAGS_MODULE_ADD(handler)                                          \
  71.                     parser->AddTagHandler(new HTML_Handler_##handler);
  72.  
  73.  
  74.  
  75.  
  76. #define TAGS_MODULE_END(name)                                             \
  77.                 }                                                         \
  78.     };                                                                    \
  79.     IMPLEMENT_DYNAMIC_CLASS(HTML_Module##name , wxHtmlTagsModule)
  80.  
  81.  
  82.  
  83. #endif
  84. #endif
  85.