internal void AddRule(CssRule rule) { if (rule != null) { _rules.Add(rule, Owner, this); } }
internal void Add(CssRule rule) { if (rule != null) { _parent.AppendChild(rule); } }
internal void Insert(Int32 index, CssRule rule) { if (rule == null) { throw new DomException(DomError.Syntax); } else if (rule.Type == CssRuleType.Charset) { throw new DomException(DomError.Syntax); } else if (index > Length || index < 0) { throw new DomException(DomError.IndexSizeError); } else if (rule.Type == CssRuleType.Namespace && HasDeclarativeRules) { throw new DomException(DomError.InvalidState); } else if (index == Length) { _parent.AppendChild(rule); } else { _parent.InsertBefore(this[index], rule); } }
internal void Remove(CssRule rule) { if (rule != null) { _parent.RemoveChild(rule); } }
internal void Remove(CssRule rule) { if (rule != null) { _parent.RemoveChild(rule); } }
internal void Add(CssRule rule, ICssStyleSheet owner, ICssRule parent) { if (rule != null) { _rules.Add(rule); rule.Owner = owner; rule.Parent = parent; } }
internal void Add(CssRule rule) { if (rule != null) { if (_filterDisplayAndVisibilityOnly && FilterRuleOnAddOrInsert(rule)) { return; } _parent.AppendChild(rule); } }
internal void Insert(CssRule value, Int32 index, ICssStyleSheet owner, ICssRule parent) { if (value == null) throw new DomException(DomError.Syntax); else if (value.Type == CssRuleType.Charset) throw new DomException(DomError.Syntax); else if (index > _rules.Count) throw new DomException(DomError.IndexSizeError); else if (value.Type == CssRuleType.Namespace && _rules.Any(m => (m.Type != CssRuleType.Import && m.Type != CssRuleType.Charset && m.Type != CssRuleType.Namespace))) throw new DomException(DomError.InvalidState); _rules.Insert(index, value); value.Owner = owner; value.Parent = parent; }
/// <summary> /// Ignores all CSS style rules except the ones which impact the following two properties : /// - Display /// - Visibility /// </summary> private bool FilterRuleOnAddOrInsert(CssRule rule) { switch (rule.Type) { case CssRuleType.Charset: case CssRuleType.Import: case CssRuleType.Namespace: case CssRuleType.FontFace: case CssRuleType.Viewport: return(false); case CssRuleType.Page: case CssRuleType.Keyframe: case CssRuleType.Keyframes: return(true); case CssRuleType.Style: var styleRule = (CssStyleRule)rule; if (styleRule.Style.Declarations.Any(property => property is CssDisplayProperty || property is CssVisibilityProperty)) { return(false); } else { return(true); } case CssRuleType.Media: case CssRuleType.Supports: case CssRuleType.Document: var groupingRule = (ICssGroupingRule)rule; if (groupingRule.Rules.Length > 0) { return(false); } else { return(true); } default: return(true); } }
internal void Insert(Int32 index, CssRule rule) { if (rule == null) throw new DomException(DomError.Syntax); if (rule.Type == CssRuleType.Charset) throw new DomException(DomError.Syntax); if (index > Length || index < 0) throw new DomException(DomError.IndexSizeError); if (rule.Type == CssRuleType.Namespace && HasDeclarativeRules) throw new DomException(DomError.InvalidState); if (index == Length) { _parent.AppendChild(rule); } else { _parent.InsertBefore(this[index], rule); } }
internal void Insert(Int32 index, CssRule rule) { if (rule == null) { throw new DomException(DomError.Syntax); } if (rule.Type == CssRuleType.Charset) { throw new DomException(DomError.Syntax); } if (index > Length || index < 0) { throw new DomException(DomError.IndexSizeError); } if (rule.Type == CssRuleType.Namespace && HasDeclarativeRules) { throw new DomException(DomError.InvalidState); } if (_filterDisplayAndVisibilityOnly && FilterRuleOnAddOrInsert(rule)) { return; } if (index == Length) { _parent.AppendChild(rule); } else { _parent.InsertBefore(this[index], rule); } }
static Boolean IsDeclarativeRule(CssRule rule) { var type = rule.Type; return(type != CssRuleType.Import && type != CssRuleType.Charset && type != CssRuleType.Namespace); }
internal void Add(CssRule value, ICssStyleSheet owner, ICssRule parent) { _rules.Add(value); value.Owner = owner; value.Parent = parent; }
internal CssStyleSheet(CssRule ownerRule, String url) : this(ownerRule.Parser, url, ownerRule.Owner) { _ownerRule = ownerRule; }
CssStyleDeclaration(CssRule parent, CssParser parser) { _parent = parent; _parser = parser; }
static Boolean IsDeclarativeRule(CssRule rule) { var type = rule.Type; return type != CssRuleType.Import && type != CssRuleType.Charset && type != CssRuleType.Namespace; }
internal void Add(CssRule rule) { if (rule != null) { _parent.AppendChild(rule); } }
internal void AddRule(CssRule rule) { if (rule != null) _rules.Add(rule, Owner, this); }
/// <summary> /// Creates a new CSS style declaration. /// </summary> /// <param name="parent">The parent of the style declaration.</param> internal CssStyleDeclaration(CssRule parent) : this(parent, parent.Parser) { }
CssStyleDeclaration(CssRule parent, CssParser parser) { _parent = parent; _parser = parser; _declarations = new List<CssProperty>(); }
internal void Add(CssRule value, ICssStyleSheet owner, ICssRule parent) { _rules.Add(value); value.Owner = owner; value.Parent = parent; }
internal CssStyleSheet(CssRule ownerRule, String url) : this(ownerRule.Parser, url, ownerRule.Owner) { _ownerRule = ownerRule; }
internal void AddRule(CssRule rule) { _rules.Add(rule, Owner, this); }
internal void AddRule(CssRule rule) { if (rule != null) _rules.Add(rule, this, null); }