+
+
+%{ // here's the C++ version
+class wxPyHtmlFilter : public wxHtmlFilter {
+ DECLARE_ABSTRACT_CLASS(wxPyHtmlFilter);
+public:
+ wxPyHtmlFilter() : wxHtmlFilter() {}
+
+ // returns TRUE if this filter is able to open&read given file
+ virtual bool CanRead(const wxFSFile& file) const {
+ bool rval = FALSE;
+ bool found;
+ wxPyBeginBlockThreads();
+ if ((found = wxPyCBH_findCallback(m_myInst, "CanRead"))) {
+ PyObject* obj = wxPyMake_wxObject((wxFSFile*)&file); // cast away const
+ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));
+ Py_DECREF(obj);
+ }
+ wxPyEndBlockThreads();
+ return rval;
+ }
+
+
+ // Reads given file and returns HTML document.
+ // Returns empty string if opening failed
+ virtual wxString ReadFile(const wxFSFile& file) const {
+ wxString rval;
+ bool found;
+ wxPyBeginBlockThreads();
+ if ((found = wxPyCBH_findCallback(m_myInst, "ReadFile"))) {
+ PyObject* obj = wxPyMake_wxObject((wxFSFile*)&file); // cast away const
+ PyObject* ro;
+ ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(O)", obj));
+ Py_DECREF(obj);
+ if (ro) {
+ rval = Py2wxString(ro);
+ Py_DECREF(ro);
+ }
+ }
+ wxPyEndBlockThreads();
+ return rval;
+ }
+
+ PYPRIVATE;
+};
+
+IMPLEMENT_ABSTRACT_CLASS(wxPyHtmlFilter, wxHtmlFilter);
+%}
+
+
+// And now the version seen by SWIG
+
+%name(wxHtmlFilter) class wxPyHtmlFilter : public wxObject {
+public:
+ wxPyHtmlFilter();
+
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxHtmlFilter)"
+};
+
+
+// TODO: wxHtmlFilterHTML
+
+
+//---------------------------------------------------------------------------
+// wxHtmlWindow