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); } } }
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; }