6f80021950
Make wxHyperlinkCtrl ctors non-inline to work around an error about incomplete wxHyperlinkCtrlColData in the inline ctor body with this compiler (but not with g++ 4.9 nor 5.3, somehow). Closes #17089.
94 lines
3.0 KiB
C++
94 lines
3.0 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/hyperlink.h
|
|
// Purpose: Hyperlink control
|
|
// Author: Francesco Montorsi
|
|
// Modified by:
|
|
// Created: 14/2/2007
|
|
// Copyright: (c) 2007 Francesco Montorsi
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GTKHYPERLINKCTRL_H_
|
|
#define _WX_GTKHYPERLINKCTRL_H_
|
|
|
|
#include "wx/generic/hyperlink.h"
|
|
|
|
#include "wx/scopedptr.h"
|
|
|
|
#ifdef __WXGTK3__
|
|
class wxHyperlinkCtrlColData;
|
|
#endif
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxHyperlinkCtrl
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_ADV wxHyperlinkCtrl : public wxGenericHyperlinkCtrl
|
|
{
|
|
typedef wxGenericHyperlinkCtrl base_type;
|
|
public:
|
|
// Constructors (notice that they can't be defined inline for this class
|
|
// because of m_colData which uses incomplete wxHyperlinkCtrlColData).
|
|
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);
|
|
|
|
virtual ~wxHyperlinkCtrl();
|
|
|
|
// Creation function (for two-step construction).
|
|
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 = wxHyperlinkCtrlNameStr);
|
|
|
|
|
|
// get/set
|
|
virtual wxColour GetHoverColour() const wxOVERRIDE;
|
|
virtual void SetHoverColour(const wxColour &colour) wxOVERRIDE;
|
|
|
|
virtual wxColour GetNormalColour() const wxOVERRIDE;
|
|
virtual void SetNormalColour(const wxColour &colour) wxOVERRIDE;
|
|
|
|
virtual wxColour GetVisitedColour() const wxOVERRIDE;
|
|
virtual void SetVisitedColour(const wxColour &colour) wxOVERRIDE;
|
|
|
|
virtual wxString GetURL() const wxOVERRIDE;
|
|
virtual void SetURL(const wxString &url) wxOVERRIDE;
|
|
|
|
virtual void SetVisited(bool visited = true) wxOVERRIDE;
|
|
virtual bool GetVisited() const wxOVERRIDE;
|
|
|
|
virtual void SetLabel(const wxString &label) wxOVERRIDE;
|
|
|
|
protected:
|
|
virtual wxSize DoGetBestSize() const wxOVERRIDE;
|
|
virtual wxSize DoGetBestClientSize() const wxOVERRIDE;
|
|
|
|
virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const wxOVERRIDE;
|
|
|
|
private:
|
|
enum LinkKind
|
|
{
|
|
Link_Normal,
|
|
Link_Visited
|
|
};
|
|
|
|
void DoSetLinkColour(LinkKind linkKind, const wxColour& colour);
|
|
|
|
#ifdef __WXGTK3__
|
|
wxScopedPtr<wxHyperlinkCtrlColData> m_colData;
|
|
#endif
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxHyperlinkCtrl);
|
|
};
|
|
|
|
#endif // _WX_GTKHYPERLINKCTRL_H_
|