]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/html.i
reSWIGged
[wxWidgets.git] / wxPython / src / html.i
index 86609a3fd60a42c8c7aaf41ec3a489a582013a2b..6220731d1f7c3bf1480b93bb28c0e34ad7d5acd8 100644 (file)
 #include <wx/html/htmprint.h>
 #include <wx/html/helpctrl.h>
 
-
-    DECLARE_DEF_STRING(EmptyString);
-    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);
-    
 %}
 
+
 //---------------------------------------------------------------------------
 
 %import windows.i
 %include _html_rename.i
 
 
+MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
+MAKE_CONST_WXSTRING2(HtmlWindowNameStr,    wxT("htmlWindow"))
+MAKE_CONST_WXSTRING2(HtmlPrintoutTitleStr, wxT("Printout"))
+MAKE_CONST_WXSTRING2(HtmlPrintingTitleStr, wxT("Printing"))
+
+
 // TODO: Split this file into multiple %included files that coresponds to the
 // wx/html include files (more or less.)
 
@@ -251,7 +249,7 @@ IMP_PYCALLBACK_BOOL_TAG_pure(wxPyHtmlTagHandler, wxHtmlTagHandler, HandleTag);
 
 %name(HtmlTagHandler) class wxPyHtmlTagHandler : public wxObject {
 public:
-    %addtofunc wxPyHtmlTagHandler   "self._setCallbackInfo(self, HtmlTagHandler)"    
+    %pythonAppend wxPyHtmlTagHandler   "self._setCallbackInfo(self, HtmlTagHandler)"    
     wxPyHtmlTagHandler();
 
     void _setCallbackInfo(PyObject* self, PyObject* _class);
@@ -289,7 +287,7 @@ IMP_PYCALLBACK_BOOL_TAG_pure(wxPyHtmlWinTagHandler, wxHtmlWinTagHandler, HandleT
 
 %name(HtmlWinTagHandler) class wxPyHtmlWinTagHandler : public wxPyHtmlTagHandler {
 public:
-    %addtofunc wxPyHtmlWinTagHandler    "self._setCallbackInfo(self, HtmlWinTagHandler)"
+    %pythonAppend wxPyHtmlWinTagHandler    "self._setCallbackInfo(self, HtmlWinTagHandler)"
     wxPyHtmlWinTagHandler();
 
     void _setCallbackInfo(PyObject* self, PyObject* _class);
@@ -329,15 +327,17 @@ public:
 
         // First, make a new instance of the tag handler
         wxPyBeginBlockThreads();
-        PyObject* arg = Py_BuildValue("()");
-        PyObject* obj = PyInstance_New(m_tagHandlerClass, arg, NULL);
+        PyObject* arg = PyTuple_New(0);
+        PyObject* obj = PyObject_CallObject(m_tagHandlerClass, arg);
         Py_DECREF(arg);
-        wxPyEndBlockThreads();
-
+        
         // now figure out where it's C++ object is...
         wxPyHtmlWinTagHandler* thPtr;
-        if (! wxPyConvertSwigPtr(obj, (void **)&thPtr, wxT("wxPyHtmlWinTagHandler")))
+        if (! wxPyConvertSwigPtr(obj, (void **)&thPtr, wxT("wxPyHtmlWinTagHandler"))) {
+            wxPyEndBlockThreads();
             return;
+        }
+        wxPyEndBlockThreads();
 
         // add it,
         parser->AddTagHandler(thPtr);
@@ -487,6 +487,8 @@ public:
     int GetWidth();
     int GetHeight();
     int GetDescent();
+    const wxString& GetId() const;
+    void SetId(const wxString& id);
     wxHtmlLinkInfo* GetLink(int x = 0, int y = 0);
     wxHtmlCell* GetNext();
     wxHtmlContainerCell* GetParent();
@@ -665,7 +667,7 @@ IMPLEMENT_ABSTRACT_CLASS(wxPyHtmlFilter, wxHtmlFilter);
 
 %name(HtmlFilter) class wxPyHtmlFilter : public wxObject {
 public:
-    %addtofunc wxPyHtmlFilter   "self._setCallbackInfo(self, HtmlFilter)"
+    %pythonAppend wxPyHtmlFilter   "self._setCallbackInfo(self, HtmlFilter)"
     wxPyHtmlFilter();
 
     void _setCallbackInfo(PyObject* self, PyObject* _class);
@@ -776,8 +778,8 @@ wxHtmlOpeningStatus wxPyHtmlWindow::OnOpeningURL(wxHtmlURLType type,
 
 %name(HtmlWindow) class wxPyHtmlWindow : public wxScrolledWindow {
 public:
-    %addtofunc wxPyHtmlWindow      "self._setCallbackInfo(self, HtmlWindow); self._setOORInfo(self)"
-    %addtofunc wxPyHtmlWindow()    ""
+    %pythonAppend wxPyHtmlWindow      "self._setCallbackInfo(self, HtmlWindow); self._setOORInfo(self)"
+    %pythonAppend wxPyHtmlWindow()    ""
     
     wxPyHtmlWindow(wxWindow *parent, int id = -1,
                  const wxPoint& pos = wxDefaultPosition,
@@ -848,7 +850,9 @@ public:
         }
     }
 
-    void SetTitle(const wxString& title);
+    DocDeclStr(
+        void, SetTitle(const wxString& title),
+        "");
 
     // Sets space between text and window borders.
     void SetBorders(int b);
@@ -881,7 +885,12 @@ public:
     //Adds input filter
     static void AddFilter(wxPyHtmlFilter *filter);
 
+    // Helper functions to select parts of page:
+    void SelectWord(const wxPoint& pos);
+    void SelectLine(const wxPoint& pos);
+    void SelectAll();
 
+    
     void base_OnLinkClicked(const wxHtmlLinkInfo& link);
     void base_OnSetTitle(const wxString& title);
     void base_OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y);
@@ -1085,7 +1094,7 @@ public:
 
 class wxHtmlHelpFrame : public wxFrame {
 public:
-    %addtofunc wxHtmlHelpFrame    "self._setOORInfo(self)"
+    %pythonAppend wxHtmlHelpFrame    "self._setOORInfo(self)"
     
     wxHtmlHelpFrame(wxWindow* parent, int wxWindowID,
                    const wxString& title = wxPyEmptyString,
@@ -1122,7 +1131,7 @@ enum {
 
 class wxHtmlHelpController : public wxEvtHandler {
 public:
-    %addtofunc wxHtmlHelpController "self._setOORInfo(self)"
+    %pythonAppend wxHtmlHelpController "self._setOORInfo(self)"
     
     wxHtmlHelpController(int style = wxHF_DEFAULTSTYLE);
     ~wxHtmlHelpController();