]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/html.i
Fixed typo causing multiple file selections to always return the same single name.
[wxWidgets.git] / wxPython / src / html.i
index 22f0101444417bdda5ad41b4d66681e3d3aac7f9..250a7666bb012ef9fd74608ddcc4f630f4fb2acd 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.)
 
@@ -75,6 +73,15 @@ enum {
     wxHTML_COND_ISANCHOR,
     wxHTML_COND_ISIMAGEMAP,
     wxHTML_COND_USER,
+
+
+    wxHTML_FONT_SIZE_1,
+    wxHTML_FONT_SIZE_2,
+    wxHTML_FONT_SIZE_3,
+    wxHTML_FONT_SIZE_4,
+    wxHTML_FONT_SIZE_5,
+    wxHTML_FONT_SIZE_6,
+    wxHTML_FONT_SIZE_7,
 };
 
 
@@ -126,7 +133,7 @@ public:
 
     wxString GetName();
     bool HasParam(const wxString& par);
-    wxString GetParam(const wxString& par, int with_commas = FALSE);
+    wxString GetParam(const wxString& par, int with_commas = False);
 
     // Can't do this one as-is, but GetParam should be enough...
     //int ScanParam(const wxString& par, const char *format, void* param);
@@ -242,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);
@@ -280,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);
@@ -320,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);
@@ -478,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();
@@ -508,7 +519,7 @@ public:
     // Can the line be broken before this cell?
     bool IsLinebreakAllowed() const;
 
-    // Returns true for simple == terminal cells, i.e. not composite ones.
+    // Returns True for simple == terminal cells, i.e. not composite ones.
     // This if for internal usage only and may disappear in future versions!
     bool IsTerminalCell() const;
 
@@ -532,9 +543,9 @@ public:
     // (if it is the root, depth is 0)
     unsigned GetDepth() const;
 
-    // Returns true if the cell appears before 'cell' in natural order of
+    // Returns True if the cell appears before 'cell' in natural order of
     // cells (= as they are read). If cell A is (grand)parent of cell B,
-    // then both A.IsBefore(B) and B.IsBefore(A) always return true.
+    // then both A.IsBefore(B) and B.IsBefore(A) always return True.
     bool IsBefore(wxHtmlCell *cell) const;
 
     // Converts the cell into text representation. If sel != NULL then
@@ -610,9 +621,9 @@ class wxPyHtmlFilter : public wxHtmlFilter {
 public:
     wxPyHtmlFilter() : wxHtmlFilter() {}
 
-    // returns TRUE if this filter is able to open&read given file
+    // returns True if this filter is able to open&read given file
     virtual bool CanRead(const wxFSFile& file) const {
-        bool rval = FALSE;
+        bool rval = False;
         bool found;
         wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "CanRead"))) {
@@ -656,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);
@@ -767,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,
@@ -790,7 +801,7 @@ public:
     // Set HTML page and display it. !! source is HTML document itself,
     // it is NOT address/filename of HTML document. If you want to
     // specify document location, use LoadPage() istead
-    // Return value : FALSE if an error occured, TRUE otherwise
+    // Return value : False if an error occured, True otherwise
     bool SetPage(const wxString& source);
 
     // Load HTML page from given location. Location can be either
@@ -851,7 +862,7 @@ public:
     void WriteCustomization(wxConfigBase *cfg, wxString path = wxPyEmptyString);
 
     // Goes to previous/next page (in browsing history)
-    // Returns TRUE if successful, FALSE otherwise
+    // Returns True if successful, False otherwise
     bool HistoryBack();
     bool HistoryForward();
     bool HistoryCanBack();
@@ -872,7 +883,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);
@@ -898,7 +914,7 @@ public:
     void SetSize(int width, int height);
     void SetHtmlText(const wxString& html,
                      const wxString& basepath = wxPyEmptyString,
-                     bool isdir = TRUE);
+                     bool isdir = True);
     // Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
     %extend {
         void SetFonts(wxString normal_face, wxString fixed_face, PyObject* sizes=NULL) {
@@ -909,7 +925,7 @@ public:
                 delete [] temp;
         }
     }
-    int Render(int x, int y, int from = 0, int dont_render = FALSE, int to = INT_MAX,
+    int Render(int x, int y, int from = 0, int dont_render = False, int to = INT_MAX,
                //int *known_pagebreaks = NULL, int number_of_pages = 0
                int* choices=NULL, int LCOUNT = 0
                );
@@ -933,7 +949,7 @@ public:
 
     void SetHtmlText(const wxString& html,
                      const wxString &basepath = wxPyEmptyString,
-                     bool isdir = TRUE);
+                     bool isdir = True);
     void SetHtmlFile(const wxString &htmlfile);
     void SetHeader(const wxString& header, int pg = wxPAGE_ALL);
     void SetFooter(const wxString& footer, int pg = wxPAGE_ALL);
@@ -1076,7 +1092,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,
@@ -1113,14 +1129,14 @@ enum {
 
 class wxHtmlHelpController : public wxEvtHandler {
 public:
-    %addtofunc wxHtmlHelpController "self._setOORInfo(self)"
+    %pythonAppend wxHtmlHelpController "self._setOORInfo(self)"
     
     wxHtmlHelpController(int style = wxHF_DEFAULTSTYLE);
     ~wxHtmlHelpController();
 
     void SetTitleFormat(const wxString& format);
     void SetTempDir(const wxString& path);
-    bool AddBook(const wxString& book, int show_wait_msg = FALSE);
+    bool AddBook(const wxString& book, int show_wait_msg = False);
     void Display(const wxString& x);
     %name(DisplayID) void Display(int id);
     void DisplayContents();