CssGroupingRule
Represents the CSSGroupingRule interface.
using AngleSharp.Parser.Css;
namespace AngleSharp.Dom.Css
{
internal abstract class CssGroupingRule : CssRule, ICssGroupingRule, ICssRule
{
private readonly CssRuleList _rules;
public CssRuleList Rules => _rules;
ICssRuleList ICssGroupingRule.Rules {
get {
return _rules;
}
}
internal CssGroupingRule(CssRuleType type)
: base(type)
{
_rules = new CssRuleList();
}
protected override void ReplaceWith(ICssRule rule)
{
CssGroupingRule cssGroupingRule = (CssGroupingRule)rule;
_rules.Clear();
_rules.Import(cssGroupingRule._rules, base.Owner, base.Parent);
}
public int Insert(string rule, int index)
{
CssRule value = CssParser.ParseRule(rule, null);
_rules.Insert(value, index, base.Owner, this);
return index;
}
public void RemoveAt(int index)
{
_rules.RemoveAt(index);
}
}
}