/// <summary> /// Insert a index entry to the template. /// You can define the order through the order you insert /// the index entry types. /// </summary> /// <param name="indexEntryType">Type of the index entry.</param> public void InsertIndexEntry(IndexEntryTypes indexEntryType) { if (indexEntryType == IndexEntryTypes.Chapter) { this.AddIndexEntryNode("index-entry-chapter", indexEntryType); } else if (indexEntryType == IndexEntryTypes.Text) { this.AddIndexEntryNode("index-entry-text", indexEntryType); } else if (indexEntryType == IndexEntryTypes.TabStop) { this.AddIndexEntryNode("index-entry-tab-stop", indexEntryType); } else if (indexEntryType == IndexEntryTypes.PageNumber) { this.AddIndexEntryNode("index-entry-page-number", indexEntryType); } else if (indexEntryType == IndexEntryTypes.HyperlinkStart) { this.AddIndexEntryNode("index-entry-link-start", indexEntryType); } else if (indexEntryType == IndexEntryTypes.HyperlinkEnd) { this.AddIndexEntryNode("index-entry-link-end", indexEntryType); } }
/// <summary> /// Add the index entry node, with given type /// </summary> /// <param name="nodeName">Name of the node.</param> /// <param name="indexEntryType">Type of the index entry.</param> private void AddIndexEntryNode(string nodeName, IndexEntryTypes indexEntryType) { XElement indexEntryNode = new XElement(Ns.Text + nodeName); if (indexEntryType == IndexEntryTypes.TabStop) { //Fixed to be right align indexEntryNode.SetAttributeValue(Ns.Style + "type", "right"); //Fixed usage of . indexEntryNode.SetAttributeValue(Ns.Style + "leader-char", "."); } Node.Add(indexEntryNode); }
/// <summary> /// Add the index entry node, with given type /// </summary> /// <param name="nodeName">Name of the node.</param> /// <param name="indexEntryType">Type of the index entry.</param> private void AddIndexEntryNode(string nodeName, IndexEntryTypes indexEntryType) { XmlNode indexEntryNode = this.TableOfContents.Document.CreateNode( nodeName, "text"); if (indexEntryType == IndexEntryTypes.TabStop) { XmlAttribute xa = this.TableOfContents.Document.CreateAttribute( "type", "style"); //Fixed to be right align xa.Value = "right"; indexEntryNode.Attributes.Append(xa); xa = this.TableOfContents.Document.CreateAttribute( "leader-char", "style"); //Fixed usage of . xa.Value = "."; indexEntryNode.Attributes.Append(xa); } this.Node.AppendChild(indexEntryNode); }