/////////////////////////////////////////////////////////////////////////////
-// Name: src/mac/carbon/dirdlg.cpp
+// Name: src/osx/carbon/dirdlg.cpp
// Purpose: wxDirDialog
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#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/modalhook.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)
}
}
-wxDirDialog::wxDirDialog(wxWindow *parent,
+void wxDirDialog::Init()
+{
+}
+
+void wxDirDialog::Create(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()
{
+ WX_HOOK_MODAL_DIALOG();
+
NavDialogRef dialog = NULL;
NavDialogCreationOptions options;
NavReplyRecord reply ;
err = NavCreateChooseFolderDialog(&options, sStandardNavEventFilter , NULL, this , &dialog);
if (err == noErr)
{
+ wxDialog::OSXBeginModalDialog();
err = NavDialogRun(dialog);
+ wxDialog::OSXEndModalDialog();
if ( err == noErr )
{
err = NavDialogGetReply(dialog, &reply);
if ( err != noErr && err != userCanceledErr )
m_path = wxEmptyString ;
- if ( dialog )
- ::NavDialogDispose(dialog);
+ if ( dialog )
+ ::NavDialogDispose(dialog);
return (err == noErr) ? wxID_OK : wxID_CANCEL ;
}