X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e0de6b8aa49309ba439fcfd7251967915749c09..ee3510132b8b4160f848bd4f502a6f5315f90dbc:/src/univ/dialog.cpp diff --git a/src/univ/dialog.cpp b/src/univ/dialog.cpp index 6a29dbf93d..cf1d19793b 100644 --- a/src/univ/dialog.cpp +++ b/src/univ/dialog.cpp @@ -6,14 +6,32 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + #ifdef __GNUG__ -#pragma implementation "univdialog.h" + #pragma implementation "univdialog.h" +#endif + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/dialog.h" + #include "wx/utils.h" + #include "wx/app.h" #endif -#include "wx/dialog.h" -#include "wx/utils.h" #include "wx/evtloop.h" -#include "wx/app.h" //----------------------------------------------------------------------------- // wxDialog @@ -46,7 +64,7 @@ bool wxDialog::Create(wxWindow *parent, const wxPoint &pos, const wxSize &size, long style, const wxString &name) { - SetExtraStyle(GetExtraStyle() | wxTLW_EX_DIALOG); + SetExtraStyle(GetExtraStyle() | wxTOPLEVEL_EX_DIALOG); // all dialogs should have tab traversal enabled style |= wxTAB_TRAVERSAL; @@ -135,6 +153,18 @@ bool wxDialog::Show(bool show) EndModal(wxID_CANCEL); } + // Not sure how to put this in platform-specific + // code just yet. Nano-X has to force a size event, + // else there's no initial size. +#if wxUSE_NANOX + if (show) + { + wxSizeEvent event(GetSize(), GetId()); + event.SetEventObject(this); + GetEventHandler()->ProcessEvent(event); + } +#endif + bool ret = wxDialogBase::Show(show); if ( show ) @@ -172,14 +202,17 @@ int wxDialog::ShowModal() } } - wxBusyCursorSuspender cs; // temporarily suppress the busy cursor - Show(TRUE); m_isShowingModal = TRUE; wxASSERT_MSG( !m_windowDisabler, _T("disabling windows twice?") ); +#if defined(__WXGTK__) || defined(__WXMGL__) + wxBusyCursorSuspender suspender; + // FIXME (FIXME_MGL) - make sure busy cursor disappears under MSW too +#endif + m_windowDisabler = new wxWindowDisabler(this); if ( !m_eventLoop ) m_eventLoop = new wxEventLoop;