]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmlcell.h
renamed m_boxes to m_buttons because, well, it contains the radio buttons and not...
[wxWidgets.git] / include / wx / html / htmlcell.h
index 62afdebae42b1afd7825265f0247352c04a8d05a..f5610c6e3d1daf49a822e2743641226f4dceb3ba 100644 (file)
@@ -20,6 +20,7 @@
 #include "wx/window.h"
 
 
+class WXDLLIMPEXP_HTML wxHtmlWindowInterface;
 class WXDLLIMPEXP_HTML wxHtmlLinkInfo;
 class WXDLLIMPEXP_HTML wxHtmlCell;
 class WXDLLIMPEXP_HTML wxHtmlContainerCell;
@@ -201,7 +202,12 @@ public:
         { return m_Link; }
 
     // Returns cursor to be used when mouse is over the cell:
+    virtual wxCursor GetMouseCursor(wxHtmlWindowInterface *window) const;
+
+#if WXWIN_COMPATIBILITY_2_6
+    // this was replaced by GetMouseCursor, don't use in new code!
     virtual wxCursor GetCursor() const;
+#endif
 
     // return next cell among parent's cells
     wxHtmlCell *GetNext() const {return m_Next;}
@@ -244,12 +250,23 @@ public:
     //   returns pointer to anchor news
     virtual const wxHtmlCell* Find(int condition, const void* param) const;
 
+
     // This function is called when mouse button is clicked over the cell.
+    // Returns true if a link is clicked, false otherwise.
     //
-    // Parent is pointer to wxHtmlWindow that generated the event
+    // 'window' is pointer to wxHtmlWindowInterface of the window which
+    // generated the event.
     // HINT: if this handling is not enough for you you should use
     //       wxHtmlWidgetCell
-    virtual void OnMouseClick(wxWindow *parent, int x, int y, const wxMouseEvent& event);
+    virtual bool ProcessMouseClick(wxHtmlWindowInterface *window,
+                                   const wxPoint& pos,
+                                   const wxMouseEvent& event);
+
+#if WXWIN_COMPATIBILITY_2_6
+    // this was replaced by ProcessMouseClick, don't use in new code!
+    virtual void OnMouseClick(wxWindow *window,
+                              int x, int y, const wxMouseEvent& event);
+#endif
 
     // This method used to adjust pagebreak position. The parameter is variable
     // that contains y-coordinate of page break (= horizontal line that should
@@ -283,8 +300,14 @@ public:
     virtual wxHtmlCell *FindCellByPos(wxCoord x, wxCoord y,
                                   unsigned flags = wxHTML_FIND_EXACT) const;
 
-    // Returns absolute position of the cell on HTML canvas
-    wxPoint GetAbsPos() const;
+    // Returns absolute position of the cell on HTML canvas.
+    // If rootCell is provided, then it's considered to be the root of the
+    // hierarchy and the returned value is relative to it.
+    wxPoint GetAbsPos(wxHtmlCell *rootCell = NULL) const;
+
+    // Returns root cell of the hierarchy (i.e. grand-grand-...-parent that
+    // doesn't have a parent itself)
+    wxHtmlCell *GetRootCell() const;
 
     // Returns first (last) terminal cell inside this cell. It may return NULL,
     // but it is rare -- only if there are no terminals in the tree.
@@ -352,7 +375,7 @@ public:
     wxHtmlWordCell(const wxString& word, const wxDC& dc);
     void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2,
               wxHtmlRenderingInfo& info);
-    wxCursor GetCursor() const;
+    virtual wxCursor GetMouseCursor(wxHtmlWindowInterface *window) const;
     wxString ConvertToText(wxHtmlSelection *sel) const;
     bool IsLinebreakAllowed() const { return m_allowLinebreak; }
 
@@ -424,7 +447,15 @@ public:
     void SetBorder(const wxColour& clr1, const wxColour& clr2) {m_UseBorder = true; m_BorderColour1 = clr1, m_BorderColour2 = clr2;}
     virtual wxHtmlLinkInfo* GetLink(int x = 0, int y = 0) const;
     virtual const wxHtmlCell* Find(int condition, const void* param) const;
-    virtual void OnMouseClick(wxWindow *parent, int x, int y, const wxMouseEvent& event);
+
+#if WXWIN_COMPATIBILITY_2_6
+    // this was replaced by ProcessMouseClick, don't use in new code!
+    virtual void OnMouseClick(wxWindow *window,
+                              int x, int y, const wxMouseEvent& event);
+#endif
+    virtual bool ProcessMouseClick(wxHtmlWindowInterface *window,
+                                   const wxPoint& pos,
+                                   const wxMouseEvent& event);
 
     virtual wxHtmlCell* GetFirstChild() const { return m_Cells; }
 #if WXWIN_COMPATIBILITY_2_4