%pragma(python) code = "import wx"
+//----------------------------------------------------------------------
+
+%{
+ // Put some wx default wxChar* values into wxStrings.
+ static const wxChar* wxHtmlWindowNameStr = wxT("htmlWindow");
+ DECLARE_DEF_STRING(HtmlWindowNameStr);
+
+ static const wxChar* wxHtmlPrintoutTitleStr = wxT("Printout");
+ DECLARE_DEF_STRING(HtmlPrintoutTitleStr);
+
+ static const wxChar* wxHtmlPrintingTitleStr = wxT("Printing");
+ DECLARE_DEF_STRING(HtmlPrintingTitleStr);
+
+ static const wxString wxPyEmptyString(wxT(""));
+%}
+
//---------------------------------------------------------------------------
enum {
class wxHtmlLinkInfo : public wxObject {
public:
- wxHtmlLinkInfo(const wxString& href, const wxString& target = wxEmptyString);
+ wxHtmlLinkInfo(const wxString& href, const wxString& target = wxPyEmptyString);
wxString GetHref();
wxString GetTarget();
wxMouseEvent* GetEvent();
: wxHtmlWindow(parent, id, pos, size, style, name) {};
wxPyHtmlWindow() : wxHtmlWindow() {};
+ bool ScrollToAnchor(const wxString& anchor) {
+ return wxHtmlWindow::ScrollToAnchor(anchor);
+ }
+
+ bool HasAnchor(const wxString& anchor) {
+ const wxHtmlCell *c = m_Cell->Find(wxHTML_COND_ISANCHOR, &anchor);
+ return c!=NULL;
+ }
+
void OnLinkClicked(const wxHtmlLinkInfo& link);
void base_OnLinkClicked(const wxHtmlLinkInfo& link);
- wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType type,
+ wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType type,
const wxString& url,
wxString *redirect) const;
wxPyBeginBlockThreads();
if ((found = wxPyCBH_findCallback(m_myInst, "OnOpeningURL"))) {
PyObject* ro;
- ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(is)", type, url.c_str()));
+ ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(iO)", type, wx2PyString(url)));
if (PyString_Check(ro)
#if PYTHON_API_VERSION >= 1009
|| PyUnicode_Check(ro)
#endif
) {
- PyObject* str = PyObject_Str(ro);
- *redirect = PyString_AsString(str);
- Py_DECREF(str);
+ *redirect = Py2wxString(ro);
rval = wxHTML_REDIRECT;
}
else {
wxPyHtmlWindow(wxWindow *parent, int id = -1,
wxPoint& pos = wxDefaultPosition,
wxSize& size = wxDefaultSize,
- int flags=wxHW_SCROLLBAR_AUTO,
- char* name = "htmlWindow");
+ int style=wxHW_SCROLLBAR_AUTO,
+ const wxString& name = wxPyHtmlWindowNameStr);
%name(wxPreHtmlWindow)wxPyHtmlWindow();
bool Create(wxWindow *parent, int id = -1,
wxPoint& pos = wxDefaultPosition,
wxSize& size = wxDefaultSize,
- int flags=wxHW_SCROLLBAR_AUTO,
- char* name = "htmlWindow");
+ int style=wxHW_SCROLLBAR_AUTO,
+ const wxString& name = wxPyHtmlWindowNameStr);
void _setCallbackInfo(PyObject* self, PyObject* _class);
wxString GetOpenedAnchor();
wxString GetOpenedPageTitle();
- void SetRelatedFrame(wxFrame* frame, const char* format);
+ void SetRelatedFrame(wxFrame* frame, const wxString& format);
wxFrame* GetRelatedFrame();
void SetRelatedStatusBar(int bar);
void SetTitle(const wxString& title);
void SetBorders(int b);
- void ReadCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
- void WriteCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
+ void ReadCustomization(wxConfigBase *cfg, wxString path = wxPyEmptyString);
+ void WriteCustomization(wxConfigBase *cfg, wxString path = wxPyEmptyString);
bool HistoryBack();
bool HistoryForward();
bool HistoryCanBack();
wxHtmlContainerCell* GetInternalRepresentation();
wxHtmlWinParser* GetParser();
+ bool ScrollToAnchor(const wxString& anchor);
+ bool HasAnchor(const wxString& anchor);
+
void base_OnLinkClicked(const wxHtmlLinkInfo& link);
- void base_OnSetTitle(const char* title);
+ void base_OnSetTitle(const wxString& title);
void base_OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y);
void base_OnCellClicked(wxHtmlCell *cell,
wxCoord x, wxCoord y,
void SetDC(wxDC *dc, int maxwidth);
void SetSize(int width, int height);
void SetHtmlText(const wxString& html,
- const wxString& basepath = wxEmptyString,
+ const wxString& basepath = wxPyEmptyString,
bool isdir = TRUE);
int Render(int x, int y, int from = 0, int dont_render = FALSE);
int GetTotalHeight();
class wxHtmlPrintout : public wxPyPrintout {
public:
- wxHtmlPrintout(const char* title = "Printout");
+ wxHtmlPrintout(const wxString& title = wxPyHtmlPrintoutTitleStr);
//~wxHtmlPrintout(); wxPrintPreview object takes ownership...
void SetHtmlText(const wxString& html,
- const wxString &basepath = wxEmptyString,
+ const wxString &basepath = wxPyEmptyString,
bool isdir = TRUE);
void SetHtmlFile(const wxString &htmlfile);
void SetHeader(const wxString& header, int pg = wxPAGE_ALL);
class wxHtmlEasyPrinting : public wxObject {
public:
- wxHtmlEasyPrinting(const char* name = "Printing",
+ wxHtmlEasyPrinting(const wxString& name = wxPyHtmlPrintingTitleStr,
wxFrame *parent_frame = NULL);
~wxHtmlEasyPrinting();
void PreviewFile(const wxString &htmlfile);
- void PreviewText(const wxString &htmltext, const wxString& basepath = wxEmptyString);
+ void PreviewText(const wxString &htmltext, const wxString& basepath = wxPyEmptyString);
void PrintFile(const wxString &htmlfile);
- void PrintText(const wxString &htmltext, const wxString& basepath = wxEmptyString);
+ void PrintText(const wxString &htmltext, const wxString& basepath = wxPyEmptyString);
void PrinterSetup();
void PageSetup();
void SetHeader(const wxString& header, int pg = wxPAGE_ALL);