X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1cc09bb6f0c0a75ab84ec147ba41f84d979766b..74af0b13434f4fa5c814a19a6d325d271944accf:/src/xrc/xh_unkwn.cpp?ds=sidebyside diff --git a/src/xrc/xh_unkwn.cpp b/src/xrc/xh_unkwn.cpp index 4ff1733125..e399ce9205 100644 --- a/src/xrc/xh_unkwn.cpp +++ b/src/xrc/xh_unkwn.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_unkwn.cpp +// Name: src/xrc/xh_unkwn.cpp // Purpose: XRC resource for unknown widget // Author: Vaclav Slavik // Created: 2000/09/09 @@ -8,10 +8,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "xh_unkwn.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,11 +15,16 @@ #pragma hdrstop #endif +#if wxUSE_XRC + #include "wx/xrc/xh_unkwn.h" -#include "wx/window.h" -#include "wx/log.h" -#include "wx/sizer.h" -#include "wx/panel.h" + +#ifndef WX_PRECOMP + #include "wx/log.h" + #include "wx/window.h" + #include "wx/panel.h" + #include "wx/sizer.h" +#endif class wxUnknownControlContainer : public wxPanel @@ -31,7 +32,7 @@ class wxUnknownControlContainer : public wxPanel public: wxUnknownControlContainer(wxWindow *parent, const wxString& controlName, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0) @@ -67,9 +68,7 @@ void wxUnknownControlContainer::AddChild(wxWindowBase *child) wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL); sizer->Add((wxWindow*)child, 1, wxEXPAND); - SetSizer(sizer); - SetAutoLayout(true); - Layout(); + SetSizerAndFit(sizer); } void wxUnknownControlContainer::RemoveChild(wxWindowBase *child) @@ -90,9 +89,12 @@ wxUnknownWidgetXmlHandler::wxUnknownWidgetXmlHandler() wxObject *wxUnknownWidgetXmlHandler::DoCreateResource() { + wxASSERT_MSG( m_instance == NULL, + wxT("'unknown' controls can't be subclassed, use wxXmlResource::AttachUnknownControl") ); + wxPanel *panel = new wxUnknownControlContainer(m_parentAsWindow, - GetName(), -1, + GetName(), wxID_ANY, GetPosition(), GetSize(), GetStyle(wxT("style"))); SetupWindow(panel); @@ -104,3 +106,4 @@ bool wxUnknownWidgetXmlHandler::CanHandle(wxXmlNode *node) return IsOfClass(node, wxT("unknown")); } +#endif // wxUSE_XRC