Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
 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);
 }