Aspose::Words::Fields::FieldTC class
Contents
[
Hide
]FieldTC class
Implements the TC field. To learn more, visit the Working with Fields documentation article.
class FieldTC : public Aspose::Words::Fields::Field,
public Aspose::Words::Fields::IFieldCodeTokenInfoProvider,
public Aspose::Words::Fields::ITocEntry
Methods
Method | Description |
---|---|
FieldTC() | |
get_DisplayResult() | Gets the text that represents the displayed field result. |
get_End() const | Gets the node that represents the field end. |
get_EntryLevel() | Gets or sets the level of the entry. |
get_FieldEnd() const | Gets the node that represents the field end. |
get_FieldStart() const | Gets the node that represents the start of the field. |
get_Format() | Gets a FieldFormat object that provides typed access to field’s formatting. |
get_IsDirty() | Gets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
get_IsLocked() | Gets or sets whether the field is locked (should not recalculate its result). |
get_LocaleId() | Gets or sets the LCID of the field. |
get_OmitPageNumber() override | Gets or sets whether page number in TOC should be omitted for this field. |
get_Result() | Gets or sets text that is between the field separator and field end. |
get_Separator() | Gets the node that represents the field separator. Can be null. |
get_Start() const | Gets the node that represents the start of the field. |
get_Text() | Gets or sets the text of the entry. |
virtual get_Type() const | Gets the Microsoft Word field type. |
get_TypeIdentifier() | Gets or sets a type identifier for this field (which is typically a letter). |
GetFieldCode() | Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included. |
GetFieldCode(bool) | Returns text between field start and field separator (or field end if there is no separator). |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
Remove() | Removes the field from the document. Returns a node right after the field. If the field’s end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null. |
set_EntryLevel(const System::String&) | Setter for Aspose::Words::Fields::FieldTC::get_EntryLevel. |
set_IsDirty(bool) | Sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
set_IsLocked(bool) | Setter for Aspose::Words::Fields::Field::get_IsLocked. |
set_LocaleId(int32_t) | Setter for Aspose::Words::Fields::Field::get_LocaleId. |
set_OmitPageNumber(bool) | Setter for Aspose::Words::Fields::FieldTC::get_OmitPageNumber. |
set_Result(const System::String&) | Setter for Aspose::Words::Fields::Field::get_Result. |
set_Text(const System::String&) | Setter for Aspose::Words::Fields::FieldTC::get_Text. |
set_TypeIdentifier(const System::String&) | Setter for Aspose::Words::Fields::FieldTC::get_TypeIdentifier. |
static Type() | |
Unlink() | Performs the field unlink. |
Update() | Performs the field update. Throws if the field is being updated already. |
Update(bool) | Performs a field update. Throws if the field is being updated already. |
Examples
Shows how to insert a TOC field, and filter which TC fields end up as entries.
void FieldTocEntryIdentifier()
{
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
// Insert a TOC field, which will compile all TC fields into a table of contents.
auto fieldToc = System::ExplicitCast<FieldToc>(builder->InsertField(FieldType::FieldTOC, true));
// Configure the field only to pick up TC entries of the "A" type, and an entry-level between 1 and 3.
fieldToc->set_EntryIdentifier(u"A");
fieldToc->set_EntryLevelRange(u"1-3");
ASSERT_EQ(u" TOC \\f A \\l 1-3", fieldToc->GetFieldCode());
// These two entries will appear in the table.
builder->InsertBreak(BreakType::PageBreak);
InsertTocEntry(builder, u"TC field 1", u"A", u"1");
InsertTocEntry(builder, u"TC field 2", u"A", u"2");
ASSERT_EQ(u" TC \"TC field 1\" \\n \\f A \\l 1", doc->get_Range()->get_Fields()->idx_get(1)->GetFieldCode());
// This entry will be omitted from the table because it has a different type from "A".
InsertTocEntry(builder, u"TC field 3", u"B", u"1");
// This entry will be omitted from the table because it has an entry-level outside of the 1-3 range.
InsertTocEntry(builder, u"TC field 4", u"A", u"5");
doc->UpdateFields();
doc->Save(ArtifactsDir + u"Field.TC.docx");
}
void InsertTocEntry(SharedPtr<DocumentBuilder> builder, String text, String typeIdentifier, String entryLevel)
{
auto fieldTc = System::ExplicitCast<FieldTC>(builder->InsertField(FieldType::FieldTOCEntry, true));
fieldTc->set_OmitPageNumber(true);
fieldTc->set_Text(text);
fieldTc->set_TypeIdentifier(typeIdentifier);
fieldTc->set_EntryLevel(entryLevel);
}
See Also
- Class Field
- Namespace Aspose::Words::Fields
- Library Aspose.Words for C++