public RuleGroupState(RuleGroup group) { Id = group.Id; if (group.BackgroundColor != null) { Background = group.BackgroundColor.ToString(); } if (group.BorderColor != null) { Border = group.BorderColor.ToString(); } if (group.TextColor != null) { Text = group.TextColor.ToString(); } }
public void Merge(Block block) { DebugOrigin = DebugOrigin + " + " + block.DebugOrigin; foreach (Match target in Matches.FindAll(m => m is IMergeableMatch)) { foreach (Match mergeable in block.Matches.FindAll(m => target.CanMerge(m))) { (target as IMergeableMatch).Merge(mergeable); } } // Once this block is merged with other block of different rule group, remove this block's rule group association. if (OfGroup != block.OfGroup) { OfGroup = null; } }