X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec157c8f95dfa40b19202a320e7a1d60995d2c8e..dd5e86874e7796e4a7ccfc65d973f309cdc9a087:/src/cocoa/dialog.mm diff --git a/src/cocoa/dialog.mm b/src/cocoa/dialog.mm index e15c2937aa..352e7eb923 100644 --- a/src/cocoa/dialog.mm +++ b/src/cocoa/dialog.mm @@ -10,10 +10,12 @@ ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" + +#include "wx/dialog.h" + #ifndef WX_PRECOMP #include "wx/log.h" #include "wx/app.h" - #include "wx/dialog.h" #include "wx/settings.h" #endif //WX_PRECOMP @@ -32,10 +34,10 @@ static wxWindowList wxModalDialogs; IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow) BEGIN_EVENT_TABLE(wxDialog, wxDialogBase) - EVT_BUTTON(wxID_OK, wxDialog::OnOK) - EVT_BUTTON(wxID_APPLY, wxDialog::OnApply) - EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel) - EVT_CLOSE(wxDialog::OnCloseWindow) + EVT_BUTTON(wxID_OK, wxDialog::OnOK) + EVT_BUTTON(wxID_APPLY, wxDialog::OnApply) + EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel) + EVT_CLOSE(wxDialog::OnCloseWindow) END_EVENT_TABLE() WX_IMPLEMENT_COCOA_OWNER(wxDialog,NSPanel,NSWindow,NSWindow) @@ -175,6 +177,14 @@ void wxDialog::EndModal(int retCode) Show(false); } +void wxDialog::EndDialog(int retCode) +{ + if(IsModal()) + EndModal(retCode); + else + Show(false); +} + void wxDialog::OnCloseWindow(wxCloseEvent& event) { // We'll send a Cancel message by default, @@ -216,7 +226,7 @@ void wxDialog::OnOK(wxCommandEvent& event) { if ( Validate() && TransferDataFromWindow() ) { - EndModal(wxID_OK); + EndDialog(wxID_OK); } } @@ -230,6 +240,5 @@ void wxDialog::OnApply(wxCommandEvent& event) void wxDialog::OnCancel(wxCommandEvent& event) { wxLogTrace(wxTRACE_COCOA,wxT("Cancelled!")); - EndModal(wxID_CANCEL); + EndDialog(wxID_CANCEL); } -