// Created: 2003/02/28
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik, 2003
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#if wxUSE_MSGDLG && defined(__WXGTK20__) && !defined(__WXGPE__)
+#include "wx/msgdlg.h"
#include "wx/gtk/private.h"
#include <gtk/gtk.h>
-#include "wx/msgdlg.h"
#include "wx/intl.h"
IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
else
gtk_dialog_set_default_response(GTK_DIALOG(m_widget), GTK_RESPONSE_YES);
}
+
+ if (m_parent)
+ gtk_window_set_transient_for(GTK_WINDOW(m_widget),
+ GTK_WINDOW(m_parent->m_widget));
}
+wxMessageDialog::~wxMessageDialog()
+{
+}
+
int wxMessageDialog::ShowModal()
{
+ // This should be necessary, but otherwise the
+ // parent TLW will disappear..
+ if (m_parent)
+ gtk_window_present( GTK_WINDOW(m_parent->m_widget) );
+
gint result = gtk_dialog_run(GTK_DIALOG(m_widget));
gtk_widget_destroy(m_widget);
m_widget = NULL;
// fall through
case GTK_RESPONSE_CANCEL:
+ case GTK_RESPONSE_DELETE_EVENT:
+ case GTK_RESPONSE_CLOSE:
return wxID_CANCEL;
case GTK_RESPONSE_OK:
return wxID_OK;