#include "wx/cocoa/autorelease.h"
#include "wx/cocoa/string.h"
+#include "wx/modalhook.h"
#import <AppKit/NSOpenPanel.h>
#import <AppKit/NSSavePanel.h>
// wxFileDialog
// ----------------------------------------------------------------------------
-wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
- const wxString& defaultDir, const wxString& defaultFileName,
- const wxString& wildCard, long style, const wxPoint& pos)
-: wxFileDialogBase(parent, message, defaultDir, defaultFileName,
- wildCard, style, pos)
+wxFileDialog::wxFileDialog(wxWindow *parent,
+ const wxString& message,
+ const wxString& defaultDir,
+ const wxString& defaultFileName,
+ const wxString& wildCard,
+ long style,
+ const wxPoint& pos,
+ const wxSize& sz,
+ const wxString& name)
+ : wxFileDialogBase(parent, message, defaultDir, defaultFileName,
+ wildCard, style, pos, sz, name)
{
wxTopLevelWindows.Append(this);
//If the user requests to save - use a NSSavePanel
//else use a NSOpenPanel
- if (m_dialogStyle & wxFD_SAVE)
+ if (HasFlag(wxFD_SAVE))
{
SetNSPanel([NSSavePanel savePanel]);
SetNSPanel([NSOpenPanel openPanel]);
[m_cocoaNSWindow setTitle:wxNSStringWithWxString(message)];
- [(NSOpenPanel*)m_cocoaNSWindow setAllowsMultipleSelection:(m_dialogStyle & wxFD_MULTIPLE)];
+ [(NSOpenPanel*)m_cocoaNSWindow setAllowsMultipleSelection:(HasFlag(wxFD_MULTIPLE))];
[(NSOpenPanel*)m_cocoaNSWindow setResolvesAliases:YES];
[(NSOpenPanel*)m_cocoaNSWindow setCanChooseFiles:YES];
[(NSOpenPanel*)m_cocoaNSWindow setCanChooseDirectories:NO];
paths.Empty();
wxString dir(m_dir);
- if ( m_dir.Last() != _T('\\') )
- dir += _T('\\');
+ if ( m_dir.Last() != wxT('\\') )
+ dir += wxT('\\');
size_t count = m_fileNames.GetCount();
for ( size_t n = 0; n < count; n++ )
void wxFileDialog::SetPath(const wxString& path)
{
wxString ext;
- wxSplitPath(path, &m_dir, &m_fileName, &ext);
+ wxFileName::SplitPath(path, &m_dir, &m_fileName, &ext);
if ( !ext.empty() )
- m_fileName << _T('.') << ext;
+ m_fileName << wxT('.') << ext;
}
int wxFileDialog::ShowModal()
{
+ WX_HOOK_MODAL_DIALOG();
+
wxAutoNSAutoreleasePool thePool;
m_fileNames.Empty();
int nResult;
- if (m_dialogStyle & wxFD_SAVE)
+ if (HasFlag(wxFD_SAVE))
{
nResult = [GetNSSavePanel()
runModalForDirectory:wxNSStringWithWxString(m_dir)