public static void Import(ProjectBackend project, string filename) { XmlDocument doc = new XmlDocument(); doc.PreserveWhitespace = true; doc.XmlResolver = null; doc.Load(filename); project.SetFileName(filename); project.Id = System.IO.Path.GetFileName(filename); doc = GladeUtils.XslImportTransform(doc); XmlNode node = doc.SelectSingleNode("/glade-interface"); if (node == null) { throw new ApplicationException(Catalog.GetString("Not a glade file according to node name.")); } ObjectReader reader = new ObjectReader(project, FileFormat.Glade); foreach (XmlElement toplevel in node.SelectNodes("widget")) { Wrapper.Container wrapper = Stetic.ObjectWrapper.ReadObject(reader, toplevel) as Wrapper.Container; if (wrapper != null) { project.AddWidget((Gtk.Widget)wrapper.Wrapped); } } }
public Gtk.Widget GetWidget(WidgetData data) { if (data.Widget == null) { try { loading = true; ObjectReader reader = new ObjectReader(this, FileFormat.Native); Wrapper.Container wrapper = Stetic.ObjectWrapper.ReadObject(reader, data.XmlData) as Wrapper.Container; data.Widget = wrapper.Wrapped; } finally { loading = false; } } return(data.Widget); }
public Wrapper.Container GetTopLevelWrapper(string name, bool throwIfNotFound) { Gtk.Widget w = GetTopLevel(name); if (w != null) { Wrapper.Container ww = Wrapper.Container.Lookup(w); if (ww != null) { return((Wrapper.Container)Component.GetSafeReference(ww)); } } if (throwIfNotFound) { throw new InvalidOperationException("Component not found: " + name); } return(null); }