Exemple #1
0
        private CssPropertiesSet AddStyle(string styleId)
        {
            try
            {
                var style = _styles.First(x => x.StyleId?.Value == styleId);
                var props = BuildProps(style);
                var set   = new CssPropertiesSet();
                set.AddMany(props);

                _cache.Add(styleId, set);

                if (style.BasedOn?.Val != null)
                {
                    if (_cache.TryGetValue(
                            style.BasedOn.Val,
                            out CssPropertiesSet basedOn))
                    {
                        set.AddMany(basedOn);
                    }
                    else
                    {
                        set.AddMany(AddStyle(style.BasedOn.Val));
                    }
                }

                return(set);
            }
            catch
            {
                return(new CssPropertiesSet());
            }
        }
Exemple #2
0
        public void Build_SetDefaults()
        {
            var pPr   = new ParagraphProperties();
            var props = new CssPropertiesSet
            {
                new MockProp1(),
                new MockProp2()
            };

            _propsFac.Build(Arg.Is(pPr)).Returns(props);
            _defaults.Paragraph.Returns(new CssPropertiesSet
            {
                new MockProp3(),
                new MockProp4()
            });
            var expected = new CssPropertiesSet(props.Clone().ToArray());

            expected.AddMany(_defaults.Paragraph);

            var result = _instance.Build(new ParagraphClassParam
            {
                InlineProperties = pPr
            });

            Utils.AssertDynamicClass(_nameGen.Prefix, result);
            Assert.IsTrue(result.Props.Equals(expected));
        }
Exemple #3
0
        public override CssPropertiesSet BuildPropertiesSet(Level arg)
        {
            if (arg.PreviousParagraphProperties == null)
            {
                return(new CssPropertiesSet());
            }

            var set = new CssPropertiesSet();

            set.AddMany(_propsFac.Build(arg.PreviousParagraphProperties));
            return(set);
        }
Exemple #4
0
        public override CssPropertiesSet BuildPropertiesSet(Level arg)
        {
            if (arg.NumberingSymbolRunProperties == null)
            {
                return(new CssPropertiesSet());
            }

            var set = new CssPropertiesSet();

            set.AddMany(_propsFac.Build(arg.NumberingSymbolRunProperties));
            return(set);
        }
Exemple #5
0
        private CssPropertiesSet BuildInline(OpenXmlElement rProps)
        {
            var set = new CssPropertiesSet();

            if (rProps == null)
            {
                return(set);
            }
            var props = _propsFac.Build(rProps);

            set.AddMany(props);
            return(set);
        }
Exemple #6
0
        public void AddMany_Test()
        {
            var props = new ICssProperty[]
            {
                new MockProp1(),
                new MockProp2()
            };

            _instance.AddMany(props);

            foreach (var prop in props)
            {
                Assert.IsTrue(_instance.Contains(prop));
            }
        }
Exemple #7
0
        private void InitRCache()
        {
            var rDocDefaults = _styles.DocDefaults?.RunPropertiesDefault?.RunPropertiesBaseStyle;

            if (rDocDefaults != null)
            {
                var props = _propsFac.Value.Build(rDocDefaults);
                var set   = new CssPropertiesSet();
                set.AddMany(props);
                _rCache = set;
            }
            else
            {
                _rCache = new CssPropertiesSet();
            }
        }
Exemple #8
0
        private void InitPCache()
        {
            var pDocDefaults =
                _styles.DocDefaults?.ParagraphPropertiesDefault?.ParagraphPropertiesBaseStyle;

            if (pDocDefaults != null)
            {
                var props = _propsFac.Value.Build(pDocDefaults);
                var set   = new CssPropertiesSet();
                set.AddMany(props);
                _pCache = set;
            }
            else
            {
                _pCache = new CssPropertiesSet();
            }
        }