Ejemplo n.º 1
0
        private void ProcessMarker(ConceptualGroupContext conceptualContext,
                                   BuildContext context)
        {
            IList <ConceptualMarkerTopic> markerTopics = conceptualContext.MarkerTopics;

            BuildTocContext tocContext = context.TocContext;

            ConceptualGroupTocInfo groupTocInfo =
                tocContext.Items[conceptualContext.Id] as ConceptualGroupTocInfo;

            if (groupTocInfo == null)
            {
                return;
            }

            for (int i = 0; i < markerTopics.Count; i++)
            {
                ConceptualMarkerTopic markerTopic = markerTopics[i];

                if (conceptualContext.Exclude(markerTopic))
                {
                    this.RemoveMarker(groupTocInfo, markerTopic, context);
                }
                else
                {
                    this.ProcessMarker(groupTocInfo, markerTopic, context);
                }
            }
        }
Ejemplo n.º 2
0
        private void ProcessMarkers(BuildContext context)
        {
            BuildTocContext tocContext = context.TocContext;

            tocContext.LoadAll();

            IBuildNamedList <BuildGroupContext> groupContexts = context.GroupContexts;

            for (int i = 0; i < groupContexts.Count; i++)
            {
                BuildGroupContext groupContext = groupContexts[i];
                if (groupContext.GroupType == BuildGroupType.Conceptual)
                {
                    ConceptualGroupContext conceptualContext =
                        (ConceptualGroupContext)groupContext;

                    if (conceptualContext.HasMarkers)
                    {
                        this.ProcessMarker(conceptualContext, context);
                    }
                }
            }

            if (_pendindDelete != null && _pendindDelete.Count != 0)
            {
                for (int i = 0; i < _pendindDelete.Count; i++)
                {
                    _pendindDelete[i].RemoveTopic();
                }
            }

            _pendindDelete = null;

            tocContext.SaveAll();

            // Reset the markers state, since it is handled...
            context["$HelpTocMarkers"] = Boolean.FalseString;
        }