Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / html / cpp / htmltag.h
1
2
3
4 #include "cpp/v_cback.h"
5
6 #define DEC_V_CBACK_BOOL__WXHTMLTAG( NAME ) \
7     bool NAME( const wxHtmlTag& tag );
8
9 #if 0
10 #define DEF_V_CBACK_BOOL__WXHTMLTAG_pure( CLASS, BASE, METHOD )              \
11     DEF_V_CBACK_BOOL__WXOBJECTs_( const wxHtmlTag&, CLASS, return false,     \
12                                   METHOD, wxPli_NOCONST )
13 #endif
14
15 #define DEF_V_CBACK_BOOL__WXHTMLTAG_pure( CLASS, BASE, METHOD )              \
16     bool CLASS::METHOD( const wxHtmlTag& p1 )                                \
17     {                                                                        \
18         dTHX;                                                                \
19         if( wxPliFCback( aTHX_ &m_callback, #METHOD ) )                      \
20         {                                                                    \
21             wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback,              \
22                                              G_SCALAR|G_DISCARD,             \
23                                              "q", &p1, "Wx::HtmlTag" ) );    \
24             return SvTRUE( ret );                                            \
25         } else                                                               \
26             return false;                                                    \
27     }
28
29 class wxPlHtmlTagHandler : public wxHtmlTagHandler
30 {
31     WXPLI_DECLARE_DYNAMIC_CLASS( wxPlHtmlTagHandler );
32     WXPLI_DECLARE_V_CBACK();
33 public:
34     wxPlHtmlTagHandler( const char* package )
35         :m_callback( "Wx::PlHtmlTagHandler" )
36     {
37         m_callback.SetSelf( wxPli_make_object( this, package ), true );
38     }
39
40     wxHtmlParser* GetParser() { return m_Parser; }
41
42     DEC_V_CBACK_WXSTRING__VOID( GetSupportedTags );
43     DEC_V_CBACK_BOOL__WXHTMLTAG( HandleTag );
44 };
45
46 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlHtmlTagHandler, wxHtmlTagHandler );
47
48 DEF_V_CBACK_WXSTRING__VOID_pure( wxPlHtmlTagHandler, wxHtmlTagHandler, GetSupportedTags );
49 DEF_V_CBACK_BOOL__WXHTMLTAG_pure( wxPlHtmlTagHandler, wxHtmlTagHandler, HandleTag );
50
51 class wxPlHtmlWinTagHandler : public wxHtmlWinTagHandler
52 {
53     WXPLI_DECLARE_DYNAMIC_CLASS( wxPlHtmlWinTagHandler );
54     WXPLI_DECLARE_V_CBACK();
55 public:
56     wxPlHtmlWinTagHandler( const char* package )
57         :m_callback( "Wx::PlHtmlWinTagHandler" )
58     {
59         m_callback.SetSelf( wxPli_make_object( this, package ), true );
60     }
61
62     wxHtmlWinParser* GetParser() { return m_WParser; }
63
64     DEC_V_CBACK_WXSTRING__VOID( GetSupportedTags );
65     DEC_V_CBACK_BOOL__WXHTMLTAG( HandleTag );
66 };
67
68 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlHtmlWinTagHandler, wxHtmlWinTagHandler );
69
70 DEF_V_CBACK_WXSTRING__VOID_pure( wxPlHtmlWinTagHandler, wxHtmlWinTagHandler, GetSupportedTags );
71 DEF_V_CBACK_BOOL__WXHTMLTAG_pure( wxPlHtmlWinTagHandler, wxHtmlWinTagHandler, HandleTag );
72
73
74