mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-15 18:49:11 +01:00
822326eea9
From wxWidgets master 81570ae070b35c9d52de47b1f14897f3ff1a66c7. include/wx/defs.h -- __w64 warning disable patch by comex brought forward. include/wx/msw/window.h -- added GetContentScaleFactor() which was not implemented on Windows but is necessary for wxBitmap scaling on Mac OS X so it needs to work to avoid #ifdef-ing the code. src/gtk/window.cpp -- Modified DoSetClientSize() to direct call wxWindowGTK::DoSetSize() instead of using public wxWindowBase::SetSize() which now prevents derived classes (like wxAuiToolbar) intercepting the call and breaking it. This matches Windows which does NOT need to call DoSetSize internally. End result is this fixes Dolphin's debug tools toolbars on Linux. src/osx/window_osx.cpp -- Same fix as for GTK since it has the same issue. src/msw/radiobox.cpp -- Hacked to fix display in HiDPI (was clipping off end of text). Updated CMakeLists for Linux and Mac OS X. Small code changes to Dolphin to fix debug error boxes, deprecation warnings, and retain previous UI behavior on Windows.
119 lines
4.2 KiB
C++
119 lines
4.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/choice.h
|
|
// Purpose:
|
|
// Author: Robert Roebling
|
|
// Copyright: (c) 1998 Robert Roebling
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GTK_CHOICE_H_
|
|
#define _WX_GTK_CHOICE_H_
|
|
|
|
class WXDLLIMPEXP_FWD_BASE wxSortedArrayString;
|
|
class WXDLLIMPEXP_FWD_BASE wxArrayString;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// wxChoice
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class wxGtkCollatedArrayString;
|
|
|
|
class WXDLLIMPEXP_CORE wxChoice : public wxChoiceBase
|
|
{
|
|
public:
|
|
wxChoice()
|
|
{
|
|
Init();
|
|
}
|
|
wxChoice( wxWindow *parent, wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
int n = 0, const wxString choices[] = (const wxString *) NULL,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxChoiceNameStr )
|
|
{
|
|
Init();
|
|
Create(parent, id, pos, size, n, choices, style, validator, name);
|
|
}
|
|
wxChoice( wxWindow *parent, wxWindowID id,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxChoiceNameStr )
|
|
{
|
|
Init();
|
|
Create(parent, id, pos, size, choices, style, validator, name);
|
|
}
|
|
virtual ~wxChoice();
|
|
bool Create( wxWindow *parent, wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
int n = 0, const wxString choices[] = NULL,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxChoiceNameStr );
|
|
bool Create( wxWindow *parent, wxWindowID id,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxChoiceNameStr );
|
|
|
|
int GetSelection() const wxOVERRIDE;
|
|
void SetSelection(int n) wxOVERRIDE;
|
|
|
|
virtual unsigned int GetCount() const wxOVERRIDE;
|
|
virtual int FindString(const wxString& s, bool bCase = false) const wxOVERRIDE;
|
|
virtual wxString GetString(unsigned int n) const wxOVERRIDE;
|
|
virtual void SetString(unsigned int n, const wxString& string) wxOVERRIDE;
|
|
|
|
virtual void SetColumns(int n=1) wxOVERRIDE;
|
|
virtual int GetColumns() const wxOVERRIDE;
|
|
|
|
virtual void GTKDisableEvents();
|
|
virtual void GTKEnableEvents();
|
|
|
|
static wxVisualAttributes
|
|
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
|
|
|
protected:
|
|
// this array is only used for controls with wxCB_SORT style, so only
|
|
// allocate it if it's needed (hence using pointer)
|
|
wxGtkCollatedArrayString *m_strings;
|
|
|
|
// contains the client data for the items
|
|
wxArrayPtrVoid m_clientData;
|
|
|
|
// index to GtkListStore cell which displays the item text
|
|
int m_stringCellIndex;
|
|
|
|
virtual wxSize DoGetBestSize() const wxOVERRIDE;
|
|
virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const wxOVERRIDE;
|
|
virtual int DoInsertItems(const wxArrayStringsAdapter& items,
|
|
unsigned int pos,
|
|
void **clientData, wxClientDataType type) wxOVERRIDE;
|
|
virtual void DoSetItemClientData(unsigned int n, void* clientData) wxOVERRIDE;
|
|
virtual void* DoGetItemClientData(unsigned int n) const wxOVERRIDE;
|
|
virtual void DoClear() wxOVERRIDE;
|
|
virtual void DoDeleteOneItem(unsigned int n) wxOVERRIDE;
|
|
|
|
virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const wxOVERRIDE;
|
|
virtual void DoApplyWidgetStyle(GtkRcStyle *style) wxOVERRIDE;
|
|
|
|
// in derived classes, implement this to insert list store entry
|
|
// with all items default except text
|
|
virtual void GTKInsertComboBoxTextItem( unsigned int n, const wxString& text );
|
|
|
|
private:
|
|
void Init();
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxChoice);
|
|
};
|
|
|
|
|
|
#endif // _WX_GTK_CHOICE_H_
|