static public void Read(ObjectWrapper wrapper, XmlElement elem)
{
string className = elem.GetAttribute("class");
if (className == null)
{
throw new GladeException("<widget> node with no class name");
}
ClassDescriptor klass = Registry.LookupClassByName(className);
if (klass == null)
{
throw new GladeException("No stetic ClassDescriptor for " + className);
}
Gtk.Widget widget = (Gtk.Widget)wrapper.Wrapped;
if (widget == null)
{
widget = (Gtk.Widget)klass.CreateInstance(wrapper.Project);
ObjectWrapper.Bind(wrapper.Project, klass, wrapper, widget, true);
}
widget.Name = elem.GetAttribute("id");
ReadMembers(klass, wrapper, widget, elem);
if (!(widget is Gtk.Window))
{
widget.ShowAll();
}
}