mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-18 03:59:14 +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.
204 lines
6.6 KiB
C++
204 lines
6.6 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/fdrepdlg.h
|
|
// Purpose: wxFindReplaceDialog class
|
|
// Author: Markus Greither and Vadim Zeitlin
|
|
// Modified by:
|
|
// Created: 23/03/2001
|
|
// Copyright: (c) Markus Greither
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_FINDREPLACEDLG_H_
|
|
#define _WX_FINDREPLACEDLG_H_
|
|
|
|
#include "wx/defs.h"
|
|
|
|
#if wxUSE_FINDREPLDLG
|
|
|
|
#include "wx/dialog.h"
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxFindDialogEvent;
|
|
class WXDLLIMPEXP_FWD_CORE wxFindReplaceDialog;
|
|
class WXDLLIMPEXP_FWD_CORE wxFindReplaceData;
|
|
class WXDLLIMPEXP_FWD_CORE wxFindReplaceDialogImpl;
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Flags for wxFindReplaceData.Flags
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// flages used by wxFindDialogEvent::GetFlags()
|
|
enum wxFindReplaceFlags
|
|
{
|
|
// downward search/replace selected (otherwise - upwards)
|
|
wxFR_DOWN = 1,
|
|
|
|
// whole word search/replace selected
|
|
wxFR_WHOLEWORD = 2,
|
|
|
|
// case sensitive search/replace selected (otherwise - case insensitive)
|
|
wxFR_MATCHCASE = 4
|
|
};
|
|
|
|
// these flags can be specified in wxFindReplaceDialog ctor or Create()
|
|
enum wxFindReplaceDialogStyles
|
|
{
|
|
// replace dialog (otherwise find dialog)
|
|
wxFR_REPLACEDIALOG = 1,
|
|
|
|
// don't allow changing the search direction
|
|
wxFR_NOUPDOWN = 2,
|
|
|
|
// don't allow case sensitive searching
|
|
wxFR_NOMATCHCASE = 4,
|
|
|
|
// don't allow whole word searching
|
|
wxFR_NOWHOLEWORD = 8
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxFindReplaceData: holds Setup Data/Feedback Data for wxFindReplaceDialog
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxFindReplaceData : public wxObject
|
|
{
|
|
public:
|
|
wxFindReplaceData() { Init(); }
|
|
wxFindReplaceData(wxUint32 flags) { Init(); SetFlags(flags); }
|
|
|
|
// accessors
|
|
const wxString& GetFindString() const { return m_FindWhat; }
|
|
const wxString& GetReplaceString() const { return m_ReplaceWith; }
|
|
|
|
int GetFlags() const { return m_Flags; }
|
|
|
|
// setters: may only be called before showing the dialog, no effect later
|
|
void SetFlags(wxUint32 flags) { m_Flags = flags; }
|
|
|
|
void SetFindString(const wxString& str) { m_FindWhat = str; }
|
|
void SetReplaceString(const wxString& str) { m_ReplaceWith = str; }
|
|
|
|
protected:
|
|
void Init();
|
|
|
|
private:
|
|
wxUint32 m_Flags;
|
|
wxString m_FindWhat,
|
|
m_ReplaceWith;
|
|
|
|
friend class wxFindReplaceDialogBase;
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxFindReplaceDialogBase
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxFindReplaceDialogBase : public wxDialog
|
|
{
|
|
public:
|
|
// ctors and such
|
|
wxFindReplaceDialogBase() { m_FindReplaceData = NULL; }
|
|
wxFindReplaceDialogBase(wxWindow * WXUNUSED(parent),
|
|
wxFindReplaceData *data,
|
|
const wxString& WXUNUSED(title),
|
|
int WXUNUSED(style) = 0)
|
|
{
|
|
m_FindReplaceData = data;
|
|
}
|
|
|
|
virtual ~wxFindReplaceDialogBase();
|
|
|
|
// find dialog data access
|
|
const wxFindReplaceData *GetData() const { return m_FindReplaceData; }
|
|
void SetData(wxFindReplaceData *data) { m_FindReplaceData = data; }
|
|
|
|
// implementation only, don't use
|
|
void Send(wxFindDialogEvent& event);
|
|
|
|
protected:
|
|
wxFindReplaceData *m_FindReplaceData;
|
|
|
|
// the last string we searched for
|
|
wxString m_lastSearch;
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxFindReplaceDialogBase);
|
|
};
|
|
|
|
// include wxFindReplaceDialog declaration
|
|
#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
|
|
#include "wx/msw/fdrepdlg.h"
|
|
#else
|
|
#define wxGenericFindReplaceDialog wxFindReplaceDialog
|
|
|
|
#include "wx/generic/fdrepdlg.h"
|
|
#endif
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxFindReplaceDialog events
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxFindDialogEvent : public wxCommandEvent
|
|
{
|
|
public:
|
|
wxFindDialogEvent(wxEventType commandType = wxEVT_NULL, int id = 0)
|
|
: wxCommandEvent(commandType, id) { }
|
|
wxFindDialogEvent(const wxFindDialogEvent& event)
|
|
: wxCommandEvent(event), m_strReplace(event.m_strReplace) { }
|
|
|
|
int GetFlags() const { return GetInt(); }
|
|
wxString GetFindString() const { return GetString(); }
|
|
const wxString& GetReplaceString() const { return m_strReplace; }
|
|
|
|
wxFindReplaceDialog *GetDialog() const
|
|
{ return wxStaticCast(GetEventObject(), wxFindReplaceDialog); }
|
|
|
|
// implementation only
|
|
void SetFlags(int flags) { SetInt(flags); }
|
|
void SetFindString(const wxString& str) { SetString(str); }
|
|
void SetReplaceString(const wxString& str) { m_strReplace = str; }
|
|
|
|
virtual wxEvent *Clone() const wxOVERRIDE { return new wxFindDialogEvent(*this); }
|
|
|
|
private:
|
|
wxString m_strReplace;
|
|
|
|
wxDECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxFindDialogEvent);
|
|
};
|
|
|
|
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FIND, wxFindDialogEvent );
|
|
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FIND_NEXT, wxFindDialogEvent );
|
|
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FIND_REPLACE, wxFindDialogEvent );
|
|
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FIND_REPLACE_ALL, wxFindDialogEvent );
|
|
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FIND_CLOSE, wxFindDialogEvent );
|
|
|
|
typedef void (wxEvtHandler::*wxFindDialogEventFunction)(wxFindDialogEvent&);
|
|
|
|
#define wxFindDialogEventHandler(func) \
|
|
wxEVENT_HANDLER_CAST(wxFindDialogEventFunction, func)
|
|
|
|
#define EVT_FIND(id, fn) \
|
|
wx__DECLARE_EVT1(wxEVT_FIND, id, wxFindDialogEventHandler(fn))
|
|
|
|
#define EVT_FIND_NEXT(id, fn) \
|
|
wx__DECLARE_EVT1(wxEVT_FIND_NEXT, id, wxFindDialogEventHandler(fn))
|
|
|
|
#define EVT_FIND_REPLACE(id, fn) \
|
|
wx__DECLARE_EVT1(wxEVT_FIND_REPLACE, id, wxFindDialogEventHandler(fn))
|
|
|
|
#define EVT_FIND_REPLACE_ALL(id, fn) \
|
|
wx__DECLARE_EVT1(wxEVT_FIND_REPLACE_ALL, id, wxFindDialogEventHandler(fn))
|
|
|
|
#define EVT_FIND_CLOSE(id, fn) \
|
|
wx__DECLARE_EVT1(wxEVT_FIND_CLOSE, id, wxFindDialogEventHandler(fn))
|
|
|
|
// old wxEVT_COMMAND_* constants
|
|
#define wxEVT_COMMAND_FIND wxEVT_FIND
|
|
#define wxEVT_COMMAND_FIND_NEXT wxEVT_FIND_NEXT
|
|
#define wxEVT_COMMAND_FIND_REPLACE wxEVT_FIND_REPLACE
|
|
#define wxEVT_COMMAND_FIND_REPLACE_ALL wxEVT_FIND_REPLACE_ALL
|
|
#define wxEVT_COMMAND_FIND_CLOSE wxEVT_FIND_CLOSE
|
|
|
|
#endif // wxUSE_FINDREPLDLG
|
|
|
|
#endif
|
|
// _WX_FDREPDLG_H
|