]>
Commit | Line | Data |
---|---|---|
c731eb47 RD |
1 | #ifndef _IEHTMLWIN_H_ |
2 | #define _IEHTMLWIN_H_ | |
3 | #pragma warning( disable : 4101 4786) | |
4 | #pragma warning( disable : 4786) | |
5 | ||
6 | ||
7 | #include <wx/setup.h> | |
8 | #include <wx/wx.h> | |
9 | #include <exdisp.h> | |
10 | #include <iostream> | |
11 | using namespace std; | |
12 | ||
13 | #include "wxactivex.h" | |
14 | ||
15 | class wxMSHTMLEvent : public wxNotifyEvent | |
16 | { | |
17 | public: | |
83a73288 RD |
18 | wxMSHTMLEvent(wxEventType commandType = wxEVT_NULL, int id = 0) |
19 | : wxNotifyEvent(commandType, id) | |
20 | {} | |
21 | ||
22 | wxString GetText1() { return m_text1; } | |
23 | long GetLong1() { return m_long1; } | |
24 | long GetLong2() { return m_long2; } | |
c731eb47 | 25 | |
c731eb47 RD |
26 | |
27 | wxString m_text1; | |
28 | long m_long1, m_long2; | |
29 | ||
30 | virtual wxEvent *Clone() const { return new wxMSHTMLEvent(*this); } | |
31 | ||
32 | private: | |
83a73288 RD |
33 | DECLARE_DYNAMIC_CLASS(wxMSHTMLEvent) |
34 | ||
c731eb47 RD |
35 | }; |
36 | ||
37 | BEGIN_DECLARE_EVENT_TYPES() | |
38 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, 0) | |
39 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_NEWWINDOW2, 0) | |
40 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, 0) | |
41 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, 0) | |
42 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, 0) | |
43 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_TITLECHANGE, 0) | |
44 | END_DECLARE_EVENT_TYPES() | |
45 | ||
46 | typedef void (wxEvtHandler::*wxMSHTMLEventFunction)(wxMSHTMLEvent&); | |
47 | ||
48 | #define EVT_MSHTML_BEFORENAVIGATE2(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
49 | #define EVT_MSHTML_NEWWINDOW2(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_NEWWINDOW2, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
50 | #define EVT_MSHTML_DOCUMENTCOMPLETE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
51 | #define EVT_MSHTML_PROGRESSCHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
52 | #define EVT_MSHTML_STATUSTEXTCHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
53 | #define EVT_MSHTML_TITLECHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_TITLECHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
54 | ||
55 | ||
83a73288 RD |
56 | enum wxIEHtmlRefreshLevel |
57 | { | |
58 | wxIEHTML_REFRESH_NORMAL = 0, | |
59 | wxIEHTML_REFRESH_IFEXPIRED = 1, | |
60 | wxIEHTML_REFRESH_CONTINUE = 2, | |
61 | wxIEHTML_REFRESH_COMPLETELY = 3 | |
c731eb47 RD |
62 | }; |
63 | ||
c731eb47 RD |
64 | class wxIEHtmlWin : public wxActiveX |
65 | { | |
66 | public: | |
d7abf017 | 67 | wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1, |
83a73288 RD |
68 | const wxPoint& pos = wxDefaultPosition, |
69 | const wxSize& size = wxDefaultSize, | |
70 | long style = 0, | |
71 | const wxString& name = wxPanelNameStr); | |
72 | virtual ~wxIEHtmlWin(); | |
c731eb47 | 73 | |
83a73288 | 74 | void LoadUrl(const wxString&); |
c731eb47 RD |
75 | bool LoadString(wxString html); |
76 | bool LoadStream(istream *strm); | |
77 | ||
83a73288 | 78 | void SetCharset(wxString charset); |
c731eb47 RD |
79 | void SetEditMode(bool seton); |
80 | bool GetEditMode(); | |
81 | wxString GetStringSelection(bool asHTML = false); | |
83a73288 | 82 | wxString GetText(bool asHTML = false); |
c731eb47 | 83 | |
83a73288 RD |
84 | bool GoBack(); |
85 | bool GoForward(); | |
86 | bool GoHome(); | |
87 | bool GoSearch(); | |
88 | bool Refresh(wxIEHtmlRefreshLevel level); | |
89 | bool Stop(); | |
c731eb47 | 90 | |
83a73288 | 91 | DECLARE_EVENT_TABLE(); |
c731eb47 RD |
92 | |
93 | protected: | |
94 | void SetupBrowser(); | |
95 | ||
96 | wxAutoOleInterface<IWebBrowser2> m_webBrowser; | |
97 | }; | |
98 | ||
99 | #endif /* _IEHTMLWIN_H_ */ |