search/mag_sel search/close
BuildingBlock.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 <system/string.h>
12 #include <system/guid.h>
13 
14 #include <Aspose.Words.Cpp/NodeType.h>
15 #include <Aspose.Words.Cpp/CompositeNode.h>
16 #include <Aspose.Words.Cpp/BuildingBlocks/BuildingBlockType.h>
17 #include <Aspose.Words.Cpp/BuildingBlocks/BuildingBlockGallery.h>
18 #include <Aspose.Words.Cpp/BuildingBlocks/BuildingBlockBehavior.h>
19 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
20 
21 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxGlossaryReader; } } } } }
22 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxGlossaryWriter; } } } } }
23 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class ModelBuilder; } } } } }
24 namespace Aspose { namespace Words { class SectionCollection; } }
25 namespace Aspose { namespace Words { class Section; } }
26 namespace Aspose { namespace Words { namespace BuildingBlocks { class GlossaryDocument; } } }
27 namespace Aspose { namespace Words { class DocumentVisitor; } }
28 namespace Aspose { namespace Words { enum class VisitorAction; } }
29 namespace Aspose { namespace Words { class Node; } }
30 namespace Aspose { namespace Words { class INodeCloningListener; } }
31 
32 namespace Aspose {
33 
34 namespace Words {
35 
36 namespace BuildingBlocks {
37 
147 class ASPOSE_WORDS_SHARED_CLASS BuildingBlock : public Aspose::Words::CompositeNode
148 {
149  typedef BuildingBlock ThisType;
151 
152  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
153  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
154 
155  friend class Aspose::Words::RW::Docx::Reader::DocxGlossaryReader;
156  friend class Aspose::Words::RW::Docx::Writer::DocxGlossaryWriter;
157  friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
158 
159 public:
160  using Aspose::Words::CompositeNode::Clone;
161 
162 public:
163 
208  ASPOSE_WORDS_SHARED_API Aspose::Words::NodeType get_NodeType() const override;
209 
308 
407 
506 
614  ASPOSE_WORDS_SHARED_API System::String get_Name() const;
615 
617  ASPOSE_WORDS_SHARED_API void set_Name(System::String value);
618 
721  ASPOSE_WORDS_SHARED_API System::Guid get_Guid() const;
722 
724  ASPOSE_WORDS_SHARED_API void set_Guid(System::Guid value);
725 
829  ASPOSE_WORDS_SHARED_API System::String get_Description() const;
830 
832  ASPOSE_WORDS_SHARED_API void set_Description(System::String value);
833 
942 
945 
1054  ASPOSE_WORDS_SHARED_API System::String get_Category() const;
1055 
1057  ASPOSE_WORDS_SHARED_API void set_Category(System::String value);
1058 
1158 
1161 
1265 
1267  ASPOSE_WORDS_SHARED_API void set_Type(Aspose::Words::BuildingBlocks::BuildingBlockType value);
1268 
1375 
1490  ASPOSE_WORDS_SHARED_API bool Accept(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
1491 
1492 protected:
1493 
1494  bool get_Decorated() const;
1495  void set_Decorated(bool value);
1496  System::String get_Style() const;
1497  void set_Style(System::String value);
1498 
1499  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
1500  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
1501  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Node> Clone(bool isCloneChildren, System::SharedPtr<Aspose::Words::INodeCloningListener> cloningListener) override;
1502  ASPOSE_WORDS_SHARED_API bool CanInsert(System::SharedPtr<Aspose::Words::Node> newChild) override;
1503  void SetNameSafe(System::String name);
1504  void SetCategorySafe(System::String category);
1505 
1506  virtual ASPOSE_WORDS_SHARED_API ~BuildingBlock();
1507 
1508 private:
1509 
1510  System::String mName;
1511  bool mDecorated;
1512  System::Guid mGuid;
1513  System::String mDescription;
1515  System::String mCategory;
1517  System::String mStyle;
1520 
1521  ThisType* CppMemberwiseClone() const override { return new ThisType(*this); }
1522 
1523 };
1524 
1525 }
1526 }
1527 }