Exemplo n.º 1
0
 public EccmFieldGenreAttribute(EccmFieldGenreType genre)
 {
     myGenre = genre;
 }
Exemplo n.º 2
0
        // �W���������ƂɃR���g���[����擾���܂��B
        private XmlNode GetControls(string genreName, EccmFieldGenreType genre)
        {
            XmlDocumentFragment result = myXhtml.CreateDocumentFragment();

            Type t = myProject.Setting.GetType();
            PropertyInfo[] fields = t.GetProperties();
            XmlElement ul = myXhtml.Create("ul");

            int propCount = 0;
            foreach(PropertyInfo pi in fields){
                EccmDescriptionAttribute descAttr = null;
                EccmEditableAttribute editAttr = null;
                EccmFieldGenreAttribute genreAttr = null;

                Object[] attrs = pi.GetCustomAttributes(false);
                foreach(Object o in attrs){
                    if(o is EccmDescriptionAttribute){
                        descAttr = o as EccmDescriptionAttribute;
                    } else if(o is EccmEditableAttribute){
                        editAttr = o as EccmEditableAttribute;
                    } else if(o is EccmFieldGenreAttribute){
                        genreAttr = o as EccmFieldGenreAttribute;
                    }
                }
                if(descAttr == null || genreAttr == null || genreAttr.Genre != genre) continue;
                ul.AppendChild(GetControl(pi, descAttr, editAttr));
                propCount++;
            }
            if(propCount == 0) return result;

            XmlElement h = myXhtml.H(2, null, genreName);
            result.AppendChild(h);
            result.AppendChild(ul);
            return result;
        }