11 #include <system/string.h>
12 #include <system/collections/list.h>
13 #include <system/collections/ienumerable.h>
16 #include <Aspose.Words.Cpp/Lists/ListTemplate.h>
17 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
19 namespace System {
namespace Collections {
namespace Generic {
template <
typename>
class IEnumerator; } } }
20 namespace Aspose {
namespace Words {
namespace Lists {
class List; } } }
21 namespace Aspose {
namespace Words {
namespace Lists {
class ListNumberingRestarter; } } }
22 namespace Aspose {
namespace Words {
namespace ApsBuilder {
namespace Dml {
namespace Text {
class DmlTextShapeToShapeConvertor; } } } } }
23 namespace Aspose {
namespace Words {
namespace Layout {
class ParagraphPrConverter; } } }
24 namespace Aspose {
namespace Words {
namespace Comparing {
class FormattingComparer; } } }
25 namespace Aspose {
namespace Words {
namespace Validation {
class DuplicateStyleRemover; } } }
26 namespace Aspose {
namespace Words {
namespace Validation {
class StyleIstdNormalizer; } } }
27 namespace Aspose {
namespace Words {
namespace RW {
namespace Dml {
namespace Writer {
class DmlShapeValidator; } } } } }
28 namespace Aspose {
namespace Words {
class DocumentInserter; } }
29 namespace Aspose {
namespace Words {
namespace Fields {
class HiddenParagraphTocEntry; } } }
30 namespace Aspose {
namespace Words {
namespace Formatting {
namespace Intern {
class InternManager; } } } }
31 namespace Aspose {
namespace Words {
namespace RW {
namespace Markdown {
namespace Reader {
class MarkdownReaderContext; } } } } }
32 namespace Aspose {
namespace Words {
namespace RW {
namespace Markdown {
namespace Writer {
class MarkdownParagraphWriter; } } } } }
33 namespace Aspose {
namespace Words {
namespace Validation {
class DocumentCleaner; } } }
34 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
namespace Word60 {
class Word60ListHelper; } } } } } }
35 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
class ListReader; } } } } }
36 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Writer {
class ListWriter; } } } } }
37 namespace Aspose {
namespace Words {
class DocumentBase; } }
38 namespace Aspose {
namespace Words {
namespace Validation {
class ListValidator; } } }
39 namespace Aspose {
namespace Words {
class Style; } }
40 namespace Aspose {
namespace Words {
namespace Validation {
class DocumentPostLoader; } } }
41 namespace Aspose {
namespace Words {
namespace Validation {
class RunPrCollectorBase; } } }
42 namespace Aspose {
namespace Words {
namespace Validation {
class ShapeIdGenerator; } } }
43 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Dofr {
class DofrFiler; } } } } }
44 namespace Aspose {
namespace Words {
namespace Fields {
class FieldNumListLabelUpdater; } } }
45 namespace Aspose {
namespace Words {
class NodeImporter; } }
46 namespace Aspose {
namespace Words {
namespace Lists {
class ListFactory; } } }
47 namespace Aspose {
namespace Words {
namespace Lists {
class ListLevel; } } }
48 namespace Aspose {
namespace Words {
namespace MailMerging {
class MailMerge; } } }
49 namespace Aspose {
namespace Words {
class StyleCollection; } }
50 namespace Aspose {
namespace Words {
namespace Lists {
class ListFormat; } } }
52 namespace Aspose {
namespace Words {
namespace RW {
namespace Docx {
namespace Reader {
class DocxDocumentReaderBase; } } } } }
53 namespace Aspose {
namespace Words {
namespace RW {
namespace Nrx {
namespace Reader {
class NrxDocumentReaderBase; } } } } }
54 namespace Aspose {
namespace Words {
namespace RW {
namespace Odt {
namespace Reader {
class OdtListStyleReader; } } } } }
55 namespace Aspose {
namespace Words {
namespace RW {
namespace Txt {
namespace Reader {
class TxtReader; } } } } }
56 namespace Aspose {
namespace Words {
namespace RW {
namespace Odt {
namespace Reader {
class OdtParagraphReader; } } } } }
57 namespace Aspose {
namespace Words {
namespace RW {
namespace Docx {
namespace Reader {
class DocxNumberingReader; } } } } }
58 namespace Aspose {
namespace Words {
namespace RW {
namespace Docx {
namespace Writer {
class DocxNumberingWriter; } } } } }
59 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
class ModelBuilder; } } } } }
60 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
class Parser; } } } } }
61 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Writer {
class DocWriter; } } } } }
62 namespace Aspose {
namespace Words {
namespace RW {
namespace Html {
namespace Reader {
class HtmlListReader; } } } } }
63 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfPictureBulletHandler; } } } } }
64 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfGroupState; } } } } }
65 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfLegacyListHandler; } } } } }
66 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfListOverrideTableHandler; } } } } }
67 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfListTableHandler; } } } } }
68 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfParaPrReader; } } } } }
69 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfReader; } } } } }
70 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfReaderContext; } } } } }
71 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Writer {
class RtfListTableWriter; } } } } }
72 namespace Aspose {
namespace Words {
namespace RW {
namespace Wml {
namespace Reader {
class WmlListsReader; } } } } }
73 namespace Aspose {
namespace Words {
namespace RW {
namespace Wml {
namespace Reader {
class WmlReader; } } } } }
74 namespace Aspose {
namespace Words {
namespace RW {
namespace Wml {
namespace Writer {
class WmlWriter; } } } } }
75 namespace Aspose {
namespace Collections {
class IntToIntDictionary; } }
76 namespace Aspose {
namespace Words {
namespace Lists {
class ListDef; } } }
78 namespace Aspose {
namespace Words {
namespace Lists {
enum class ListType; } } }
79 namespace Aspose {
namespace Words {
class INodeCloningListener; } }
80 namespace Aspose {
namespace Words {
class ImportContext; } }
81 namespace Aspose {
namespace Words {
class ParaPr; } }
254 ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
256 friend class Aspose::Words::Lists::ListNumberingRestarter;
257 friend class Aspose::Words::ApsBuilder::Dml::Text::DmlTextShapeToShapeConvertor;
258 friend class Aspose::Words::Layout::ParagraphPrConverter;
259 friend class Aspose::Words::Comparing::FormattingComparer;
260 friend class Aspose::Words::Validation::DuplicateStyleRemover;
261 friend class Aspose::Words::Validation::StyleIstdNormalizer;
262 friend class Aspose::Words::RW::Dml::Writer::DmlShapeValidator;
263 friend class Aspose::Words::DocumentInserter;
264 friend class Aspose::Words::Fields::HiddenParagraphTocEntry;
265 friend class Aspose::Words::Formatting::Intern::InternManager;
266 friend class Aspose::Words::RW::Markdown::Reader::MarkdownReaderContext;
267 friend class Aspose::Words::RW::Markdown::Writer::MarkdownParagraphWriter;
268 friend class Aspose::Words::Validation::DocumentCleaner;
269 friend class Aspose::Words::RW::Doc::Reader::Word60::Word60ListHelper;
270 friend class Aspose::Words::RW::Doc::Reader::ListReader;
271 friend class Aspose::Words::RW::Doc::Writer::ListWriter;
273 friend class Aspose::Words::Validation::ListValidator;
275 friend class Aspose::Words::Validation::DocumentPostLoader;
276 friend class Aspose::Words::Validation::RunPrCollectorBase;
277 friend class Aspose::Words::Validation::ShapeIdGenerator;
278 friend class Aspose::Words::RW::Doc::Dofr::DofrFiler;
279 friend class Aspose::Words::Fields::FieldNumListLabelUpdater;
282 friend class Aspose::Words::Lists::ListFactory;
288 friend class Aspose::Words::RW::Docx::Reader::DocxDocumentReaderBase;
289 friend class Aspose::Words::RW::Nrx::Reader::NrxDocumentReaderBase;
290 friend class Aspose::Words::RW::Odt::Reader::OdtListStyleReader;
291 friend class Aspose::Words::RW::Txt::Reader::TxtReader;
292 friend class Aspose::Words::RW::Odt::Reader::OdtParagraphReader;
293 friend class Aspose::Words::RW::Docx::Reader::DocxNumberingReader;
294 friend class Aspose::Words::RW::Docx::Writer::DocxNumberingWriter;
295 friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
296 friend class Aspose::Words::RW::Doc::Reader::Parser;
297 friend class Aspose::Words::RW::Doc::Writer::DocWriter;
298 friend class Aspose::Words::RW::Html::Reader::HtmlListReader;
299 friend class Aspose::Words::RW::Rtf::Reader::RtfPictureBulletHandler;
300 friend class Aspose::Words::RW::Rtf::Reader::RtfGroupState;
301 friend class Aspose::Words::RW::Rtf::Reader::RtfLegacyListHandler;
302 friend class Aspose::Words::RW::Rtf::Reader::RtfListOverrideTableHandler;
303 friend class Aspose::Words::RW::Rtf::Reader::RtfListTableHandler;
304 friend class Aspose::Words::RW::Rtf::Reader::RtfParaPrReader;
305 friend class Aspose::Words::RW::Rtf::Reader::RtfReader;
306 friend class Aspose::Words::RW::Rtf::Reader::RtfReaderContext;
307 friend class Aspose::Words::RW::Rtf::Writer::RtfListTableWriter;
308 friend class Aspose::Words::RW::Wml::Reader::WmlListsReader;
309 friend class Aspose::Words::RW::Wml::Reader::WmlReader;
310 friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
776 int32_t get_ListDefCount();
777 int32_t get_PictureBulletCount();
778 System::SharedPtr<System::Object> get_NumIdMacAtCleanup() const;
779 void set_NumIdMacAtCleanup(System::SharedPtr<System::Object> value);
780 System::SharedPtr<
Aspose::Collections::IntToIntDictionary> get_ListIdTranslationTable() const;
781 System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::Lists::ListDef>>> get_ListDefs() const;
786 System::SharedPtr<
Aspose::Words::Lists::
List> AddCopy(System::SharedPtr<
Aspose::Words::Lists::
List> srcList,
bool isImport);
787 System::SharedPtr<
Aspose::Words::Lists::
List> FetchListByListId(int32_t listId);
788 System::SharedPtr<
Aspose::Words::Lists::
List> FetchListByListIdResolveStyleReference(int32_t listId);
789 System::SharedPtr<
Aspose::Words::Lists::
List> AddEmpty(
Aspose::Words::Lists::ListType listType);
790 void AddList(System::SharedPtr<
Aspose::Words::Lists::
List> list);
791 void AddListDef(System::SharedPtr<
Aspose::Words::Lists::ListDef> listDef);
792 System::SharedPtr<
Aspose::Words::Lists::ListDef> GetListDefByIndex(int32_t index);
793 System::SharedPtr<
Aspose::Words::Lists::ListDef> GetListDefByListDefId(int32_t listDefId);
794 System::SharedPtr<
Aspose::Words::Lists::ListDef> FetchListDefByListDefId(int32_t listDefId);
795 int32_t GetIndexOfListDefByListDefId(int32_t listDefId);
797 int32_t ImportList(System::SharedPtr<
Aspose::Words::ImportContext> context, int32_t srcListId);
798 int32_t CopyList(int32_t srcListId, System::SharedPtr<
Aspose::Words::ImportContext> context);
799 int32_t MakeUniquieListDefId();
800 int32_t GetNextAvailableListDefId();
801 int32_t GetNextAvailableListId();
803 System::SharedPtr<
Aspose::Words::Lists::
List> idx_get(System::String listDefName);
806 int32_t AddPictureBullet(System::SharedPtr<
Aspose::Words::Drawing::Shape> shape);
807 System::SharedPtr<
Aspose::Words::Drawing::Shape> GetPictureBullet(int32_t index);
808 void SetPictureBullet(int32_t index, System::SharedPtr<
Aspose::Words::Drawing::Shape> value);
809 void ExpandDirectList(System::SharedPtr<
Aspose::Words::ParaPr> srcParaPr, System::SharedPtr<
Aspose::Words::ParaPr> dstParaPr);
810 System::SharedPtr<
Aspose::Words::Lists::
ListLevel> GetDirectListLevel(System::SharedPtr<
Aspose::Words::ParaPr> paraPr);
812 void RemoveCore(int32_t listId);
813 int32_t GetTranslatedListId(int32_t listId);
814 void RemoveTranslation();
815 void ClearListStyleReferencesLevels();
816 void FixUpListsWithCircularReferences();
823 System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::Lists::
List>>> mLists;
824 System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::Lists::ListDef>>> mListDefs;
825 System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::Drawing::Shape>>> mPictureBullets;
826 System::SharedPtr<
Aspose::Collections::IntToIntDictionary> mListIdTranslationTable;
827 int32_t mMaxUsedListId;
828 int32_t mMaxUsedListDefId;
829 System::SharedPtr<System::Object> mNumIdMacAtCleanup;
831 System::SharedPtr<
Aspose::Words::Lists::ListDef> AddEmptyListDef(
Aspose::Words::Lists::ListType listType, int32_t listDefId);
832 int32_t ImportList(System::SharedPtr<
Aspose::Words::ImportContext> context, int32_t srcListId,
bool isImportListStyle);
833 bool ImportListCore(System::SharedPtr<
Aspose::Words::ImportContext> context, System::SharedPtr<
Aspose::Words::Lists::
List> srcList);
834 static
void ImportLinkedParagraphStyle(System::SharedPtr<
Aspose::Words::ImportContext> context, System::SharedPtr<
Aspose::Words::Lists::
ListLevel> srcLevel, System::SharedPtr<
Aspose::Words::Lists::
ListLevel> dstLevel);
835 static
void CopyLinkedParagraphStyle(System::SharedPtr<
Aspose::Words::ImportContext> context, System::SharedPtr<
Aspose::Words::Lists::
ListLevel> srcLevel, System::SharedPtr<
Aspose::Words::Lists::
ListLevel> dstLevel);
836 static
void ImportPictureBullet(System::SharedPtr<
Aspose::Words::ImportContext> context, System::SharedPtr<
Aspose::Words::Lists::
ListLevel> srcLevel, System::SharedPtr<
Aspose::Words::Lists::
ListLevel> dstLevel);
837 System::SharedPtr<
Aspose::Words::Lists::
List> FindListWithEqualDefIdAndOverrides(System::SharedPtr<
Aspose::Words::Lists::
List> refList);
838 static
void RemoveListDefFromCircularReference(System::SharedPtr<
Aspose::Words::Lists::ListDef> listDef, System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::
Style>>> circularStyles);
839 static System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::Lists::ListDef>>> GetListDefsWithCircularReferences(System::SharedPtr<System::Collections::Generic::
List<System::SharedPtr<
Aspose::Words::Lists::ListDef>>> listDefs, System::SharedPtr<
Aspose::Words::Lists::ListDef> listDef);
840 static
void ClearFirstListTabStop(System::SharedPtr<
Aspose::Words::ParaPr> paraPr);