X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/92e898b0b47f5b881453bf75778c5f8f08b38c89..b4a5e7b6f19bcef7449c87d46ab46af1b4aaec6b:/src/xrc/xh_frame.cpp diff --git a/src/xrc/xh_frame.cpp b/src/xrc/xh_frame.cpp index 34327e067e..b88359aa1d 100644 --- a/src/xrc/xh_frame.cpp +++ b/src/xrc/xh_frame.cpp @@ -8,7 +8,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "xh_frame.h" #endif @@ -19,11 +19,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 +39,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,7 +52,6 @@ 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); AddWindowStyles(); } @@ -65,12 +71,14 @@ wxObject *wxFrameXmlHandler::DoCreateResource() frame->SetClientSize(GetSize()); 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; @@ -80,3 +88,5 @@ bool wxFrameXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxFrame")); } + +#endif // wxUSE_XRC