1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/msw/hyperlink.h
3 // Purpose:     Hyperlink control
4 // Author:      Rickard Westerlund
5 // Created:     2010-08-04
6 // Copyright:   (c) 2010 wxWidgets team
7 // Licence:     wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef _WX_MSW_HYPERLINK_H_
11 #define _WX_MSW_HYPERLINK_H_
12 
13 #include "wx/generic/hyperlink.h"
14 
15 // ----------------------------------------------------------------------------
16 // wxHyperlinkCtrl
17 // ----------------------------------------------------------------------------
18 
19 class WXDLLIMPEXP_ADV wxHyperlinkCtrl : public wxGenericHyperlinkCtrl
20 {
21 public:
22     // Default constructor (for two-step construction).
wxHyperlinkCtrl()23     wxHyperlinkCtrl() { }
24 
25     // Constructor.
26     wxHyperlinkCtrl(wxWindow *parent,
27                     wxWindowID id,
28                     const wxString& label, const wxString& url,
29                     const wxPoint& pos = wxDefaultPosition,
30                     const wxSize& size = wxDefaultSize,
31                     long style = wxHL_DEFAULT_STYLE,
32                     const wxString& name = wxASCII_STR(wxHyperlinkCtrlNameStr))
33     {
34         (void)Create(parent, id, label, url, pos, size, style, name);
35     }
36 
37     // Creation function (for two-step construction).
38     bool Create(wxWindow *parent,
39                 wxWindowID id,
40                 const wxString& label, const wxString& url,
41                 const wxPoint& pos = wxDefaultPosition,
42                 const wxSize& size = wxDefaultSize,
43                 long style = wxHL_DEFAULT_STYLE,
44                 const wxString& name = wxASCII_STR(wxHyperlinkCtrlNameStr));
45 
46 
47     // overridden base class methods
48     // -----------------------------
49 
50     virtual void SetURL(const wxString &url) wxOVERRIDE;
51 
52     virtual void SetLabel(const wxString &label) wxOVERRIDE;
53 
54 protected:
55     virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const wxOVERRIDE;
56     virtual wxSize DoGetBestClientSize() const wxOVERRIDE;
57 
58 private:
59     virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) wxOVERRIDE;
60 
61     wxDECLARE_DYNAMIC_CLASS( wxHyperlinkCtrl );
62 };
63 
64 #endif // _WX_MSW_HYPERLINK_H_
65