Exemplo n.º 1
0
        /// <summary>
        /// Validate slide. We guarantee that Validate() will be called after BuildUp()
        /// </summary>
        public virtual void Validate(SlideLoadingContext context)
        {
            var slideLoadingContext = new SlideBuildingContext(context, this);

            foreach (var block in Blocks)
            {
                block.Validate(slideLoadingContext);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Building slide and blocks, fill properties, initialize some values. Any work we need to do before work with slide.
        /// </summary>
        public virtual void BuildUp(SlideLoadingContext context)
        {
            Meta?.FixPaths(context.SlideFile);
            Info = new SlideInfo(context.Unit, context.SlideFile);
            if (Blocks == null)
            {
                Blocks = new SlideBlock[0];
            }

            /* Validate block types. We should do it before building up blocks */
            CheckBlockTypes();

            /* ... and build blocks */
            var slideLoadingContext = new SlideBuildingContext(context, this);

            Blocks = Blocks.SelectMany(b => b.BuildUp(slideLoadingContext, ImmutableHashSet <string> .Empty)).ToArray();

            DefineBlockTypes();
        }
Exemplo n.º 3
0
 public virtual IEnumerable <SlideBlock> BuildUp(SlideBuildingContext context, IImmutableSet <string> filesInProgress)
 {
     yield return(this);
 }
Exemplo n.º 4
0
 public virtual void Validate(SlideBuildingContext slideBuildingContext)
 {
 }