FieldStart.h
1 // Copyright 2001-2020 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/array.h>
12 #include <cstdint>
13 
14 #include "Aspose.Words.Cpp/Model/Nodes/NodeType.h"
15 #include "Aspose.Words.Cpp/Model/Fields/Nodes/FieldChar.h"
16 
17 namespace Aspose { namespace Words { namespace Comparison { class FieldComparer; } } }
18 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxFieldsWriter; } } } } }
19 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlFieldsWriter; } } } } }
20 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxFldCharReaderBase; } } } } }
21 namespace Aspose { namespace Words { namespace Fields { class FieldAppender; } } }
22 namespace Aspose { namespace Words { namespace Fields { class FieldStartFieldBuildingBlock; } } }
23 namespace Aspose { namespace Words { namespace Fields { class FieldFakeResultAppender; } } }
24 namespace Aspose { namespace Words { namespace Fields { class FieldFormDropDown; } } }
25 namespace Aspose { namespace Words { namespace Fields { class FieldUtil; } } }
26 namespace Aspose { namespace Words { namespace Fields { class FieldFormText; } } }
27 namespace Aspose { namespace Words { namespace Validation { class RubyConverter; } } }
28 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxFldSimpleReader; } } } } }
29 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
30 namespace Aspose { namespace Words { namespace RW { class MiscRwUtil; } } }
31 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtParagraphReader; } } } } }
32 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtFieldReader; } } } } }
33 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtFieldWriter; } } } } }
34 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Reader { class WmlHyperlinkReader; } } } } }
35 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxHyperlinkReader; } } } } }
36 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class ModelBuilder; } } } } }
37 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class DocWriter; } } } } }
38 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfModelBuilder; } } } } }
39 namespace Aspose { namespace Words { namespace Fields { class FormField; } } }
40 namespace Aspose { namespace Words { class DocumentBase; } }
41 namespace Aspose { namespace Words { class RunPr; } }
42 namespace Aspose { namespace Words { namespace Fields { enum class FieldType; } } }
43 namespace Aspose { namespace Words { class DocumentVisitor; } }
44 
45 namespace Aspose {
46 
47 namespace Words {
48 
49 namespace Fields {
50 
64 class ASPOSE_WORDS_SHARED_CLASS FieldStart : public Aspose::Words::Fields::FieldChar
65 {
66  typedef FieldStart ThisType;
68 
69  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
70  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
71 
72  FRIEND_FUNCTION_System_MakeObject;
73  friend class Aspose::Words::Comparison::FieldComparer;
74  friend class Aspose::Words::RW::Docx::Writer::DocxFieldsWriter;
75  friend class Aspose::Words::RW::Wml::Writer::WmlFieldsWriter;
76  friend class Aspose::Words::RW::Nrx::Reader::NrxFldCharReaderBase;
77  friend class Aspose::Words::Fields::FieldAppender;
78  friend class Aspose::Words::Fields::FieldStartFieldBuildingBlock;
79  friend class Aspose::Words::Fields::FieldFakeResultAppender;
81  friend class Aspose::Words::Fields::FieldUtil;
83  friend class Aspose::Words::Validation::RubyConverter;
84  friend class Aspose::Words::RW::Nrx::Reader::NrxFldSimpleReader;
85  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
86  friend class Aspose::Words::RW::MiscRwUtil;
87  friend class Aspose::Words::RW::Odt::Reader::OdtParagraphReader;
88  friend class Aspose::Words::RW::Odt::Reader::OdtFieldReader;
89  friend class Aspose::Words::RW::Odt::Writer::OdtFieldWriter;
90  friend class Aspose::Words::RW::Wml::Reader::WmlHyperlinkReader;
91  friend class Aspose::Words::RW::Docx::Reader::DocxHyperlinkReader;
92  friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
93  friend class Aspose::Words::RW::Doc::Writer::DocWriter;
94  friend class Aspose::Words::RW::Rtf::Reader::RtfModelBuilder;
95 
96 public:
97 
99  ASPOSE_WORDS_SHARED_API Aspose::Words::NodeType get_NodeType() const override;
100 
110  ASPOSE_WORDS_SHARED_API bool Accept(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
111 
112 protected:
113 
115  System::ArrayPtr<uint8_t> get_FieldData() const;
116  void set_FieldData(System::ArrayPtr<uint8_t> value);
117 
119 
120  virtual ASPOSE_WORDS_SHARED_API ~FieldStart();
121 
122  ASPOSE_WORDS_SHARED_API System::Object::shared_members_type GetSharedMembers() override;
123 
124 private:
125 
126  System::ArrayPtr<uint8_t> pr_FieldData;
127 
129  ThisType* CppMemberwiseClone() const override { return new ThisType(*this); }
130 
131 };
132 
133 }
134 }
135 }
bool Accept(System::SharedPtr< Aspose::Words::DocumentVisitor > visitor) override
Accepts a visitor.
@ Doc
Microsoft Word 95 or Word 97 - 2003 Document.
System::Details::SharedMembersType shared_members_type
@ Odt
ODF Text Document.
Aspose::Words::NodeType get_NodeType() const override
Returns FieldStart.
@ Nrx
Common modules that are shared between DOCX/WML reader/writer modules.
Represents a start of a Word field in a document.
Definition: FieldStart.h:65
Base class for special characters in the document.
Definition: SpecialChar.h:46
@ Rtf
RTF format.
Implements the FORMDROPDOWN field.
Definition: FieldFormDropDown.h:44
@ Words
Base class for nodes that represent field characters in a document.
Definition: FieldChar.h:112
@ FieldFormDropDown
Specifies the FORMDROPDOWN field.
FieldType
Specifies Microsoft Word field types.
Definition: FieldType.h:78
@ Docx
Office Open XML WordprocessingML Document (macro-free).
NodeType
Specifies the type of a Word document node.
Definition: NodeType.h:45
@ FormField
Implements the FORMTEXT field.
Definition: FieldFormText.h:45