/////////////////////////////////////////////////////////////////////////////
-// Name: dialog.h
+// Name: wx/osx/dialog.h
// Purpose: wxDialog class
// Author: Stefan Csomor
// Modified by:
#include "wx/panel.h"
-WXDLLIMPEXP_DATA_CORE(extern const char) wxDialogNameStr[];
-
class WXDLLIMPEXP_FWD_CORE wxMacToolTip ;
+class WXDLLIMPEXP_FWD_CORE wxModalEventLoop ;
// Dialog boxes
class WXDLLIMPEXP_CORE wxDialog : public wxDialogBase
// show the dialog modally and return the value passed to EndModal()
virtual int ShowModal();
-
+
virtual void ShowWindowModal();
// may be called to terminate the dialog with the given return code
virtual void EndModal(int retCode);
+ static bool OSXHasModalDialogsOpen();
+ static void OSXBeginModalDialog();
+ static void OSXEndModalDialog();
+
// implementation
// --------------
wxDialogModality GetModality() const;
-
+
#if wxOSX_USE_COCOA
virtual void ModalFinishedCallback(void* WXUNUSED(panel), int WXUNUSED(returnCode)) {}
#endif
protected:
- // show modal dialog and enter modal loop
- void DoShowModal();
-
- // show modal dialog and enter modal loop
+ // show window modal dialog
void DoShowWindowModal();
+ // end window modal dialog.
+ void EndWindowModal();
+
// mac also takes command-period as cancel
virtual bool IsEscapeKey(const wxKeyEvent& event);
- // needed for cleanup on the Cocoa side.
- void EndWindowModal();
wxDialogModality m_modality;
+ wxModalEventLoop* m_eventLoop;
+
private:
void Init();
};