]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/dirdlg.cpp
Set the menu itself as event object for EVT_MENU_{OPEN,CLOSED} in wxMSW.
[wxWidgets.git] / src / osx / carbon / dirdlg.cpp
index 5caa7f6b4bb218fc37308e82dfdbe19e22f721e5..1d3c058597272938769770402704569db47a59d8 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        src/mac/carbon/dirdlg.cpp
+// Name:        src/osx/carbon/dirdlg.cpp
 // Purpose:     wxDirDialog
 // Author:      Stefan Csomor
 // Modified by:
 
 #include "wx/wxprec.h"
 
-#if wxUSE_DIRDLG
+#if wxUSE_DIRDLG && !defined(__WXUNIVERSAL__)
 
 #include "wx/dirdlg.h"
 
 #ifndef WX_PRECOMP
     #include "wx/utils.h"
     #include "wx/dialog.h"
-    #include "wx/cmndata.h"
 #endif // WX_PRECOMP
 
 #include "wx/filename.h"
 
-#include "wx/mac/private.h"
-
-#ifdef __DARWIN__
-    #include <Carbon/Carbon.h>
-#else
-    #include <Navigation.h>
-#endif
+#include "wx/osx/private.h"
 
 IMPLEMENT_CLASS(wxDirDialog, wxDialog)
 
@@ -64,15 +57,17 @@ static pascal void NavEventProc(
 wxDirDialog::wxDirDialog(wxWindow *parent,
                          const wxString& message,
                          const wxString& defaultPath,
-                         long WXUNUSED(style),
+                         long style,
                          const wxPoint& WXUNUSED(pos),
                          const wxSize& WXUNUSED(size),
                          const wxString& WXUNUSED(name))
 {
     wxASSERT_MSG( NavServicesAvailable() , wxT("Navigation Services are not running") ) ;
-    m_message = message;
     m_parent = parent;
-    m_path = defaultPath;
+
+    SetMessage( message );
+    SetWindowStyle(style);
+    SetPath(defaultPath);
 }
 
 int wxDirDialog::ShowModal()
@@ -92,7 +87,9 @@ int wxDirDialog::ShowModal()
         err = NavCreateChooseFolderDialog(&options, sStandardNavEventFilter , NULL,  this , &dialog);
         if (err == noErr)
         {
+            wxDialog::OSXBeginModalDialog();
             err = NavDialogRun(dialog);
+            wxDialog::OSXEndModalDialog();
             if ( err == noErr )
             {
                 err = NavDialogGetReply(dialog, &reply);
@@ -136,8 +133,8 @@ int wxDirDialog::ShowModal()
     if ( err != noErr && err != userCanceledErr )
         m_path = wxEmptyString ;
 
-       if ( dialog )
-       ::NavDialogDispose(dialog);
+    if ( dialog )
+        ::NavDialogDispose(dialog);
 
     return (err == noErr) ? wxID_OK : wxID_CANCEL ;
 }