Example #1
0
        private void ApplyStyle(Element element)
        {
            List <Style> styles = new List <Style>();

            foreach (Style style in _styles)
            {
                if (style.Selector.Matches(element))
                {
                    styles.Add(style);
                }
            }

            GanttStyle computedStyle = new GanttStyle();

            bool allPropertiesAreDefined = false;

            for (int i = styles.Count - 1; i >= 0; i--)
            {
                allPropertiesAreDefined = computedStyle.CopyFrom(styles[i], false);
                if (allPropertiesAreDefined)
                {
                    break;
                }
            }

            if (!allPropertiesAreDefined && element.Parent != null)
            {
                allPropertiesAreDefined = computedStyle.CopyFrom(element.Parent.Style, true);
            }

            if (!allPropertiesAreDefined)
            {
                computedStyle.ApplyDefaultValues();
            }

            computedStyle.CalculateValues();
            element.Style = computedStyle;

            foreach (Element child in element.Children)
            {
                ApplyStyle(child);
            }
        }
Example #2
0
        private void ApplyStyle(Element element)
        {
            List<Style> styles = new List<Style>();
            foreach (Style style in _styles)
            {
                if (style.Selector.Matches(element))
                    styles.Add(style);
            }

            GanttStyle computedStyle = new GanttStyle();

            bool allPropertiesAreDefined = false;
            for (int i = styles.Count - 1; i >= 0; i--)
            {
                allPropertiesAreDefined = computedStyle.CopyFrom(styles[i], false);
                if (allPropertiesAreDefined)
                    break;
            }

            if(!allPropertiesAreDefined && element.Parent != null)
                allPropertiesAreDefined = computedStyle.CopyFrom(element.Parent.Style, true);

            if (!allPropertiesAreDefined)
                computedStyle.ApplyDefaultValues();

            computedStyle.CalculateValues();
            element.Style = computedStyle;

            foreach (Element child in element.Children)
            {
                ApplyStyle(child);
            }
        }