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:
170
Externals/wxWidgets3/include/wx/commandlinkbutton.h
vendored
Normal file
170
Externals/wxWidgets3/include/wx/commandlinkbutton.h
vendored
Normal file
@ -0,0 +1,170 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/commandlinkbutton.h
|
||||
// Purpose: wxCommandLinkButtonBase and wxGenericCommandLinkButton classes
|
||||
// Author: Rickard Westerlund
|
||||
// Created: 2010-06-11
|
||||
// RCS-ID: $Id: commandlinkbutton.h 65350 2010-08-18 22:48:48Z VZ $
|
||||
// Copyright: (c) 2010 wxWidgets team
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_COMMANDLINKBUTTON_H_
|
||||
#define _WX_COMMANDLINKBUTTON_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_COMMANDLINKBUTTON
|
||||
|
||||
#include "wx/button.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Command link button common base class
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// This class has separate "main label" (title-like string) and (possibly
|
||||
// multiline) "note" which can be set and queried separately but can also be
|
||||
// set both at once by joining them with a new line and setting them as a
|
||||
// label and queried by breaking the label into the parts before the first new
|
||||
// line and after it.
|
||||
|
||||
class WXDLLIMPEXP_ADV wxCommandLinkButtonBase : public wxButton
|
||||
{
|
||||
public:
|
||||
wxCommandLinkButtonBase() : wxButton() { }
|
||||
|
||||
wxCommandLinkButtonBase(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& mainLabel = wxEmptyString,
|
||||
const wxString& note = wxEmptyString,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator =
|
||||
wxDefaultValidator,
|
||||
const wxString& name = wxButtonNameStr)
|
||||
: wxButton(parent,
|
||||
id,
|
||||
mainLabel + '\n' + note,
|
||||
pos,
|
||||
size,
|
||||
style,
|
||||
validator,
|
||||
name)
|
||||
{ }
|
||||
|
||||
virtual void SetMainLabelAndNote(const wxString& mainLabel,
|
||||
const wxString& note) = 0;
|
||||
|
||||
virtual void SetMainLabel(const wxString& mainLabel)
|
||||
{
|
||||
SetMainLabelAndNote(mainLabel, GetNote());
|
||||
}
|
||||
|
||||
virtual void SetNote(const wxString& note)
|
||||
{
|
||||
SetMainLabelAndNote(GetMainLabel(), note);
|
||||
}
|
||||
|
||||
virtual wxString GetMainLabel() const
|
||||
{
|
||||
return GetLabel().BeforeFirst('\n');
|
||||
}
|
||||
|
||||
virtual wxString GetNote() const
|
||||
{
|
||||
return GetLabel().AfterFirst('\n');
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual bool HasNativeBitmap() const { return false; }
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxCommandLinkButtonBase);
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Generic command link button
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Trivial generic implementation simply using a multiline label to show both
|
||||
// the main label and the note.
|
||||
|
||||
class WXDLLIMPEXP_ADV wxGenericCommandLinkButton
|
||||
: public wxCommandLinkButtonBase
|
||||
{
|
||||
public:
|
||||
wxGenericCommandLinkButton() : wxCommandLinkButtonBase() { }
|
||||
|
||||
|
||||
wxGenericCommandLinkButton(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& mainLabel = wxEmptyString,
|
||||
const wxString& note = wxEmptyString,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxButtonNameStr)
|
||||
: wxCommandLinkButtonBase()
|
||||
{
|
||||
Create(parent, id, mainLabel, note, pos, size, style, validator, name);
|
||||
}
|
||||
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& mainLabel = wxEmptyString,
|
||||
const wxString& note = wxEmptyString,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxButtonNameStr);
|
||||
|
||||
virtual void SetMainLabelAndNote(const wxString& mainLabel,
|
||||
const wxString& note)
|
||||
{
|
||||
wxButton::SetLabel(mainLabel + '\n' + note);
|
||||
}
|
||||
|
||||
private:
|
||||
void SetDefaultBitmap();
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxGenericCommandLinkButton);
|
||||
};
|
||||
|
||||
#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
|
||||
#include "wx/msw/commandlinkbutton.h"
|
||||
#else
|
||||
class WXDLLIMPEXP_ADV wxCommandLinkButton : public wxGenericCommandLinkButton
|
||||
{
|
||||
public:
|
||||
wxCommandLinkButton() : wxGenericCommandLinkButton() { }
|
||||
|
||||
wxCommandLinkButton(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& mainLabel = wxEmptyString,
|
||||
const wxString& note = wxEmptyString,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxButtonNameStr)
|
||||
: wxGenericCommandLinkButton(parent,
|
||||
id,
|
||||
mainLabel,
|
||||
note,
|
||||
pos,
|
||||
size,
|
||||
style,
|
||||
validator,
|
||||
name)
|
||||
{ }
|
||||
|
||||
private:
|
||||
wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxCommandLinkButton);
|
||||
};
|
||||
#endif // __WXMSW__/!__WXMSW__
|
||||
|
||||
#endif // wxUSE_COMMANDLINKBUTTON
|
||||
|
||||
#endif // _WX_COMMANDLINKBUTTON_H_
|
Reference in New Issue
Block a user