mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-26 15:49:50 -06:00
Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
139
Externals/wxWidgets3/include/wx/generic/hyperlink.h
vendored
Normal file
139
Externals/wxWidgets3/include/wx/generic/hyperlink.h
vendored
Normal file
@ -0,0 +1,139 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/generic/hyperlink.h
|
||||
// Purpose: Hyperlink control
|
||||
// Author: David Norris <danorris@gmail.com>, Otto Wyss
|
||||
// Modified by: Ryan Norton, Francesco Montorsi
|
||||
// Created: 04/02/2005
|
||||
// RCS-ID: $Id: hyperlink.h 65334 2010-08-17 16:55:32Z VZ $
|
||||
// Copyright: (c) 2005 David Norris
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GENERICHYPERLINKCTRL_H_
|
||||
#define _WX_GENERICHYPERLINKCTRL_H_
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxGenericHyperlinkCtrl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxGenericHyperlinkCtrl : public wxHyperlinkCtrlBase
|
||||
{
|
||||
public:
|
||||
// Default constructor (for two-step construction).
|
||||
wxGenericHyperlinkCtrl() { Init(); }
|
||||
|
||||
// Constructor.
|
||||
wxGenericHyperlinkCtrl(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)
|
||||
{
|
||||
Init();
|
||||
(void) Create(parent, id, label, url, pos, size, style, name);
|
||||
}
|
||||
|
||||
// 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
|
||||
wxColour GetHoverColour() const { return m_hoverColour; }
|
||||
void SetHoverColour(const wxColour &colour) { m_hoverColour = colour; }
|
||||
|
||||
wxColour GetNormalColour() const { return m_normalColour; }
|
||||
void SetNormalColour(const wxColour &colour);
|
||||
|
||||
wxColour GetVisitedColour() const { return m_visitedColour; }
|
||||
void SetVisitedColour(const wxColour &colour);
|
||||
|
||||
wxString GetURL() const { return m_url; }
|
||||
void SetURL (const wxString &url) { m_url=url; }
|
||||
|
||||
void SetVisited(bool visited = true) { m_visited=visited; }
|
||||
bool GetVisited() const { return m_visited; }
|
||||
|
||||
// NOTE: also wxWindow::Set/GetLabel, wxWindow::Set/GetBackgroundColour,
|
||||
// wxWindow::Get/SetFont, wxWindow::Get/SetCursor are important !
|
||||
|
||||
|
||||
protected:
|
||||
// Helper used by this class itself and native MSW implementation that
|
||||
// connects OnRightUp() and OnPopUpCopy() handlers.
|
||||
void ConnectMenuHandlers();
|
||||
|
||||
// event handlers
|
||||
|
||||
// Renders the hyperlink.
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
|
||||
// Returns the wxRect of the label of this hyperlink.
|
||||
// This is different from the clientsize's rectangle when
|
||||
// clientsize != bestsize and this rectangle is influenced
|
||||
// by the alignment of the label (wxHL_ALIGN_*).
|
||||
wxRect GetLabelRect() const;
|
||||
|
||||
// If the click originates inside the bounding box of the label,
|
||||
// a flag is set so that an event will be fired when the left
|
||||
// button is released.
|
||||
void OnLeftDown(wxMouseEvent& event);
|
||||
|
||||
// If the click both originated and finished inside the bounding box
|
||||
// of the label, a HyperlinkEvent is fired.
|
||||
void OnLeftUp(wxMouseEvent& event);
|
||||
void OnRightUp(wxMouseEvent& event);
|
||||
|
||||
// Changes the cursor to a hand, if the mouse is inside the label's
|
||||
// bounding box.
|
||||
void OnMotion(wxMouseEvent& event);
|
||||
|
||||
// Changes the cursor back to the default, if necessary.
|
||||
void OnLeaveWindow(wxMouseEvent& event);
|
||||
|
||||
// handles "Copy URL" menuitem
|
||||
void OnPopUpCopy(wxCommandEvent& event);
|
||||
|
||||
// overridden base class virtuals
|
||||
|
||||
// Returns the best size for the window, which is the size needed
|
||||
// to display the text label.
|
||||
virtual wxSize DoGetBestClientSize() const;
|
||||
|
||||
// creates a context menu with "Copy URL" menuitem
|
||||
virtual void DoContextMenu(const wxPoint &);
|
||||
|
||||
private:
|
||||
// Common part of all ctors.
|
||||
void Init();
|
||||
|
||||
// URL associated with the link. This is transmitted inside
|
||||
// the HyperlinkEvent fired when the user clicks on the label.
|
||||
wxString m_url;
|
||||
|
||||
// Foreground colours for various link types.
|
||||
// NOTE: wxWindow::m_backgroundColour is used for background,
|
||||
// wxWindow::m_foregroundColour is used to render non-visited links
|
||||
wxColour m_hoverColour;
|
||||
wxColour m_normalColour;
|
||||
wxColour m_visitedColour;
|
||||
|
||||
// True if the mouse cursor is inside the label's bounding box.
|
||||
bool m_rollover;
|
||||
|
||||
// True if the link has been clicked before.
|
||||
bool m_visited;
|
||||
|
||||
// True if a click is in progress (left button down) and the click
|
||||
// originated inside the label's bounding box.
|
||||
bool m_clicking;
|
||||
};
|
||||
|
||||
#endif // _WX_GENERICHYPERLINKCTRL_H_
|
Reference in New Issue
Block a user