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:
201
Externals/wxWidgets3/include/wx/gtk/filepicker.h
vendored
Normal file
201
Externals/wxWidgets3/include/wx/gtk/filepicker.h
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/filedirpicker.h
|
||||
// Purpose: wxFileButton, wxDirButton header
|
||||
// Author: Francesco Montorsi
|
||||
// Modified by:
|
||||
// Created: 14/4/2006
|
||||
// Copyright: (c) Francesco Montorsi
|
||||
// RCS-ID: $Id: filepicker.h 63690 2010-03-16 00:23:57Z VZ $
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GTK_FILEPICKER_H_
|
||||
#define _WX_GTK_FILEPICKER_H_
|
||||
|
||||
// since GtkColorButton is available only for GTK+ >= 2.4,
|
||||
// we need to use generic versions if we detect (at runtime)
|
||||
// that GTK+ < 2.4
|
||||
#include "wx/generic/filepickerg.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxFileButton and wxDirButton shared code
|
||||
// (cannot be a base class since they need to derive from wxGenericFileButton
|
||||
// and from wxGenericDirButton classes !)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#define FILEDIRBTN_OVERRIDES \
|
||||
/* NULL is because of a problem with destruction order which happens */ \
|
||||
/* if we pass GetParent(): in fact, this GTK native implementation */ \
|
||||
/* needs to create the dialog in ::Create() and not for each user */ \
|
||||
/* request in response to the user click as the generic implementation */ \
|
||||
/* does. */ \
|
||||
virtual wxWindow *GetDialogParent() \
|
||||
{ \
|
||||
return NULL; \
|
||||
} \
|
||||
\
|
||||
virtual bool Destroy() \
|
||||
{ \
|
||||
if (m_dialog) \
|
||||
m_dialog->Destroy(); \
|
||||
return wxButton::Destroy(); \
|
||||
} \
|
||||
\
|
||||
/* even if wx derive from wxGenericFileButton, i.e. from wxButton, our */ \
|
||||
/* native GTK+ widget does not derive from GtkButton thus *all* uses */ \
|
||||
/* GTK_BUTTON(m_widget) macro done by wxButton must be bypassed to */ \
|
||||
/* avoid bunch of GTK+ warnings like: */ \
|
||||
/* invalid cast from `GtkFileChooserButton' to `GtkButton' */ \
|
||||
/* so, override wxButton::GTKGetWindow and return NULL as GTK+ doesn't */ \
|
||||
/* give us access to the internal GdkWindow of a GtkFileChooserButton */ \
|
||||
protected: \
|
||||
virtual GdkWindow * \
|
||||
GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const \
|
||||
{ return NULL; }
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxFileButton
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxFileButton : public wxGenericFileButton
|
||||
{
|
||||
public:
|
||||
wxFileButton() { Init(); }
|
||||
wxFileButton(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& label = wxFilePickerWidgetLabel,
|
||||
const wxString &path = wxEmptyString,
|
||||
const wxString &message = wxFileSelectorPromptStr,
|
||||
const wxString &wildcard = wxFileSelectorDefaultWildcardStr,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxFILEBTN_DEFAULT_STYLE,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxFilePickerWidgetNameStr)
|
||||
{
|
||||
Init();
|
||||
m_pickerStyle = style;
|
||||
Create(parent, id, label, path, message, wildcard,
|
||||
pos, size, style, validator, name);
|
||||
}
|
||||
|
||||
virtual ~wxFileButton();
|
||||
|
||||
|
||||
public: // overrides
|
||||
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& label = wxFilePickerWidgetLabel,
|
||||
const wxString &path = wxEmptyString,
|
||||
const wxString &message = wxFileSelectorPromptStr,
|
||||
const wxString &wildcard = wxFileSelectorDefaultWildcardStr,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxFilePickerWidgetNameStr);
|
||||
|
||||
// event handler for the click
|
||||
void OnDialogOK(wxCommandEvent &);
|
||||
|
||||
virtual void SetPath(const wxString &str);
|
||||
|
||||
// see macro defined above
|
||||
FILEDIRBTN_OVERRIDES
|
||||
|
||||
protected:
|
||||
virtual bool GTKShouldConnectSizeRequest() const { return false; }
|
||||
|
||||
wxDialog *m_dialog;
|
||||
|
||||
private:
|
||||
// common part of all ctors
|
||||
void Init() { m_dialog = NULL; }
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxFileButton)
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxDirButton
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxDirButton : public wxGenericDirButton
|
||||
{
|
||||
public:
|
||||
wxDirButton() { Init(); }
|
||||
wxDirButton(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& label = wxFilePickerWidgetLabel,
|
||||
const wxString &path = wxEmptyString,
|
||||
const wxString &message = wxFileSelectorPromptStr,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxDIRBTN_DEFAULT_STYLE,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxFilePickerWidgetNameStr)
|
||||
{
|
||||
Init();
|
||||
|
||||
m_pickerStyle = style;
|
||||
|
||||
Create(parent, id, label, path, message, wxEmptyString,
|
||||
pos, size, style, validator, name);
|
||||
}
|
||||
|
||||
virtual ~wxDirButton();
|
||||
|
||||
|
||||
public: // overrides
|
||||
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& label = wxFilePickerWidgetLabel,
|
||||
const wxString &path = wxEmptyString,
|
||||
const wxString &message = wxFileSelectorPromptStr,
|
||||
const wxString &wildcard = wxFileSelectorDefaultWildcardStr,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxFilePickerWidgetNameStr);
|
||||
|
||||
|
||||
// GtkFileChooserButton does not support GTK_FILE_CHOOSER_CREATE_FOLDER
|
||||
// thus we must ensure that the wxDD_DIR_MUST_EXIST style was given
|
||||
long GetDialogStyle() const
|
||||
{
|
||||
return (wxGenericDirButton::GetDialogStyle() | wxDD_DIR_MUST_EXIST);
|
||||
}
|
||||
|
||||
virtual void SetPath(const wxString &str);
|
||||
|
||||
// see macro defined above
|
||||
FILEDIRBTN_OVERRIDES
|
||||
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init()
|
||||
{
|
||||
m_dialog = NULL;
|
||||
m_bIgnoreNextChange = false;
|
||||
}
|
||||
|
||||
wxDialog *m_dialog;
|
||||
|
||||
public: // used by the GTK callback only
|
||||
|
||||
bool m_bIgnoreNextChange;
|
||||
|
||||
void GTKUpdatePath(const char *gtkpath);
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxDirButton)
|
||||
};
|
||||
|
||||
#undef FILEDIRBTN_OVERRIDES
|
||||
|
||||
#endif // _WX_GTK_FILEPICKER_H_
|
||||
|
Reference in New Issue
Block a user