X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78d14f80e9a72041ede52c30d912ec5cef21b1b3..3c907f1a7faaec6e38553359b96169eabba98e2c:/src/xrc/xh_dlg.cpp?ds=sidebyside diff --git a/src/xrc/xh_dlg.cpp b/src/xrc/xh_dlg.cpp index 9aec62e835..eef07949ec 100644 --- a/src/xrc/xh_dlg.cpp +++ b/src/xrc/xh_dlg.cpp @@ -1,13 +1,13 @@ ///////////////////////////////////////////////////////////////////////////// // Name: xh_dlg.cpp -// Purpose: XML resource for dialogs +// Purpose: XRC resource for dialogs // Author: Vaclav Slavik // Created: 2000/03/05 // RCS-ID: $Id$ // Copyright: (c) 2000 Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - + #ifdef __GNUG__ #pragma implementation "xh_dlg.h" #endif @@ -19,62 +19,67 @@ #pragma hdrstop #endif +#if wxUSE_XRC + #include "wx/xrc/xh_dlg.h" #include "wx/dialog.h" #include "wx/log.h" #include "wx/intl.h" +IMPLEMENT_DYNAMIC_CLASS(wxDialogXmlHandler, wxXmlResourceHandler) wxDialogXmlHandler::wxDialogXmlHandler() : wxXmlResourceHandler() { - ADD_STYLE(wxSTAY_ON_TOP); - ADD_STYLE(wxCAPTION); - ADD_STYLE(wxDEFAULT_DIALOG_STYLE); - ADD_STYLE(wxTHICK_FRAME); - ADD_STYLE(wxSYSTEM_MENU); - ADD_STYLE(wxRESIZE_BORDER); - ADD_STYLE(wxRESIZE_BOX); - ADD_STYLE(wxDIALOG_MODAL); - ADD_STYLE(wxDIALOG_MODELESS); - - ADD_STYLE(wxNO_3D); - ADD_STYLE(wxTAB_TRAVERSAL); - ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY); - ADD_STYLE(wxCLIP_CHILDREN); - AddWindowStyles(); -} + XRC_ADD_STYLE(wxSTAY_ON_TOP); + XRC_ADD_STYLE(wxCAPTION); + XRC_ADD_STYLE(wxDEFAULT_DIALOG_STYLE); + XRC_ADD_STYLE(wxTHICK_FRAME); + XRC_ADD_STYLE(wxSYSTEM_MENU); + XRC_ADD_STYLE(wxRESIZE_BORDER); + XRC_ADD_STYLE(wxRESIZE_BOX); + XRC_ADD_STYLE(wxCLOSE_BOX); + XRC_ADD_STYLE(wxDIALOG_MODAL); + XRC_ADD_STYLE(wxDIALOG_MODELESS); + XRC_ADD_STYLE(wxDIALOG_NO_PARENT); + XRC_ADD_STYLE(wxNO_3D); + XRC_ADD_STYLE(wxTAB_TRAVERSAL); + XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY); + XRC_ADD_STYLE(wxMAXIMIZE_BOX); + XRC_ADD_STYLE(wxMINIMIZE_BOX); + AddWindowStyles(); +} wxObject *wxDialogXmlHandler::DoCreateResource() -{ - wxDialog *dlg = wxDynamicCast(m_instance, wxDialog); - - wxASSERT_MSG(dlg, _("XML resource: Cannot create dialog without instance.")); - +{ + XRC_MAKE_INSTANCE(dlg, wxDialog); + dlg->Create(m_parentAsWindow, GetID(), GetText(wxT("title")), wxDefaultPosition, wxDefaultSize, GetStyle(wxT("style"), wxDEFAULT_DIALOG_STYLE), GetName()); - dlg->SetClientSize(GetSize()); - dlg->Move(GetPosition()); + + if (HasParam(wxT("size"))) + dlg->SetClientSize(GetSize()); + if (HasParam(wxT("pos"))) + dlg->Move(GetPosition()); + SetupWindow(dlg); CreateChildren(dlg); - - if (GetBool(_("centered"), FALSE)) + + if (GetBool(wxT("centered"), false)) dlg->Centre(); - + return dlg; } - - bool wxDialogXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxDialog")); } - +#endif // wxUSE_XRC