X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90c108964caba82a62602c7eef1268d4bb6e4841..44aa865dfc8884ee42fc2d7033bb6ed443b59c57:/src/cocoa/dialog.mm diff --git a/src/cocoa/dialog.mm b/src/cocoa/dialog.mm index 58815ed7d4..d18483cc86 100644 --- a/src/cocoa/dialog.mm +++ b/src/cocoa/dialog.mm @@ -4,9 +4,9 @@ // Author: David Elliott // Modified by: // Created: 2002/12/15 -// RCS-ID: $Id: +// RCS-ID: $Id: // Copyright: 2002 David Elliott -// Licence: wxWindows license +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" @@ -43,7 +43,7 @@ WX_IMPLEMENT_COCOA_OWNER(wxDialog,NSPanel,NSWindow,NSWindow) void wxDialog::Init() { m_isModal = false; - SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE)); + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); } bool wxDialog::Create(wxWindow *parent, wxWindowID winid, @@ -170,11 +170,19 @@ int wxDialog::ShowModal() void wxDialog::EndModal(int retCode) { - wxASSERT(IsModal(), wxT("EndModal() should only be used within ShowModal()")); + wxASSERT_MSG(IsModal(), wxT("EndModal() should only be used within ShowModal()")); SetReturnCode(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, @@ -194,15 +202,15 @@ void wxDialog::OnCloseWindow(wxCloseEvent& event) event.Veto(); static wxList closing; - + if ( closing.Member(this) ) { wxLogDebug(wxT("WARNING: Attempting to recursively call Close for dialog")); return; } - + closing.Append(this); - + wxLogTrace(wxTRACE_COCOA,wxT("Sending Cancel Event")); wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL); cancelEvent.SetEventObject( this ); @@ -216,20 +224,20 @@ void wxDialog::OnOK(wxCommandEvent& event) { if ( Validate() && TransferDataFromWindow() ) { - EndModal(wxID_OK); + EndDialog(wxID_OK); } } void wxDialog::OnApply(wxCommandEvent& event) { - if (Validate()) - TransferDataFromWindow(); - // TODO probably need to disable the Apply button until things change again + if (Validate()) + TransferDataFromWindow(); + // TODO probably need to disable the Apply button until things change again } void wxDialog::OnCancel(wxCommandEvent& event) { wxLogTrace(wxTRACE_COCOA,wxT("Cancelled!")); - EndModal(wxID_CANCEL); + EndDialog(wxID_CANCEL); }