예제 #1
0
            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();
                }
            }
예제 #2
0
        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;
            }
        }