]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/hyperlink.h
Forward events to active child at MSW, not wx, level in wxMDIParentFrame.
[wxWidgets.git] / include / wx / hyperlink.h
index 2b076294433471a11d470d56825881639df196b5..969a6864d75765ea7cc75bab7f7582a9a605f313 100644 (file)
@@ -68,6 +68,8 @@ public:
     // NOTE: also wxWindow::Set/GetLabel, wxWindow::Set/GetBackgroundColour,
     //       wxWindow::Get/SetFont, wxWindow::Get/SetCursor are important !
 
+    virtual bool HasTransparentBackground() { return true; }
+
 protected:
     virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 
@@ -80,17 +82,13 @@ public:
     void SendEvent();
 };
 
-#ifndef __WXDEBUG__
-inline void wxHyperlinkCtrlBase::CheckParams(const wxString&, const wxString&, long) { }
-#endif
-
 // ----------------------------------------------------------------------------
 // wxHyperlinkEvent
 // ----------------------------------------------------------------------------
 
 class WXDLLIMPEXP_FWD_ADV wxHyperlinkEvent;
 
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_COMMAND_HYPERLINK, wxHyperlinkEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_HYPERLINK, wxHyperlinkEvent );
 
 //
 // An event fired when the user clicks on the label in a hyperlink control.
@@ -101,7 +99,7 @@ class WXDLLIMPEXP_ADV wxHyperlinkEvent : public wxCommandEvent
 public:
     wxHyperlinkEvent() {}
     wxHyperlinkEvent(wxObject *generator, wxWindowID id, const wxString& url)
-        : wxCommandEvent(wxEVT_COMMAND_HYPERLINK, id),
+        : wxCommandEvent(wxEVT_HYPERLINK, id),
           m_url(url)
     {
         SetEventObject(generator);
@@ -134,16 +132,42 @@ typedef void (wxEvtHandler::*wxHyperlinkEventFunction)(wxHyperlinkEvent&);
     wxEVENT_HANDLER_CAST(wxHyperlinkEventFunction, func)
 
 #define EVT_HYPERLINK(id, fn) \
-    wx__DECLARE_EVT1(wxEVT_COMMAND_HYPERLINK, id, wxHyperlinkEventHandler(fn))
+    wx__DECLARE_EVT1(wxEVT_HYPERLINK, id, wxHyperlinkEventHandler(fn))
 
 
 #if defined(__WXGTK210__) && !defined(__WXUNIVERSAL__)
     #include "wx/gtk/hyperlink.h"
+// Note that the native control is only available in Unicode version under MSW.
+#elif defined(__WXMSW__) && wxUSE_UNICODE && !defined(__WXUNIVERSAL__)
+    #include "wx/msw/hyperlink.h"
 #else
     #include "wx/generic/hyperlink.h"
-    #define wxHyperlinkCtrl     wxGenericHyperlinkCtrl
+
+    class WXDLLIMPEXP_ADV wxHyperlinkCtrl : public wxGenericHyperlinkCtrl
+    {
+    public:
+        wxHyperlinkCtrl() { }
+
+        wxHyperlinkCtrl(wxWindow *parent,
+                        wxWindowID id,
+                        const wxString& label,
+                        const wxString& url,
+                        const wxPoint& pos = wxDefaultPosition,
+                        const wxSize& size = wxDefaultSize,
+                        long style = wxHL_DEFAULT_STYLE,
+                        const wxString& name = wxHyperlinkCtrlNameStr)
+            : wxGenericHyperlinkCtrl(parent, id, label, url, pos, size,
+                                     style, name)
+        {
+        }
+
+    private:
+        wxDECLARE_DYNAMIC_CLASS_NO_COPY( wxHyperlinkCtrl );
+    };
 #endif
 
+// old wxEVT_COMMAND_* constants
+#define wxEVT_COMMAND_HYPERLINK   wxEVT_HYPERLINK
 
 #endif // wxUSE_HYPERLINKCTRL