Read() 공개 메소드

public Read ( ObjectReader reader, XmlElement element ) : void
reader ObjectReader
element System.Xml.XmlElement
리턴 void
예제 #1
0
        public static ObjectWrapper ReadObject(ObjectReader reader, XmlElement elem)
        {
            string          className = elem.GetAttribute("class");
            ClassDescriptor klass;

            if (reader.Format == FileFormat.Native)
            {
                klass = Registry.LookupClassByName(className);
            }
            else
            {
                klass = Registry.LookupClassByCName(className);
            }

            if (klass == null)
            {
                ErrorWidget        we   = new ErrorWidget(className, elem.GetAttribute("id"));
                ErrorWidgetWrapper wrap = (ErrorWidgetWrapper)Create(reader.Project, we);
                wrap.Read(reader, elem);
                return(wrap);
            }
            if (!klass.SupportsGtkVersion(reader.Project.TargetGtkVersion))
            {
                ErrorWidget        we   = new ErrorWidget(className, klass.TargetGtkVersion, reader.Project.TargetGtkVersion, elem.GetAttribute("id"));
                ErrorWidgetWrapper wrap = (ErrorWidgetWrapper)Create(reader.Project, we);
                wrap.Read(reader, elem);
                return(wrap);
            }

            ObjectWrapper wrapper = klass.CreateWrapper();

            wrapper.classDescriptor = klass;
            wrapper.proj            = reader.Project;
            try {
                wrapper.OnBeginRead(reader.Format);
                wrapper.Read(reader, elem);
            } catch (Exception ex) {
                Console.WriteLine(ex);
                ErrorWidget        we   = new ErrorWidget(ex, elem.GetAttribute("id"));
                ErrorWidgetWrapper wrap = (ErrorWidgetWrapper)Create(reader.Project, we);
                wrap.Read(reader, elem);
                return(wrap);
            } finally {
                wrapper.OnEndRead(reader.Format);
            }
            return(wrapper);
        }
예제 #2
0
 public static ObjectWrapper ReadObject(ObjectReader reader, XmlElement elem, ObjectWrapper wrapper)
 {
     try {
         wrapper.OnBeginRead(reader.Format);
         wrapper.Read(reader, elem);
         return(wrapper);
     }
     catch (Exception ex) {
         Console.WriteLine(ex);
         ErrorWidget        we   = new ErrorWidget(ex, elem.GetAttribute("id"));
         ErrorWidgetWrapper wrap = (ErrorWidgetWrapper)Create(reader.Project, we);
         wrap.Read(reader, elem);
         return(wrap);
     }
     finally {
         wrapper.OnEndRead(reader.Format);
     }
 }
예제 #3
0
 public virtual void ReadObject(ObjectWrapper wrapper, XmlElement elem)
 {
     wrapper.Read(this, elem);
 }
예제 #4
0
		public static ObjectWrapper ReadObject (ObjectReader reader, XmlElement elem, ObjectWrapper wrapper)
		{
			try {
				wrapper.OnBeginRead (reader.Format);
				wrapper.Read (reader, elem);
				return wrapper;
			}
			catch (Exception ex) {
				Console.WriteLine (ex);
				ErrorWidget we = new ErrorWidget (ex, elem.GetAttribute ("id"));
				ErrorWidgetWrapper wrap = (ErrorWidgetWrapper) Create (reader.Project, we);
				wrap.Read (reader, elem);
				return wrap;
			}
			finally {
				wrapper.OnEndRead (reader.Format);
			}
		}
예제 #5
0
파일: ObjectReader.cs 프로젝트: mono/stetic
 public virtual void ReadObject(ObjectWrapper wrapper, XmlElement elem)
 {
     wrapper.Read (this, elem);
 }