예제 #1
0
 /// <summary>
 /// return true if applyTag match style
 /// </summary>
 private bool matchTag(CssStyleType style, HtmlTag applyTag)
 {
     if (Utils.MatchCurrentTag(applyTag, style.styleTagName) &&
         (Utils.MatchParentTags(applyTag, style.parentTagName)))
     {
         return(true);
     }
     return(false);
 }
예제 #2
0
 private void loadStyle(CssStyleType style, ref CurrentStateType curState,
                        bool loadNonInherited)
 {
     for (Int32 i = 0; i < style.styles.Count; i++)
     {
         PropertyItemType item = style.styles[i];
         loadStyle(item.key, item.value, ref curState, loadNonInherited);
     }
 }
예제 #3
0
        public void PrintItems()
        {
            for (Int32 i = 0; i < Count; i++)
            {
                CssStyleType       c     = this[i];
                CssHeaderStyleType style = new CssHeaderStyleType(c.styleTagName);
                style.PrintItems();

                for (Int32 j = 0; j < c.styles.Count; j++)
                {
                    string output = String.Format("[key: {0} = {1}]",
                                                  c.styles[j].key, c.styles[j].value);
                    Console.WriteLine(output);
                }
                Console.WriteLine("");
            }
        }
예제 #4
0
        public void AddCssStyle(string input)
        {
            ArrayList css = Utils.DecodeCssStyle(input);

            for (Int32 i = 0; i < css.Count; i++)
            {
                CssStyleType cssStyle = (CssStyleType)(css[i]);
                if (cssStyle.styleTagName != "")
                {
                    if (!(Contains(cssStyle.tagName)))
                    {
                        Add(cssStyle.tagName, new TagCssStyleType(cssStyle.tagName));
                    }
                    this[cssStyle.tagName].AddCssStyle(cssStyle);
                }
            }
        }
예제 #5
0
        public string Css()
        {
            string retVal = "";

            for (Int32 i = 0; i < Count; i++)
            {
                CssStyleType       c     = this[i];
                CssHeaderStyleType style = new CssHeaderStyleType(c.styleTagName);
                retVal += style.Css() + "{ ";

                for (Int32 j = 0; j < c.styles.Count; j++)
                {
                    retVal += c.styles[j].key + ":" + c.styles[j].value + ";";
                }

                retVal += " }" + Defines.lineBreak;
            }
            return(retVal);
        }
예제 #6
0
 public void AddCssStyle(CssStyleType aStyle)
 {
     cssStyles.Add(aStyle);
 }
예제 #7
0
 public bool Contains(CssStyleType value)
 {
     return(List.Contains(value));
 }
예제 #8
0
 public void Remove(CssStyleType value)
 {
     List.Remove(value);
 }
예제 #9
0
 public void Insert(Int32 index, CssStyleType value)
 {
     List.Insert(index, value);
 }
예제 #10
0
 private void setCssStyle(Int32 index, CssStyleType value)
 {
     List[index] = value;
 }
예제 #11
0
 public void AddCssStyle(CssStyleType aStyle)
 {
     cssStyles.Add(aStyle);
 }
예제 #12
0
 private void setCssStyle(Int32 index, CssStyleType value)
 {
     List[index] = value;
 }
예제 #13
0
 public void Remove(CssStyleType value)
 {
     List.Remove(value);
 }
예제 #14
0
 public void Insert(Int32 index, CssStyleType value)
 {
     List.Insert(index, value);
 }
예제 #15
0
 public bool Contains(CssStyleType value)
 {
     return List.Contains(value);
 }
예제 #16
0
 public Int32 Add(CssStyleType value)
 {
     return List.Add(value);
 }
예제 #17
0
        /// <summary>
        ///Decode a full cssStyle into useable format
        /// No checking is avaliable, crash if any error
        /// </summary>
        public static ArrayList DecodeCssStyle(string input)
        {
            ArrayList retVal = new ArrayList();
            ArrayList cssStyleGroups = new ArrayList();

            Utils.readTagName(input, ref cssStyleGroups);
            for (Int32 i = 0; i < cssStyleGroups.Count; i++)
            {
                CssStyleGroupType curItem = (CssStyleGroupType)(cssStyleGroups[i]);
                CssStyleType newCssStyleType = new CssStyleType();
                newCssStyleType.styleTagName = curItem.styleTagName;
                newCssStyleType.tagName = (new CssHeaderStyleType(curItem.styleTagName)).tagName;
                if (newCssStyleType.tagName == "")
                    newCssStyleType.tagName = CssHeaderStyleType.UnspecifiedTagName;
                newCssStyleType.parentTagName = curItem.parentTagName;
                readTagDeclare(input, newCssStyleType.styles);

                retVal.Add(newCssStyleType);
            }
            return retVal;
        }
예제 #18
0
 public Int32 Add(CssStyleType value)
 {
     return(List.Add(value));
 }