-// Lists to keep track of windows, so we can disable/enable them
-// for modal dialogs
-wxWindowList wxModalDialogs;
-wxWindowList wxModelessWindows; // Frames and modeless dialogs
-extern wxList WXDLLEXPORT wxPendingDelete;
-
- IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxPanel)
-
- BEGIN_EVENT_TABLE(wxDialog, wxPanel)
- EVT_SIZE(wxDialog::OnSize)
- EVT_BUTTON(wxID_OK, wxDialog::OnOK)
- EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
- EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
- EVT_CHAR_HOOK(wxDialog::OnCharHook)
- EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
- EVT_CLOSE(wxDialog::OnCloseWindow)
- END_EVENT_TABLE()
-
-wxDialog::wxDialog()
+#define wxDIALOG_DEFAULT_WIDTH 500
+#define wxDIALOG_DEFAULT_HEIGHT 500
+
+// ----------------------------------------------------------------------------
+// globals
+// ----------------------------------------------------------------------------
+
+// all modal dialogs currently shown
+static wxWindowList wxModalDialogs;
+
+// ----------------------------------------------------------------------------
+// wxWin macros
+// ----------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow)
+
+BEGIN_EVENT_TABLE(wxDialog, wxTopLevelWindow)
+ EVT_BUTTON(wxID_OK, wxDialog::OnOK)
+ EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
+ EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
+
+ EVT_CHAR_HOOK(wxDialog::OnCharHook)
+
+ EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
+
+ EVT_CLOSE(wxDialog::OnCloseWindow)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// wxDialog construction
+// ----------------------------------------------------------------------------
+
+void wxDialog::Init()