search/mag_sel search/close
Run.h
1 // Copyright 2001-2021 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 <Aspose.Words.Cpp/Inline.h>
12 #include <Aspose.Words.Cpp/NodeType.h>
13 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
14 
15 namespace Aspose { namespace Words { namespace Fields { class FieldQuoteUpdater; } } }
16 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Text { class DmlTextShapeToShapeConvertor; } } } } }
17 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Math { class MathTextElement; } } } }
18 namespace Aspose { namespace Words { namespace Comparing { class ComparerNodeUtil; } } }
19 namespace Aspose { namespace Words { namespace Comparing { class StoryComparer; } } }
20 namespace Aspose { namespace Words { namespace Validation { class ComplexScriptRunUpdater; } } }
21 namespace Aspose { namespace Words { class DocumentInserter; } }
22 namespace Aspose { namespace Words { namespace Fields { class ToaEntry; } } }
23 namespace Aspose { namespace Words { class NodeEnumerator; } }
24 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlShapeToDmlShapeConverter; } } } }
25 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxRunReaderBase; } } } } }
26 namespace Aspose { namespace Words { namespace Replacing { class FindReplace; } } }
27 namespace Aspose { namespace Words { namespace Fields { class FieldAppender; } } }
28 namespace Aspose { namespace Words { namespace Fields { class FieldBarcodeUtil; } } }
29 namespace Aspose { namespace Words { namespace Revisions { class RevisionUtil; } } }
30 namespace Aspose { namespace Words { class Ruby; } }
31 namespace Aspose { namespace Words { namespace Fields { class FieldReplacer; } } }
32 namespace Aspose { namespace Words { namespace Fields { class FieldIndex; } } }
33 namespace Aspose { namespace Words { namespace Fields { class FieldTextHelper; } } }
34 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxBidiControlCharReader; } } } } }
35 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlRubyReader; } } } } }
36 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxRunWriter; } } } } }
37 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxAltChunkReader; } } } } }
38 namespace Aspose { namespace Words { namespace Fields { class FieldSymbol; } } }
39 namespace Aspose { namespace Words { namespace Fields { class ParagraphTocEntry; } } }
40 namespace Aspose { namespace Words { namespace Fields { class TocEntryNodeModifier; } } }
41 namespace Aspose { namespace Words { namespace MailMerging { class TagReplacer; } } }
42 namespace Aspose { namespace Words { class NodeRange; } }
43 namespace Aspose { namespace Words { namespace Layout { class DocumentRunSplitter; } } }
44 namespace Aspose { namespace Words { class Bookmark; } }
45 namespace Aspose { namespace Words { namespace Fields { class NewResultEnumerator; } } }
46 namespace Aspose { namespace Words { class DocumentBuilder; } }
47 namespace Aspose { namespace Words { namespace Validation { class RubyConverter; } } }
48 namespace Aspose { namespace Words { namespace RW { namespace Txt { namespace Reader { class TxtFontSetter; } } } } }
49 namespace Aspose { namespace Words { namespace Fields { class FieldRefUtil; } } }
50 namespace Aspose { namespace Words { class RunPr; } }
51 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
52 namespace Aspose { namespace Words { namespace RW { class MiscRwUtil; } } }
53 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfSpecialFieldHandler; } } } } }
54 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtParagraphReader; } } } } }
55 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtFieldReader; } } } } }
56 namespace Aspose { namespace Words { class WordUtil; } }
57 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class ModelBuilder; } } } } }
58 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlReader; } } } } }
59 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtFootnoteWriter; } } } } }
60 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfPictureHandler; } } } } }
61 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfModelBuilder; } } } } }
62 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfOleHandler; } } } } }
63 namespace Aspose { namespace Words { class DocumentBase; } }
64 namespace Aspose { namespace Words { class DocumentVisitor; } }
65 
66 namespace Aspose {
67 
68 namespace Words {
69 
182 class ASPOSE_WORDS_SHARED_CLASS Run : public Aspose::Words::Inline
183 {
184  typedef Run ThisType;
186 
187  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
188  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
189 
190  friend class Aspose::Words::Fields::FieldQuoteUpdater;
191  friend class Aspose::Words::ApsBuilder::Dml::Text::DmlTextShapeToShapeConvertor;
192  friend class Aspose::Words::ApsBuilder::Math::MathTextElement;
193  friend class Aspose::Words::Comparing::ComparerNodeUtil;
194  friend class Aspose::Words::Comparing::StoryComparer;
195  friend class Aspose::Words::Validation::ComplexScriptRunUpdater;
196  friend class Aspose::Words::DocumentInserter;
197  friend class Aspose::Words::Fields::ToaEntry;
198  friend class Aspose::Words::NodeEnumerator;
199  friend class Aspose::Words::Validation::VmlToDml::VmlShapeToDmlShapeConverter;
200  friend class Aspose::Words::RW::Nrx::Reader::NrxRunReaderBase;
201  friend class Aspose::Words::Replacing::FindReplace;
202  friend class Aspose::Words::Fields::FieldAppender;
203  friend class Aspose::Words::Fields::FieldBarcodeUtil;
204  friend class Aspose::Words::Revisions::RevisionUtil;
205  friend class Aspose::Words::Ruby;
206  friend class Aspose::Words::Fields::FieldReplacer;
208  friend class Aspose::Words::Fields::FieldTextHelper;
209  friend class Aspose::Words::RW::Docx::Reader::DocxBidiControlCharReader;
210  friend class Aspose::Words::RW::Html::Reader::HtmlRubyReader;
211  friend class Aspose::Words::RW::Nrx::Writer::NrxRunWriter;
212  friend class Aspose::Words::RW::Docx::Reader::DocxAltChunkReader;
214  friend class Aspose::Words::Fields::ParagraphTocEntry;
215  friend class Aspose::Words::Fields::TocEntryNodeModifier;
216  friend class Aspose::Words::MailMerging::TagReplacer;
217  friend class Aspose::Words::NodeRange;
218  friend class Aspose::Words::Layout::DocumentRunSplitter;
219  friend class Aspose::Words::Bookmark;
220  friend class Aspose::Words::Fields::NewResultEnumerator;
221  friend class Aspose::Words::DocumentBuilder;
222  friend class Aspose::Words::Validation::RubyConverter;
223  friend class Aspose::Words::RW::Txt::Reader::TxtFontSetter;
224  friend class Aspose::Words::Fields::FieldRefUtil;
225  friend class Aspose::Words::Inline;
226  friend class Aspose::Words::RunPr;
227  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
228  friend class Aspose::Words::RW::MiscRwUtil;
229  friend class Aspose::Words::RW::Rtf::Reader::RtfSpecialFieldHandler;
230  friend class Aspose::Words::RW::Odt::Reader::OdtParagraphReader;
231  friend class Aspose::Words::RW::Odt::Reader::OdtFieldReader;
232  friend class Aspose::Words::WordUtil;
233  friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
234  friend class Aspose::Words::RW::Html::Reader::HtmlReader;
235  friend class Aspose::Words::RW::Odt::Writer::OdtFootnoteWriter;
236  friend class Aspose::Words::RW::Rtf::Reader::RtfPictureHandler;
237  friend class Aspose::Words::RW::Rtf::Reader::RtfModelBuilder;
238  friend class Aspose::Words::RW::Rtf::Reader::RtfOleHandler;
239 
240 public:
241 
286  ASPOSE_WORDS_SHARED_API Aspose::Words::NodeType get_NodeType() const override;
287 
335  ASPOSE_WORDS_SHARED_API System::String get_Text() const;
336 
338  ASPOSE_WORDS_SHARED_API void set_Text(System::String value);
339 
396 
424 
531  ASPOSE_WORDS_SHARED_API bool Accept(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
532 
633  ASPOSE_WORDS_SHARED_API System::String GetText() override;
634 
635 protected:
636 
637  bool get_IsSymbolic();
638 
639  static System::ArrayPtr<int32_t>& KeysToIgnoreInComparisonOnJoinLtrRuns();
640  static System::ArrayPtr<int32_t>& KeysToIgnoreInComparisonOnJoinRtlRuns();
641 
643 
644  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Run, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::DocumentBase> doc, System::String text, System::SharedPtr<Aspose::Words::RunPr> runPr));
645  System::SharedPtr<Aspose::Words::Run> CutText(int32_t startIndex, int32_t length, bool isClone);
646  System::SharedPtr<Aspose::Words::Run> SplitBefore(int32_t leftPartLength);
647  System::SharedPtr<Aspose::Words::Run> SplitAfter(int32_t leftPartLength);
648  static bool IsSymbolicCharacter(System::String text);
649 
650  virtual ASPOSE_WORDS_SHARED_API ~Run();
651 
652 private:
653 
654  System::String mText;
655 
656  ThisType* CppMemberwiseClone() const override { return new ThisType(*this); }
657 
658 };
659 
660 }
661 }