/////////////////////////////////////////////////////////////////////////////
// Name: xh_unkwn.cpp
-// Purpose: XML resource for unknown widget
+// Purpose: XRC resource for unknown widget
// Author: Vaclav Slavik
// Created: 2000/09/09
// RCS-ID: $Id$
const wxSize& size = wxDefaultSize)
: wxPanel(parent, id, pos, size, wxTAB_TRAVERSAL | wxNO_BORDER,
controlName + wxT("_container")),
- m_controlName(controlName), m_controlAdded(FALSE)
+ m_controlName(controlName), m_controlAdded(false)
{
m_bg = GetBackgroundColour();
SetBackgroundColour(wxColour(255, 0, 255));
}
virtual void AddChild(wxWindowBase *child);
+ virtual void RemoveChild(wxWindowBase *child);
protected:
wxString m_controlName;
void wxUnknownControlContainer::AddChild(wxWindowBase *child)
{
- wxASSERT_MSG( !m_controlAdded, wxT("Couldn't add two unknown controls to the same container!") )
+ wxASSERT_MSG( !m_controlAdded, wxT("Couldn't add two unknown controls to the same container!") );
wxPanel::AddChild(child);
SetBackgroundColour(m_bg);
child->SetName(m_controlName);
- child->SetId(wxXmlResource::GetXMLID(m_controlName));
- m_controlAdded = TRUE;
+ child->SetId(wxXmlResource::GetXRCID(m_controlName));
+ m_controlAdded = true;
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
sizer->Add((wxWindow*)child, 1, wxEXPAND);
SetSizer(sizer);
- SetAutoLayout(TRUE);
+ SetAutoLayout(true);
Layout();
}
+void wxUnknownControlContainer::RemoveChild(wxWindowBase *child)
+{
+ wxPanel::RemoveChild(child);
+ m_controlAdded = false;
+ GetSizer()->Detach((wxWindow*)child);
+}
+
+IMPLEMENT_DYNAMIC_CLASS(wxUnknownWidgetXmlHandler, wxXmlResourceHandler)
wxUnknownWidgetXmlHandler::wxUnknownWidgetXmlHandler()
: wxXmlResourceHandler()