diff --git a/wxPython/demo/HtmlWindow.py b/wxPython/demo/HtmlWindow.py
index 3e39f7ebd5..42e24bddd6 100644
--- a/wxPython/demo/HtmlWindow.py
+++ b/wxPython/demo/HtmlWindow.py
@@ -33,6 +33,9 @@ class MyHtmlWindow(html.HtmlWindow):
def OnCellClicked(self, cell, x, y, evt):
self.log.WriteText('OnCellClicked: %s, (%d %d)\n' % (cell, x, y))
+ if isinstance(cell, html.HtmlWordCell):
+ sel = html.HtmlSelection()
+ self.log.WriteText(' %s\n' % cell.ConvertToText(sel))
super(MyHtmlWindow, self).OnCellClicked(cell, x, y, evt)
diff --git a/wxPython/include/wx/wxPython/wxPython_int.h b/wxPython/include/wx/wxPython/wxPython_int.h
index ca3fbcc6a5..302288b4aa 100644
--- a/wxPython/include/wx/wxPython/wxPython_int.h
+++ b/wxPython/include/wx/wxPython/wxPython_int.h
@@ -1451,7 +1451,7 @@ extern wxPyApp *wxPythonApp;
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
- PyObject* obj = wxPyConstructObject((void*)cell, wxT("wxHtmlCell"), 0); \
+ PyObject* obj = wxPyMake_wxObject(cell, 0); \
wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(Oii)",obj,x,y)); \
Py_DECREF(obj); \
} \
@@ -1489,7 +1489,7 @@ extern wxPyApp *wxPythonApp;
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
- PyObject* obj = wxPyConstructObject((void*)cell, wxT("wxHtmlCell"), 0); \
+ PyObject* obj = wxPyMake_wxObject(cell, 0); \
PyObject* o2 = wxPyConstructObject((void*)&e, wxT("wxMouseEvent"), 0); \
wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OiiO)",obj,x,y,o2)); \
Py_DECREF(obj); \
diff --git a/wxPython/src/html.i b/wxPython/src/html.i
index e7160365ca..12396332c1 100644
--- a/wxPython/src/html.i
+++ b/wxPython/src/html.i
@@ -384,6 +384,10 @@ private:
//---------------------------------------------------------------------------
+
+%typemap(out) wxHtmlCell* { $result = wxPyMake_wxObject($1, $owner); }
+%typemap(out) const wxHtmlCell* { $result = wxPyMake_wxObject($1, $owner); }
+
//---------------------------------------------------------------------------
%newgroup
@@ -499,8 +503,13 @@ enum
class wxHtmlCell : public wxObject {
public:
+ %typemap(out) wxHtmlCell*; // turn off this typemap
+
wxHtmlCell();
+ // Turn it back on again
+ %typemap(out) wxHtmlCell* { $result = wxPyMake_wxObject($1, $owner); }
+
int GetPosX();
int GetPosY();
int GetWidth();
@@ -582,6 +591,9 @@ class wxHtmlWordCell : public wxHtmlCell
{
public:
wxHtmlWordCell(const wxString& word, wxDC& dc);
+ wxString ConvertToText(wxHtmlSelection *sel) const;
+ bool IsLinebreakAllowed() const;
+ void SetPreviousWord(wxHtmlWordCell *cell);
};
@@ -1138,10 +1150,6 @@ public:
int GetCurIndex();
int GetMaxIndex();
const wxString& GetName();
- // WXWIN_COMPATIBILITY_2_4
-#if 0
- wxHtmlContentsItem* GetContentsItem();
-#endif
};
//---------------------------------------------------------------------------
@@ -1164,13 +1172,6 @@ public:
// TODO: this one needs fixed...
const wxHtmlBookRecArray& GetBookRecArray();
- // WXWIN_COMPATIBILITY_2_4
-#if 0
- wxHtmlContentsItem* GetContents();
- int GetContentsCnt();
- wxHtmlContentsItem* GetIndex();
- int GetIndexCnt();
-#endif
};
//---------------------------------------------------------------------------