2009-01-17 05:43:43 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
2011-03-19 20:14:35 -04:00
|
|
|
// Name: wx/osx/filedlg.h
|
2009-01-17 05:43:43 -05:00
|
|
|
// Purpose: wxFileDialog class
|
|
|
|
// Author: Stefan Csomor
|
|
|
|
// Modified by:
|
|
|
|
// Created: 1998-01-01
|
|
|
|
// Copyright: (c) Stefan Csomor
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_FILEDLG_H_
|
|
|
|
#define _WX_FILEDLG_H_
|
|
|
|
|
2011-02-18 19:30:18 -05:00
|
|
|
class WXDLLIMPEXP_FWD_CORE wxChoice;
|
|
|
|
|
2009-01-17 05:43:43 -05:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// wxFileDialog
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
|
2019-01-30 11:28:08 -05:00
|
|
|
// set this system option to 1 in order to always show the filetypes popup in
|
2011-02-18 12:29:31 -05:00
|
|
|
// file open dialogs if possible
|
|
|
|
|
2011-02-18 12:48:39 -05:00
|
|
|
#define wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES wxT("osx.openfiledialog.always-show-types")
|
2011-02-18 12:29:31 -05:00
|
|
|
|
2009-01-17 05:43:43 -05:00
|
|
|
class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
|
|
|
|
{
|
2015-04-23 07:49:01 -04:00
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxFileDialog);
|
2009-01-17 05:43:43 -05:00
|
|
|
protected:
|
|
|
|
wxArrayString m_fileNames;
|
|
|
|
wxArrayString m_paths;
|
|
|
|
|
|
|
|
public:
|
2013-07-10 17:12:07 -04:00
|
|
|
wxFileDialog() { Init(); }
|
2009-01-17 05:43:43 -05:00
|
|
|
wxFileDialog(wxWindow *parent,
|
2013-07-10 17:12:07 -04:00
|
|
|
const wxString& message = wxFileSelectorPromptStr,
|
|
|
|
const wxString& defaultDir = wxEmptyString,
|
|
|
|
const wxString& defaultFile = wxEmptyString,
|
|
|
|
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
|
|
|
|
long style = wxFD_DEFAULT_STYLE,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& sz = wxDefaultSize,
|
|
|
|
const wxString& name = wxFileDialogNameStr)
|
|
|
|
{
|
|
|
|
Init();
|
|
|
|
|
|
|
|
Create(parent,message,defaultDir,defaultFile,wildCard,style,pos,sz,name);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Create(wxWindow *parent,
|
2009-01-17 05:43:43 -05:00
|
|
|
const wxString& message = wxFileSelectorPromptStr,
|
|
|
|
const wxString& defaultDir = wxEmptyString,
|
|
|
|
const wxString& defaultFile = wxEmptyString,
|
|
|
|
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
|
|
|
|
long style = wxFD_DEFAULT_STYLE,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& sz = wxDefaultSize,
|
|
|
|
const wxString& name = wxFileDialogNameStr);
|
|
|
|
|
2011-06-08 20:28:28 -04:00
|
|
|
#if wxOSX_USE_COCOA
|
|
|
|
~wxFileDialog();
|
|
|
|
#endif
|
2019-01-30 11:28:08 -05:00
|
|
|
|
2019-04-05 14:08:53 -04:00
|
|
|
virtual void GetPaths(wxArrayString& paths) const wxOVERRIDE { paths = m_paths; }
|
|
|
|
virtual void GetFilenames(wxArrayString& files) const wxOVERRIDE { files = m_fileNames ; }
|
2009-01-17 05:43:43 -05:00
|
|
|
|
2019-04-05 14:08:53 -04:00
|
|
|
virtual int ShowModal() wxOVERRIDE;
|
2010-09-30 07:44:45 -04:00
|
|
|
|
2010-01-27 23:06:23 -05:00
|
|
|
#if wxOSX_USE_COCOA
|
2019-04-05 14:08:53 -04:00
|
|
|
virtual void ShowWindowModal() wxOVERRIDE;
|
|
|
|
virtual void ModalFinishedCallback(void* panel, int resultCode) wxOVERRIDE;
|
2010-01-27 23:06:23 -05:00
|
|
|
#endif
|
2009-01-17 05:43:43 -05:00
|
|
|
|
2019-04-05 14:08:53 -04:00
|
|
|
virtual bool SupportsExtraControl() const wxOVERRIDE;
|
2019-01-30 11:28:08 -05:00
|
|
|
|
2011-02-18 12:29:31 -05:00
|
|
|
// implementation only
|
2019-01-30 11:28:08 -05:00
|
|
|
|
2011-02-18 12:29:31 -05:00
|
|
|
#if wxOSX_USE_COCOA
|
|
|
|
// returns true if the file can be shown as active
|
|
|
|
bool CheckFile( const wxString& filename );
|
|
|
|
#endif
|
2010-09-30 07:44:45 -04:00
|
|
|
|
2009-01-17 05:43:43 -05:00
|
|
|
protected:
|
|
|
|
// not supported for file dialog, RR
|
|
|
|
virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
|
|
|
|
int WXUNUSED(width), int WXUNUSED(height),
|
2019-04-17 13:05:31 -04:00
|
|
|
int WXUNUSED(sizeFlags) = wxSIZE_AUTO) wxOVERRIDE {}
|
2010-09-30 07:44:45 -04:00
|
|
|
|
2010-04-18 09:17:16 -04:00
|
|
|
void SetupExtraControls(WXWindow nativeWindow);
|
2019-01-30 11:28:08 -05:00
|
|
|
|
2011-02-18 12:29:31 -05:00
|
|
|
#if wxOSX_USE_COCOA
|
|
|
|
virtual wxWindow* CreateFilterPanel(wxWindow *extracontrol);
|
2011-04-25 09:18:45 -04:00
|
|
|
void DoOnFilterSelected(int index);
|
2011-02-18 12:29:31 -05:00
|
|
|
virtual void OnFilterSelected(wxCommandEvent &event);
|
|
|
|
|
|
|
|
wxArrayString m_filterExtensions;
|
|
|
|
wxArrayString m_filterNames;
|
|
|
|
wxChoice* m_filterChoice;
|
|
|
|
wxWindow* m_filterPanel;
|
|
|
|
bool m_useFileTypeFilter;
|
|
|
|
int m_firstFileTypeFilter;
|
|
|
|
wxArrayString m_currentExtensions;
|
|
|
|
WX_NSObject m_delegate;
|
2011-06-08 20:28:28 -04:00
|
|
|
WX_NSObject m_sheetDelegate;
|
2011-02-18 12:29:31 -05:00
|
|
|
#endif
|
2013-07-10 17:12:07 -04:00
|
|
|
|
|
|
|
private:
|
|
|
|
// Common part of all ctors.
|
|
|
|
void Init();
|
2009-01-17 05:43:43 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _WX_FILEDLG_H_
|