]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/hyperlink.h
Implement support for wxRIBBON_PANEL_EXT_BUTTON wxRibbonPanel style.
[wxWidgets.git] / interface / wx / hyperlink.h
index bd62fe8fd952d3c54b33d6a7b578b2f34c468efd..e22e9ea43a6db849a24a4bd473f60e51fcbfb738 100644 (file)
@@ -3,17 +3,27 @@
 // Purpose:     interface of wxHyperlinkEvent
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#define wxHL_CONTEXTMENU        0x0001
+#define wxHL_ALIGN_LEFT         0x0002
+#define wxHL_ALIGN_RIGHT        0x0004
+#define wxHL_ALIGN_CENTRE       0x0008
+#define wxHL_DEFAULT_STYLE      (wxHL_CONTEXTMENU|wxNO_BORDER|wxHL_ALIGN_CENTRE)
+
 /**
     @class wxHyperlinkEvent
 
-    This event class is used for the events generated by
-    wxHyperlinkCtrl.
+    This event class is used for the events generated by wxHyperlinkCtrl.
+
+    @beginEventTable{wxHyperlinkEvent}
+    @event{EVT_HYPERLINK(id, func)}
+        User clicked on an hyperlink.
+    @endEventTable
 
     @library{wxadv}
-    @category{FIXME}
+    @category{events}
 */
 class wxHyperlinkEvent : public wxCommandEvent
 {
@@ -21,8 +31,7 @@ public:
     /**
         The constructor is not normally used by the user code.
     */
-    wxHyperlinkEvent(wxObject* generator, int id,
-                     const wxString& url);
+    wxHyperlinkEvent(wxObject* generator, int id, const wxString& url);
 
     /**
         Returns the URL of the hyperlink where the user has just clicked.
@@ -36,28 +45,32 @@ public:
 };
 
 
+wxEventType wxEVT_COMMAND_HYPERLINK;
 
 /**
     @class wxHyperlinkCtrl
 
     This class shows a static text element which links to an URL.
-    Appearance and behaviour is completely customizable. In fact, when the user
-    clicks on the hyperlink, a wxHyperlinkEvent is
-    sent but if that event is not handled (or it's skipped; see
-    wxEvent::Skip), then a call to
-    wxLaunchDefaultBrowser() is done with the
-    hyperlink's URL.
+
+    Appearance and behaviour is completely customizable.
+
+    In fact, when the user clicks on the hyperlink, a wxHyperlinkEvent is
+    sent but if that event is not handled (or it's skipped; see wxEvent::Skip),
+    then a call to wxLaunchDefaultBrowser() is done with the hyperlink's URL.
 
     Note that standard wxWindow functions like wxWindow::SetBackgroundColour,
-    wxWindow::SetFont, wxWindow::SetCursor, wxWindow::SetLabel can be used to customize appearance of the hyperlink.
+    wxWindow::SetFont, wxWindow::SetCursor, wxWindow::SetLabel can be used to
+    customize appearance of the hyperlink.
 
     @beginStyleTable
     @style{wxHL_ALIGN_LEFT}
            Align the text to the left.
     @style{wxHL_ALIGN_RIGHT}
-           Align the text to the right.
+           Align the text to the right. This style is not supported under
+           Windows XP but is supported under all the other Windows versions.
     @style{wxHL_ALIGN_CENTRE}
-           Center the text (horizontally).
+           Center the text (horizontally). This style is not supported by the
+           native MSW implementation used under Windows XP and later.
     @style{wxHL_CONTEXTMENU}
            Pop up a context menu when the hyperlink is right-clicked. The
            context menu contains a "Copy URL" menu item which is automatically
@@ -68,25 +81,38 @@ public:
            wxBORDER_NONE|wxHL_CONTEXTMENU|wxHL_ALIGN_CENTRE.
     @endStyleTable
 
+    @beginEventEmissionTable{wxHyperlinkEvent}
+    @event{EVT_HYPERLINK(id, func)}
+        The hyperlink was (left) clicked. If this event is not handled in user's
+        code (or it's skipped; see wxEvent::Skip), then a call to wxLaunchDefaultBrowser
+        is done with the hyperlink's URL.
+    @endEventTable
+
+    Currently this class is implemented using native support in wxGTK and wxMSW
+    (under Windows XP and later only) and a generic version is used by the
+    other ports.
+
     @library{wxadv}
     @category{ctrl}
-    <!-- @appearance{hyperlinkctrl.png} -->
+    @appearance{hyperlinkctrl.png}
 
     @see wxURL, wxHyperlinkEvent
 */
 class wxHyperlinkCtrl : public wxControl
 {
 public:
+    wxHyperlinkCtrl();
+    
     /**
         Constructor. See Create() for more info.
     */
-    wxHyperLink(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 = "hyperlink");
+    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);
 
     /**
         Creates the hyperlink control.
@@ -102,40 +128,35 @@ public:
         @param pos
             Window position.
         @param size
-            Window size. If the wxDefaultSize is specified then the window is sized
-            appropriately.
+            Window size.
+            If the wxDefaultSize is specified then the window is sized appropriately.
         @param style
             Window style. See wxHyperlinkCtrl.
-        @param validator
-            Window validator.
         @param name
             Window name.
     */
-    bool Create(wxWindow* parent, wxWindowID id,
-                const wxString& label,
-                const wxString& url,
-                const wxPoint& pos = wxDefaultPosition,
+    bool Create(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 = "hyperlink");
+                const wxString& name = wxHyperlinkCtrlNameStr);
 
     /**
         Returns the colour used to print the label of the hyperlink when the mouse is
         over the control.
     */
-    wxColour GetHoverColour() const;
+    virtual wxColour GetHoverColour() const;
 
     /**
         Returns the colour used to print the label when the link has never been clicked
-        before
-        (i.e. the link has not been @e visited) and the mouse is not over the control.
+        before (i.e. the link has not been @e visited) and the mouse is not over the control.
     */
-    wxColour GetNormalColour() const;
+    virtual wxColour GetNormalColour() const;
 
     /**
         Returns the URL associated with the hyperlink.
     */
-    wxString GetURL() const;
+    virtual wxString GetURL() const;
 
     /**
         Returns @true if the hyperlink has already been clicked by the user at least
@@ -145,29 +166,27 @@ public:
 
     /**
         Returns the colour used to print the label when the mouse is not over the
-        control
-        and the link has already been clicked before (i.e. the link has been @e
-        visited).
+        control and the link has already been clicked before (i.e. the link has
+        been @e visited).
     */
-    wxColour GetVisitedColour() const;
+    virtual wxColour GetVisitedColour() const;
 
     /**
         Sets the colour used to print the label of the hyperlink when the mouse is over
         the control.
     */
-    void SetHoverColour(const wxColour& colour);
+    virtual void SetHoverColour(const wxColour& colour);
 
     /**
-        Sets the colour used to print the label when the link has never been clicked
-        before
+        Sets the colour used to print the label when the link has never been clicked before
         (i.e. the link has not been @e visited) and the mouse is not over the control.
     */
-    void SetNormalColour(const wxColour& colour);
+    virtual void SetNormalColour(const wxColour& colour);
 
     /**
         Sets the URL associated with the hyperlink.
     */
-    void SetURL(const wxString& url);
+    virtual void SetURL(const wxString& url);
 
     /**
         Marks the hyperlink as visited (see wxHyperlinkCtrl::SetVisitedColour).
@@ -176,9 +195,8 @@ public:
 
     /**
         Sets the colour used to print the label when the mouse is not over the control
-        and the link has already been clicked before (i.e. the link has been @e
-        visited).
+        and the link has already been clicked before (i.e. the link has been @e visited).
     */
-    void SetVisitedColour(const wxColour& colour);
+    virtual void SetVisitedColour(const wxColour& colour);
 };