use wxRTTI to construct the right class of wxHtmlCell
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -33,6 +33,9 @@ class MyHtmlWindow(html.HtmlWindow):
|
|||||||
|
|
||||||
def OnCellClicked(self, cell, x, y, evt):
|
def OnCellClicked(self, cell, x, y, evt):
|
||||||
self.log.WriteText('OnCellClicked: %s, (%d %d)\n' % (cell, x, y))
|
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)
|
super(MyHtmlWindow, self).OnCellClicked(cell, x, y, evt)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1451,7 +1451,7 @@ extern wxPyApp *wxPythonApp;
|
|||||||
bool found; \
|
bool found; \
|
||||||
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
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)); \
|
wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(Oii)",obj,x,y)); \
|
||||||
Py_DECREF(obj); \
|
Py_DECREF(obj); \
|
||||||
} \
|
} \
|
||||||
@@ -1489,7 +1489,7 @@ extern wxPyApp *wxPythonApp;
|
|||||||
bool found; \
|
bool found; \
|
||||||
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
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); \
|
PyObject* o2 = wxPyConstructObject((void*)&e, wxT("wxMouseEvent"), 0); \
|
||||||
wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OiiO)",obj,x,y,o2)); \
|
wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OiiO)",obj,x,y,o2)); \
|
||||||
Py_DECREF(obj); \
|
Py_DECREF(obj); \
|
||||||
|
@@ -384,6 +384,10 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%typemap(out) wxHtmlCell* { $result = wxPyMake_wxObject($1, $owner); }
|
||||||
|
%typemap(out) const wxHtmlCell* { $result = wxPyMake_wxObject($1, $owner); }
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
%newgroup
|
%newgroup
|
||||||
|
|
||||||
@@ -499,8 +503,13 @@ enum
|
|||||||
|
|
||||||
class wxHtmlCell : public wxObject {
|
class wxHtmlCell : public wxObject {
|
||||||
public:
|
public:
|
||||||
|
%typemap(out) wxHtmlCell*; // turn off this typemap
|
||||||
|
|
||||||
wxHtmlCell();
|
wxHtmlCell();
|
||||||
|
|
||||||
|
// Turn it back on again
|
||||||
|
%typemap(out) wxHtmlCell* { $result = wxPyMake_wxObject($1, $owner); }
|
||||||
|
|
||||||
int GetPosX();
|
int GetPosX();
|
||||||
int GetPosY();
|
int GetPosY();
|
||||||
int GetWidth();
|
int GetWidth();
|
||||||
@@ -582,6 +591,9 @@ class wxHtmlWordCell : public wxHtmlCell
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxHtmlWordCell(const wxString& word, wxDC& dc);
|
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 GetCurIndex();
|
||||||
int GetMaxIndex();
|
int GetMaxIndex();
|
||||||
const wxString& GetName();
|
const wxString& GetName();
|
||||||
// WXWIN_COMPATIBILITY_2_4
|
|
||||||
#if 0
|
|
||||||
wxHtmlContentsItem* GetContentsItem();
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -1164,13 +1172,6 @@ public:
|
|||||||
// TODO: this one needs fixed...
|
// TODO: this one needs fixed...
|
||||||
const wxHtmlBookRecArray& GetBookRecArray();
|
const wxHtmlBookRecArray& GetBookRecArray();
|
||||||
|
|
||||||
// WXWIN_COMPATIBILITY_2_4
|
|
||||||
#if 0
|
|
||||||
wxHtmlContentsItem* GetContents();
|
|
||||||
int GetContentsCnt();
|
|
||||||
wxHtmlContentsItem* GetIndex();
|
|
||||||
int GetIndexCnt();
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user