X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..5e3062291922189a215b81a0ae4fc4022ace597b:/src/common/dlgcmn.cpp diff --git a/src/common/dlgcmn.cpp b/src/common/dlgcmn.cpp index d152896a54..0ba3bc7d33 100644 --- a/src/common/dlgcmn.cpp +++ b/src/common/dlgcmn.cpp @@ -83,7 +83,7 @@ wxWindow *wxDialogBase::CheckIfCanBeUsedAsParent(wxWindow *parent) const if ( !parent ) return NULL; - extern WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete; + extern WXDLLIMPEXP_DATA_BASE(wxList) wxPendingDelete; if ( wxPendingDelete.Member(parent) || parent->IsBeingDeleted() ) { // this window is being deleted and we shouldn't create any children @@ -116,12 +116,13 @@ wxWindow *wxDialogBase::CheckIfCanBeUsedAsParent(wxWindow *parent) const return parent; } -wxWindow *wxDialogBase::GetParentForModalDialog(wxWindow *parent) const +wxWindow * +wxDialogBase::GetParentForModalDialog(wxWindow *parent, long style) const { // creating a parent-less modal dialog will result (under e.g. wxGTK2) // in an unfocused dialog, so try to find a valid parent for it unless we // were explicitly asked not to - if ( HasFlag(wxDIALOG_NO_PARENT) ) + if ( style & wxDIALOG_NO_PARENT ) return NULL; // first try the given parent @@ -465,25 +466,24 @@ void wxDialogBase::OnButton(wxCommandEvent& event) } // ---------------------------------------------------------------------------- -// compatibility methods for supporting the modality API +// compatibility methods for supporting the modality API // ---------------------------------------------------------------------------- wxDEFINE_EVENT( wxEVT_WINDOW_MODAL_DIALOG_CLOSED , wxWindowModalDialogEvent ); IMPLEMENT_DYNAMIC_CLASS(wxWindowModalDialogEvent, wxCommandEvent) -bool wxDialogBase::ShowWindowModal () +void wxDialogBase::ShowWindowModal () { ShowModal(); SendWindowModalDialogEvent ( wxEVT_WINDOW_MODAL_DIALOG_CLOSED ); - return true; } void wxDialogBase::SendWindowModalDialogEvent ( wxEventType type ) { - wxCommandEvent event ( type, GetId()); + wxWindowModalDialogEvent event ( type, GetId()); event.SetEventObject(this); - + if ( !GetEventHandler()->ProcessEvent(event) ) { // the event is not propagated upwards to the parent automatically @@ -491,7 +491,7 @@ void wxDialogBase::SendWindowModalDialogEvent ( wxEventType type ) // in 9 cases of 10 the message must be processed by the dialog // owner and not the dialog itself (void)GetParent()->GetEventHandler()->ProcessEvent(event); - } + } }