1 ///////////////////////////////////////////////////////////////////////////// 2 // Purpose: Wrappers for wxHTML classes for wxLua 3 // Author: J. Winwood 4 // Created: June 2002 5 // Copyright: (c) 2002 Lomtick Software. All rights reserved. 6 // Licence: wxWidgets licence 7 ///////////////////////////////////////////////////////////////////////////// 8 9 #ifndef WX_LUA_WXLHTML_H 10 #define WX_LUA_WXLHTML_H 11 12 #include "wx/html/htmlwin.h" 13 #include "wx/html/htmlcell.h" 14 15 #include "wxbind/include/wxbinddefs.h" 16 #include "wxluasetup.h" 17 18 #if wxLUA_USE_wxHTML 19 20 // ---------------------------------------------------------------------------- 21 // wxLuaHtmlWindow 22 // ---------------------------------------------------------------------------- 23 24 class WXDLLIMPEXP_BINDWXHTML wxLuaHtmlWindow : public wxHtmlWindow 25 { 26 public: 27 wxLuaHtmlWindow(const wxLuaState& wxlState, 28 wxWindow *parent, wxWindowID id = wxID_ANY, 29 const wxPoint& pos = wxDefaultPosition, 30 const wxSize& size = wxDefaultSize, 31 long style = wxHW_SCROLLBAR_AUTO, 32 const wxString& name = wxT("wxLuaHtmlWindow")); 33 ~wxLuaHtmlWindow()34 virtual ~wxLuaHtmlWindow() {} 35 36 #if wxCHECK_VERSION(2, 7, 0) 37 virtual bool 38 #else 39 virtual void 40 #endif 41 OnCellClicked(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& event); 42 virtual void OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y); 43 virtual void OnLinkClicked(const wxHtmlLinkInfo& link); 44 virtual void OnSetTitle(const wxString& title); 45 46 private: 47 wxLuaState m_wxlState; 48 49 DECLARE_ABSTRACT_CLASS(wxLuaHtmlWindow) 50 }; 51 52 // ---------------------------------------------------------------------------- 53 // wxLuaHtmlWinTagEvent 54 // ---------------------------------------------------------------------------- 55 56 class WXDLLIMPEXP_BINDWXHTML wxLuaHtmlWinTagEvent : public wxEvent 57 { 58 public: 59 wxLuaHtmlWinTagEvent(wxEventType eventType = wxEVT_NULL); 60 wxLuaHtmlWinTagEvent(const wxLuaHtmlWinTagEvent& event); 61 ~wxLuaHtmlWinTagEvent()62 virtual ~wxLuaHtmlWinTagEvent() {} 63 64 void SetTagInfo(const wxHtmlTag *pHtmlTag, wxHtmlWinParser *pParser); 65 GetHtmlTag()66 const wxHtmlTag* GetHtmlTag() const { return m_pHtmlTag; } GetHtmlParser()67 wxHtmlWinParser* GetHtmlParser() const { return m_pHtmlParser; } 68 GetParseInnerCalled()69 bool GetParseInnerCalled() const { return m_fParseInnerCalled; } SetParseInnerCalled(bool fParseInnerCalled)70 void SetParseInnerCalled(bool fParseInnerCalled) { m_fParseInnerCalled = fParseInnerCalled; } 71 72 protected: Clone()73 virtual wxEvent* Clone() const { return new wxLuaHtmlWinTagEvent(*this); } 74 75 private: 76 const wxHtmlTag *m_pHtmlTag; 77 wxHtmlWinParser *m_pHtmlParser; 78 bool m_fParseInnerCalled; 79 DECLARE_DYNAMIC_CLASS(wxLuaHtmlWinTagEvent) 80 }; 81 82 typedef void (wxEvtHandler::*wxLuaHtmlWinTagEventFunction)(wxLuaHtmlWinTagEvent&); 83 84 BEGIN_DECLARE_EVENT_TYPES() 85 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_BINDWXHTML, wxEVT_HTML_TAG_HANDLER, 0) 86 END_DECLARE_EVENT_TYPES() 87 88 #define EVT_HTML_TAG_HANDLER(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_HTML_TAG_HANDLER, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxLuaHtmlWinTagEventFunction) & fn, (wxObject *) NULL), 89 90 #endif // wxLUA_USE_wxHTML 91 92 #endif //WX_LUA_WXLHTML_H 93