wx/cocoa/dcmemory.h \
wx/cocoa/dcscreen.h \
wx/cocoa/dialog.h \
+ wx/cocoa/dirdlg.h \
wx/cocoa/display.h \
wx/cocoa/drawer.h \
wx/cocoa/filedlg.h \
wx/cocoa/toplevel.h \
wx/cocoa/window.h \
wx/generic/caret.h \
- wx/generic/dirdlgg.h \
wx/generic/fdrepdlg.h \
wx/generic/fontdlgg.h \
wx/generic/imaglist.h \
wx/msw/removble.ico \
wx/msw/std.ico \
wx/generic/fdrepdlg.h \
+ wx/generic/filedlgg.h \
wx/generic/fontdlgg.h \
wx/msw/wince/checklst.h \
wx/msw/wince/choicece.h \
monodll_dcmemory.o \
monodll_dcscreen.o \
monodll_dialog.o \
+ monodll_dirdlg.o \
monodll_display.o \
monodll_drawer.o \
monodll_evtloop.o \
monodll_accel.o \
monodll_caret.o \
monodll_colrdlgg.o \
- monodll_dirdlgg.o \
monodll_fdrepdlg.o \
monodll_fontdlgg.o \
monodll_imaglist.o \
monodll_treectrl.o \
monodll_dirdlgg.o \
monodll_fdrepdlg.o \
+ monodll_filedlgg.o \
monodll_fontdlgg.o \
monodll_checklst.o \
monodll_choicece.o \
monolib_dcmemory.o \
monolib_dcscreen.o \
monolib_dialog.o \
+ monolib_dirdlg.o \
monolib_display.o \
monolib_drawer.o \
monolib_evtloop.o \
monolib_accel.o \
monolib_caret.o \
monolib_colrdlgg.o \
- monolib_dirdlgg.o \
monolib_fdrepdlg.o \
monolib_fontdlgg.o \
monolib_imaglist.o \
monolib_treectrl.o \
monolib_dirdlgg.o \
monolib_fdrepdlg.o \
+ monolib_filedlgg.o \
monolib_fontdlgg.o \
monolib_checklst.o \
monolib_choicece.o \
coredll_dcmemory.o \
coredll_dcscreen.o \
coredll_dialog.o \
+ coredll_dirdlg.o \
coredll_display.o \
coredll_drawer.o \
coredll_evtloop.o \
coredll_accel.o \
coredll_caret.o \
coredll_colrdlgg.o \
- coredll_dirdlgg.o \
coredll_fdrepdlg.o \
coredll_fontdlgg.o \
coredll_imaglist.o \
coredll_treectrl.o \
coredll_dirdlgg.o \
coredll_fdrepdlg.o \
+ coredll_filedlgg.o \
coredll_fontdlgg.o \
coredll_checklst.o \
coredll_choicece.o \
corelib_dcmemory.o \
corelib_dcscreen.o \
corelib_dialog.o \
+ corelib_dirdlg.o \
corelib_display.o \
corelib_drawer.o \
corelib_evtloop.o \
corelib_accel.o \
corelib_caret.o \
corelib_colrdlgg.o \
- corelib_dirdlgg.o \
corelib_fdrepdlg.o \
corelib_fontdlgg.o \
corelib_imaglist.o \
corelib_treectrl.o \
corelib_dirdlgg.o \
corelib_fdrepdlg.o \
+ corelib_filedlgg.o \
corelib_fontdlgg.o \
corelib_checklst.o \
corelib_choicece.o \
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@monodll_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+
@COND_USE_GUI_1_WXUNIV_1@monodll_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monodll_dirdlg.o: $(srcdir)/src/mac/carbon/dirdlg.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/dirdlg.cpp
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_dirdlg.o: $(srcdir)/src/cocoa/dirdlg.mm $(MONODLL_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/cocoa/dirdlg.mm
+
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_dragimag.o: $(srcdir)/src/msw/dragimag.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/dragimag.cpp
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@monolib_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+
@COND_USE_GUI_1_WXUNIV_1@monolib_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monolib_dirdlg.o: $(srcdir)/src/mac/carbon/dirdlg.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/dirdlg.cpp
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_dirdlg.o: $(srcdir)/src/cocoa/dirdlg.mm $(MONOLIB_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/cocoa/dirdlg.mm
+
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_dragimag.o: $(srcdir)/src/msw/dragimag.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/dragimag.cpp
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@coredll_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@coredll_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@coredll_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@coredll_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(COREDLL_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+
@COND_USE_GUI_1_WXUNIV_1@coredll_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@coredll_dirdlg.o: $(srcdir)/src/mac/carbon/dirdlg.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/dirdlg.cpp
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_dirdlg.o: $(srcdir)/src/cocoa/dirdlg.mm $(COREDLL_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/cocoa/dirdlg.mm
+
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_dragimag.o: $(srcdir)/src/msw/dragimag.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/dragimag.cpp
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@corelib_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
-
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@corelib_dirdlgg.o: $(srcdir)/src/generic/dirdlgg.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/dirdlgg.cpp
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@corelib_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@corelib_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(CORELIB_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
+
@COND_USE_GUI_1_WXUNIV_1@corelib_filedlgg.o: $(srcdir)/src/generic/filedlgg.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/filedlgg.cpp
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@corelib_dirdlg.o: $(srcdir)/src/mac/carbon/dirdlg.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/dirdlg.cpp
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_dirdlg.o: $(srcdir)/src/cocoa/dirdlg.mm $(CORELIB_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/cocoa/dirdlg.mm
+
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_dragimag.o: $(srcdir)/src/msw/dragimag.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/dragimag.cpp
src/cocoa/dcmemory.mm
src/cocoa/dcscreen.cpp
src/cocoa/dialog.mm
+ src/cocoa/dirdlg.mm
src/cocoa/display.mm
src/cocoa/drawer.mm
src/cocoa/evtloop.mm
src/generic/accel.cpp
src/generic/caret.cpp
src/generic/colrdlgg.cpp
- src/generic/dirdlgg.cpp
src/generic/fdrepdlg.cpp
src/generic/fontdlgg.cpp
src/generic/imaglist.cpp
wx/cocoa/dcmemory.h
wx/cocoa/dcscreen.h
wx/cocoa/dialog.h
+ wx/cocoa/dirdlg.h
wx/cocoa/display.h
wx/cocoa/drawer.h
wx/cocoa/filedlg.h
wx/cocoa/window.h
<!-- Generic implementations used by wxCocoa: -->
wx/generic/caret.h
- wx/generic/dirdlgg.h
wx/generic/fdrepdlg.h
wx/generic/fontdlgg.h
wx/generic/imaglist.h
- Fixed joystick GetXMin/Max bug.
- Fixed Unix domain socket problem in wxIPC.
+wxCocoa:
+
+- wxDirDialog is now native (Hiroyuki Nakamura)
+
wxWinCE:
- Pressing build-in joystick on WinCE phones fires wxEVT_JOY_BUTTON_DOWN event.
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/cocoa/dirdlg.h
+// Purpose: wxDirDialog class
+// Author: Ryan Norton
+// Modified by: Hiroyuki Nakamura(maloninc)
+// Created: 2006-01-10
+// RCS-ID: $Id$
+// Copyright: (c) Ryan Norton
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COCOA_DIRDLG_H_
+#define _WX_COCOA_DIRDLG_H_
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSSavePanel);
+
+#define wxDirDialog wxCocoaDirDialog
+//-------------------------------------------------------------------------
+// wxDirDialog
+//-------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDirDialog: public wxDialog
+{
+ DECLARE_DYNAMIC_CLASS(wxDirDialog)
+ DECLARE_NO_COPY_CLASS(wxDirDialog)
+public:
+ wxDirDialog(wxWindow *parent,
+ const wxString& message = wxDirSelectorPromptStr,
+ const wxString& defaultPath = _T(""),
+ long style = wxDD_DEFAULT_STYLE,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ const wxString& name = wxDirDialogNameStr);
+ ~wxDirDialog();
+
+ wxString GetMessage() const { return m_message; }
+ wxString GetPath() const { return m_path; }
+ long GetStyle() const { return m_dialogStyle; }
+
+ virtual int ShowModal();
+
+ inline WX_NSSavePanel GetNSSavePanel()
+ { return (WX_NSSavePanel)m_cocoaNSWindow; }
+
+protected:
+ wxString m_message;
+ long m_dialogStyle;
+ wxString m_dir;
+ wxWindow * m_parent;
+ wxString m_path;
+ wxString m_fileName;
+
+private:
+ wxArrayString m_fileNames;
+};
+
+#endif // _WX_DIRDLG_H_
+
#include "wx/mac/dirdlg.h"
+// Native Cocoa
+#elif defined(__WXCOCOA__)
+
+ #include "wx/cocoa/dirdlg.h"
+
// Other ports use generic implementation
#elif defined(__WXMOTIF__) || \
defined(__WXGTK__) || \
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/cocoa/dirdlg.mm
+// Purpose: wxDirDialog for wxCocoa
+// Author: Ryan Norton
+// Modified by: Hiroyuki Nakamura(maloninc)
+// Created: 2006-01-10
+// RCS-ID: $Id$
+// Copyright: (c) Ryan Norton
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#if wxUSE_DIRDLG
+
+#ifndef WX_PRECOMP
+ #include "wx/msgdlg.h"
+ #include "wx/filedlg.h"
+ #include "wx/dirdlg.h"
+ #include "wx/app.h"
+#endif
+#include "wx/filename.h"
+
+#include "wx/cocoa/autorelease.h"
+#include "wx/cocoa/string.h"
+
+#import <AppKit/NSOpenPanel.h>
+#import <AppKit/NSSavePanel.h>
+
+#import <Foundation/NSArray.h>
+// ============================================================================
+// implementation
+// ============================================================================
+
+IMPLEMENT_CLASS(wxCocoaDirDialog, wxDialog)
+
+// ----------------------------------------------------------------------------
+// wxDirDialog
+// ----------------------------------------------------------------------------
+
+wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message,
+ const wxString& defaultPath, long style, const wxPoint& pos,
+ const wxSize& size, const wxString& name)
+{
+ wxTopLevelWindows.Append(this);
+
+ m_message = message;
+ m_dialogStyle = style;
+ m_parent = parent;
+ m_path = defaultPath;
+
+ wxASSERT(CreateBase(parent,wxID_ANY,pos,wxDefaultSize,style,wxDefaultValidator,wxDialogNameStr));
+
+ if ( parent )
+ parent->AddChild(this);
+
+ m_cocoaNSWindow = nil;
+ m_cocoaNSView = nil;
+
+ //If the user requests to save - use a NSSavePanel
+ //else use a NSOpenPanel
+ if (m_dialogStyle & wxSAVE)
+ {
+ SetNSPanel([NSSavePanel savePanel]);
+
+ [GetNSSavePanel() setTitle:wxNSStringWithWxString(message)];
+
+ [GetNSSavePanel() setPrompt:@"Save"];
+ [GetNSSavePanel() setTreatsFilePackagesAsDirectories:YES];
+ [GetNSSavePanel() setCanSelectHiddenExtension:YES];
+ }
+ else //m_dialogStyle & wxOPEN
+ {
+ SetNSPanel([NSOpenPanel openPanel]);
+ [m_cocoaNSWindow setTitle:wxNSStringWithWxString(message)];
+
+ [(NSOpenPanel*)m_cocoaNSWindow setResolvesAliases:YES];
+ [(NSOpenPanel*)m_cocoaNSWindow setCanChooseFiles:NO];
+ [(NSOpenPanel*)m_cocoaNSWindow setCanChooseDirectories:YES];
+ [GetNSSavePanel() setPrompt:@"Open"];
+ }
+
+ if (m_dialogStyle & wxDD_NEW_DIR_BUTTON) //m_dialogStyle & wxDD_NEW_DIR_BUTTON
+ {
+ [(NSOpenPanel*)m_cocoaNSWindow setCanCreateDirectories:YES];
+ }
+}
+
+wxDirDialog::~wxDirDialog()
+{
+}
+
+int wxDirDialog::ShowModal()
+{
+ wxAutoNSAutoreleasePool thePool;
+
+ m_fileNames.Empty();
+
+ int nResult;
+
+ if (m_dialogStyle & wxSAVE)
+ {
+ nResult = [GetNSSavePanel()
+ runModalForDirectory:wxNSStringWithWxString(m_dir)
+ file:wxNSStringWithWxString(m_fileName)];
+
+ if (nResult == NSOKButton)
+ {
+ m_fileNames.Add(wxStringWithNSString([GetNSSavePanel() filename]));
+ m_path = m_fileNames[0];
+ }
+ }
+ else //m_dialogStyle & wxOPEN
+ {
+ nResult = [(NSOpenPanel*)m_cocoaNSWindow
+ runModalForDirectory:wxNSStringWithWxString(m_dir)
+ file:wxNSStringWithWxString(m_fileName)
+ types:NULL];
+
+ if (nResult == NSOKButton)
+ {
+ for(unsigned i = 0; i < [[(NSOpenPanel*)m_cocoaNSWindow filenames] count]; ++i)
+ {
+ m_fileNames.Add(wxStringWithNSString([[(NSOpenPanel*)m_cocoaNSWindow filenames] objectAtIndex:(i)]));
+ }
+
+ m_path = m_fileNames[0];
+ }
+ }
+
+ return nResult == NSOKButton ? wxID_OK : wxID_CANCEL;
+}
+
+#endif // wxUSE_DIRDLG
+