X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..1b7751aaa9a86d76a850b9267bc0c201e3cea30f:/interface/wx/hyperlink.h diff --git a/interface/wx/hyperlink.h b/interface/wx/hyperlink.h index 5982f6d1ca..633f27d842 100644 --- a/interface/wx/hyperlink.h +++ b/interface/wx/hyperlink.h @@ -3,18 +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 - @wxheader{hyperlink.h} - 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 { @@ -22,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. @@ -37,29 +45,32 @@ public: }; +wxEventType wxEVT_HYPERLINK; /** @class wxHyperlinkCtrl - @wxheader{hyperlink.h} 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 @@ -70,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} @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. @@ -104,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 @@ -147,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). @@ -178,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); };