// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "xh_unkwn.h"
#endif
#pragma hdrstop
#endif
+#if wxUSE_XRC
+
#include "wx/xrc/xh_unkwn.h"
#include "wx/window.h"
#include "wx/log.h"
public:
wxUnknownControlContainer(wxWindow *parent,
const wxString& controlName,
- wxWindowID id = -1,
+ wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxTAB_TRAVERSAL | wxNO_BORDER)
- : wxPanel(parent, id, pos, size, style,
+ long style = 0)
+ // Always add the wxTAB_TRAVERSAL and wxNO_BORDER styles to what comes
+ // from the XRC if anything.
+ : wxPanel(parent, id, pos, size, style | wxTAB_TRAVERSAL | wxNO_BORDER,
controlName + wxT("_container")),
m_controlName(controlName), m_controlAdded(false)
{
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
sizer->Add((wxWindow*)child, 1, wxEXPAND);
SetSizer(sizer);
- SetAutoLayout(true);
Layout();
}
wxObject *wxUnknownWidgetXmlHandler::DoCreateResource()
{
+ wxASSERT_MSG( m_instance == NULL,
+ _T("'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"),
- wxTAB_TRAVERSAL | wxNO_BORDER));
+ GetStyle(wxT("style")));
SetupWindow(panel);
return panel;
}
return IsOfClass(node, wxT("unknown"));
}
+#endif // wxUSE_XRC