]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/hyperlink.h
Applied rowspan patch #15276 (dghart)
[wxWidgets.git] / include / wx / generic / hyperlink.h
index f50ded885987a27c8b51add769ad3d477c66d3f2..c148dba91b096ff1616692f7a4ee3fc54844070d 100644 (file)
@@ -20,7 +20,7 @@ class WXDLLIMPEXP_ADV wxGenericHyperlinkCtrl : public wxHyperlinkCtrlBase
 {
 public:
     // Default constructor (for two-step construction).
 {
 public:
     // Default constructor (for two-step construction).
-    wxGenericHyperlinkCtrl() { }
+    wxGenericHyperlinkCtrl() { Init(); }
 
     // Constructor.
     wxGenericHyperlinkCtrl(wxWindow *parent,
 
     // Constructor.
     wxGenericHyperlinkCtrl(wxWindow *parent,
@@ -31,7 +31,8 @@ public:
                             long style = wxHL_DEFAULT_STYLE,
                             const wxString& name = wxHyperlinkCtrlNameStr)
     {
                             long style = wxHL_DEFAULT_STYLE,
                             const wxString& name = wxHyperlinkCtrlNameStr)
     {
-        (void)Create(parent, id, label, url, pos, size, style, name);
+        Init();
+        (void) Create(parent, id, label, url, pos, size, style, name);
     }
 
     // Creation function (for two-step construction).
     }
 
     // Creation function (for two-step construction).
@@ -65,11 +66,21 @@ public:
 
 
 protected:
 
 
 protected:
+    // Helper used by this class itself and native MSW implementation that
+    // connects OnRightUp() and OnPopUpCopy() handlers.
+    void ConnectMenuHandlers();
+
     // event handlers
 
     // Renders the hyperlink.
     void OnPaint(wxPaintEvent& event);
 
     // event handlers
 
     // Renders the hyperlink.
     void OnPaint(wxPaintEvent& event);
 
+    // Handle set/kill focus events (invalidate for painting focus rect)
+    void OnFocus(wxFocusEvent& event);
+
+    // Fire a HyperlinkEvent on space
+    void OnChar(wxKeyEvent& event);
+
     // Returns the wxRect of the label of this hyperlink.
     // This is different from the clientsize's rectangle when
     // clientsize != bestsize and this rectangle is influenced
     // Returns the wxRect of the label of this hyperlink.
     // This is different from the clientsize's rectangle when
     // clientsize != bestsize and this rectangle is influenced
@@ -100,12 +111,15 @@ protected:
 
     // Returns the best size for the window, which is the size needed
     // to display the text label.
 
     // Returns the best size for the window, which is the size needed
     // to display the text label.
-    virtual wxSize DoGetBestSize() const;
+    virtual wxSize DoGetBestClientSize() const;
 
     // creates a context menu with "Copy URL" menuitem
     virtual void DoContextMenu(const wxPoint &);
 
 private:
 
     // creates a context menu with "Copy URL" menuitem
     virtual void DoContextMenu(const wxPoint &);
 
 private:
+    // Common part of all ctors.
+    void Init();
+
     // URL associated with the link. This is transmitted inside
     // the HyperlinkEvent fired when the user clicks on the label.
     wxString m_url;
     // URL associated with the link. This is transmitted inside
     // the HyperlinkEvent fired when the user clicks on the label.
     wxString m_url;
@@ -126,9 +140,6 @@ private:
     // True if a click is in progress (left button down) and the click
     // originated inside the label's bounding box.
     bool m_clicking;
     // True if a click is in progress (left button down) and the click
     // originated inside the label's bounding box.
     bool m_clicking;
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxGenericHyperlinkCtrl)
 };
 
 #endif // _WX_GENERICHYPERLINKCTRL_H_
 };
 
 #endif // _WX_GENERICHYPERLINKCTRL_H_