X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/544fee32eeac1a4f6ca3e0c7c1b13ee24f1d1c1c..ec904840170ef916814cae89ba8698af9f764175:/src/xrc/xh_frame.cpp diff --git a/src/xrc/xh_frame.cpp b/src/xrc/xh_frame.cpp index d4e47c1fff..705a3265b6 100644 --- a/src/xrc/xh_frame.cpp +++ b/src/xrc/xh_frame.cpp @@ -7,10 +7,6 @@ // Copyright: (c) 2000 Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifdef __GNUG__ -#pragma implementation "xh_frame.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,11 +15,15 @@ #pragma hdrstop #endif +#if wxUSE_XRC + #include "wx/xrc/xh_frame.h" #include "wx/frame.h" +#include "wx/dialog.h" // to get wxDEFAULT_DIALOG_STYLE #include "wx/log.h" #include "wx/intl.h" +IMPLEMENT_DYNAMIC_CLASS(wxFrameXmlHandler, wxXmlResourceHandler) wxFrameXmlHandler::wxFrameXmlHandler() : wxXmlResourceHandler() { @@ -35,7 +35,10 @@ wxFrameXmlHandler::wxFrameXmlHandler() : wxXmlResourceHandler() XRC_ADD_STYLE(wxSYSTEM_MENU); XRC_ADD_STYLE(wxRESIZE_BORDER); XRC_ADD_STYLE(wxRESIZE_BOX); + XRC_ADD_STYLE(wxCLOSE_BOX); + XRC_ADD_STYLE(wxFRAME_NO_TASKBAR); + XRC_ADD_STYLE(wxFRAME_SHAPED); XRC_ADD_STYLE(wxFRAME_TOOL_WINDOW); XRC_ADD_STYLE(wxFRAME_FLOAT_ON_PARENT); XRC_ADD_STYLE(wxMAXIMIZE_BOX); @@ -45,17 +48,16 @@ wxFrameXmlHandler::wxFrameXmlHandler() : wxXmlResourceHandler() XRC_ADD_STYLE(wxNO_3D); XRC_ADD_STYLE(wxTAB_TRAVERSAL); XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY); - XRC_ADD_STYLE(wxCLIP_CHILDREN); + XRC_ADD_STYLE(wxFRAME_EX_METAL); + XRC_ADD_STYLE(wxFRAME_EX_CONTEXTHELP); AddWindowStyles(); } wxObject *wxFrameXmlHandler::DoCreateResource() -{ - wxFrame *frame = wxDynamicCast(m_instance, wxFrame); - - wxASSERT_MSG(frame, _("XRC resource: Cannot create dialog without instance.")); - +{ + XRC_MAKE_INSTANCE(frame, wxFrame); + frame->Create(m_parentAsWindow, GetID(), GetText(wxT("title")), @@ -64,17 +66,19 @@ wxObject *wxFrameXmlHandler::DoCreateResource() GetName()); if (HasParam(wxT("size"))) - frame->SetClientSize(GetSize()); + frame->SetClientSize(GetSize(wxT("size"), frame)); if (HasParam(wxT("pos"))) frame->Move(GetPosition()); + if (HasParam(wxT("icon"))) + frame->SetIcon(GetIcon(wxT("icon"), wxART_FRAME_ICON)); SetupWindow(frame); CreateChildren(frame); - - if (GetBool(wxT("centered"), FALSE)) + + if (GetBool(wxT("centered"), false)) frame->Centre(); - + return frame; } @@ -82,3 +86,5 @@ bool wxFrameXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxFrame")); } + +#endif // wxUSE_XRC