| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/hyperlink.h
 
- // Purpose:     Hyperlink control
 
- // Author:      David Norris <danorris@gmail.com>, Otto Wyss
 
- // Modified by: Ryan Norton, Francesco Montorsi
 
- // Created:     04/02/2005
 
- // Copyright:   (c) 2005 David Norris
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_HYPERLINK_H_
 
- #define _WX_HYPERLINK_H_
 
- #include "wx/defs.h"
 
- #if wxUSE_HYPERLINKCTRL
 
- #include "wx/control.h"
 
- // ----------------------------------------------------------------------------
 
- // constants
 
- // ----------------------------------------------------------------------------
 
- #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)
 
- extern WXDLLIMPEXP_DATA_ADV(const char) wxHyperlinkCtrlNameStr[];
 
- // ----------------------------------------------------------------------------
 
- // wxHyperlinkCtrl
 
- // ----------------------------------------------------------------------------
 
- // A static text control that emulates a hyperlink. The link is displayed
 
- // in an appropriate text style, derived from the control's normal font.
 
- // When the mouse rolls over the link, the cursor changes to a hand and the
 
- // link's color changes to the active color.
 
- //
 
- // Clicking on the link does not launch a web browser; instead, a
 
- // HyperlinkEvent is fired. The event propagates upward until it is caught,
 
- // just like a wxCommandEvent.
 
- //
 
- // Use the EVT_HYPERLINK() to catch link events.
 
- class WXDLLIMPEXP_ADV wxHyperlinkCtrlBase : public wxControl
 
- {
 
- public:
 
-     // get/set
 
-     virtual wxColour GetHoverColour() const = 0;
 
-     virtual void SetHoverColour(const wxColour &colour) = 0;
 
-     virtual wxColour GetNormalColour() const = 0;
 
-     virtual void SetNormalColour(const wxColour &colour) = 0;
 
-     virtual wxColour GetVisitedColour() const = 0;
 
-     virtual void SetVisitedColour(const wxColour &colour) = 0;
 
-     virtual wxString GetURL() const = 0;
 
-     virtual void SetURL (const wxString &url) = 0;
 
-     virtual void SetVisited(bool visited = true) = 0;
 
-     virtual bool GetVisited() const = 0;
 
-     // 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; }
 
-     // checks for validity some of the ctor/Create() function parameters
 
-     void CheckParams(const wxString& label, const wxString& url, long style);
 
- public:
 
-     // not part of the public API but needs to be public as used by
 
-     // GTK+ callbacks:
 
-     void SendEvent();
 
- };
 
- // ----------------------------------------------------------------------------
 
- // wxHyperlinkEvent
 
- // ----------------------------------------------------------------------------
 
- class WXDLLIMPEXP_FWD_ADV wxHyperlinkEvent;
 
- wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_HYPERLINK, wxHyperlinkEvent );
 
- //
 
- // An event fired when the user clicks on the label in a hyperlink control.
 
- // See HyperlinkControl for details.
 
- //
 
- class WXDLLIMPEXP_ADV wxHyperlinkEvent : public wxCommandEvent
 
- {
 
- public:
 
-     wxHyperlinkEvent() {}
 
-     wxHyperlinkEvent(wxObject *generator, wxWindowID id, const wxString& url)
 
-         : wxCommandEvent(wxEVT_HYPERLINK, id),
 
-           m_url(url)
 
-     {
 
-         SetEventObject(generator);
 
-     }
 
-     // Returns the URL associated with the hyperlink control
 
-     // that the user clicked on.
 
-     wxString GetURL() const { return m_url; }
 
-     void SetURL(const wxString &url) { m_url=url; }
 
-     // default copy ctor, assignment operator and dtor are ok
 
-     virtual wxEvent *Clone() const { return new wxHyperlinkEvent(*this); }
 
- private:
 
-     // URL associated with the hyperlink control that the used clicked on.
 
-     wxString m_url;
 
-     DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxHyperlinkEvent)
 
- };
 
- // ----------------------------------------------------------------------------
 
- // event types and macros
 
- // ----------------------------------------------------------------------------
 
- typedef void (wxEvtHandler::*wxHyperlinkEventFunction)(wxHyperlinkEvent&);
 
- #define wxHyperlinkEventHandler(func) \
 
-     wxEVENT_HANDLER_CAST(wxHyperlinkEventFunction, func)
 
- #define EVT_HYPERLINK(id, 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"
 
-     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
 
- #endif // _WX_HYPERLINK_H_
 
 
  |