search/mag_sel search/close
OleFormat.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/array.h>
12 #include <cstdint>
13 
14 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
15 
16 namespace Aspose { namespace Words { namespace Comparing { class ShapeComparer; } } }
17 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class VmlNode; } } } }
18 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverterUtil; } } } } }
19 namespace Aspose { namespace Words { namespace Validation { class ShapeValidator; } } }
20 namespace Aspose { namespace Words { class ShapeFieldRemover; } }
21 namespace Aspose { namespace Words { namespace Fields { class FieldCodeLink; } } }
22 namespace Aspose { namespace Words { class DocumentBuilder; } }
23 namespace Aspose { namespace Words { namespace Validation { class DocumentPostLoader; } } }
24 namespace Aspose { namespace Words { namespace Validation { class ShapeIdGenerator; } } }
25 namespace Aspose { namespace Words { namespace Drawing { class Shape; } } }
26 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtOleWriter; } } } } }
27 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtObjectReader; } } } } }
28 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
29 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtBinaryObjectReader; } } } } }
30 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlOleReader; } } } }
31 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class ShapeWriter; } } } } }
32 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfOleHandler; } } } } }
33 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfOleWriter; } } } } }
34 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlWriter; } } } } }
35 namespace System { class Guid; }
36 namespace Aspose { namespace Words { namespace Drawing { class OlePackage; } } }
37 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class EmbeddedObjectBase; } } } }
38 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class OleObject; } } } }
39 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class OoxmlObject; } } } }
40 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class OleLinkType; } } } }
41 namespace Aspose { namespace Words { namespace Drawing { namespace Ole { class OleControl; } } } }
42 namespace Aspose { namespace Words { namespace RW { namespace Ole { class MetafileIcon; } } } }
43 namespace Aspose { namespace Words { class IShapeAttrSource; } }
44 namespace System { namespace IO { class Stream; } }
45 namespace System { namespace IO { class MemoryStream; } }
46 
47 namespace Aspose {
48 
49 namespace Words {
50 
51 namespace Drawing {
52 
91 class ASPOSE_WORDS_SHARED_CLASS OleFormat : public System::Object
92 {
93  typedef OleFormat ThisType;
94  typedef System::Object BaseType;
95 
96  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
97  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
98 
99  friend class Aspose::Words::Comparing::ShapeComparer;
100  friend class Aspose::Words::Drawing::Core::VmlNode;
101  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverterUtil;
102  friend class Aspose::Words::Validation::ShapeValidator;
103  friend class Aspose::Words::ShapeFieldRemover;
104  friend class Aspose::Words::Fields::FieldCodeLink;
105  friend class Aspose::Words::DocumentBuilder;
106  friend class Aspose::Words::Validation::DocumentPostLoader;
107  friend class Aspose::Words::Validation::ShapeIdGenerator;
108  friend class Aspose::Words::Drawing::Shape;
109  friend class Aspose::Words::RW::Odt::Writer::OdtOleWriter;
110  friend class Aspose::Words::RW::Odt::Reader::OdtObjectReader;
111  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
112  friend class Aspose::Words::RW::Odt::Reader::OdtBinaryObjectReader;
113  friend class Aspose::Words::RW::Vml::VmlOleReader;
114  friend class Aspose::Words::RW::Doc::Writer::ShapeWriter;
115  friend class Aspose::Words::RW::Rtf::Reader::RtfOleHandler;
116  friend class Aspose::Words::RW::Rtf::Writer::RtfOleWriter;
117  friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
118 
119 public:
120 
174  ASPOSE_WORDS_SHARED_API System::String get_IconCaption();
175 
209  ASPOSE_WORDS_SHARED_API System::String get_SuggestedExtension();
210 
232  ASPOSE_WORDS_SHARED_API System::String get_SuggestedFileName();
233 
273  ASPOSE_WORDS_SHARED_API System::String get_ProgId();
274 
276  ASPOSE_WORDS_SHARED_API void set_ProgId(System::String value);
277 
330  ASPOSE_WORDS_SHARED_API bool get_IsLink();
331 
388  ASPOSE_WORDS_SHARED_API System::String get_SourceFullName();
389 
391  ASPOSE_WORDS_SHARED_API void set_SourceFullName(System::String value);
392 
451  ASPOSE_WORDS_SHARED_API System::String get_SourceItem();
452 
454  ASPOSE_WORDS_SHARED_API void set_SourceItem(System::String value);
455 
491  ASPOSE_WORDS_SHARED_API bool get_AutoUpdate();
492 
494  ASPOSE_WORDS_SHARED_API void set_AutoUpdate(bool value);
495 
553  ASPOSE_WORDS_SHARED_API bool get_OleIcon();
554 
590  ASPOSE_WORDS_SHARED_API bool get_IsLocked();
591 
593  ASPOSE_WORDS_SHARED_API void set_IsLocked(bool value);
594 
624  ASPOSE_WORDS_SHARED_API System::Guid get_Clsid();
625 
652 
677 
717  ASPOSE_WORDS_SHARED_API void Save(System::SharedPtr<System::IO::Stream> stream);
718 
756  ASPOSE_WORDS_SHARED_API void Save(System::String fileName);
757 
815 
836  ASPOSE_WORDS_SHARED_API System::ArrayPtr<uint8_t> GetRawData();
837 
838 protected:
839 
840  bool get_IsLinkNoData();
841  bool get_NeedEmbeddedPart();
846  int32_t get_OleTxid();
847  void set_OleTxid(int32_t value);
848  Aspose::Words::Drawing::Core::OleLinkType get_OleLinkType();
849  void set_OleLinkType(Aspose::Words::Drawing::Core::OleLinkType value);
850  int32_t get_FormatUpdateType();
851  void set_FormatUpdateType(int32_t value);
853 
855 
856  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(OleFormat, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::IShapeAttrSource> parent));
857  void SetOleIcon(bool isIcon);
858 
859 private:
860 
865 
866  void UpdateDrawAspectFromOleObject();
867  System::SharedPtr<System::Object> FetchAttr(int32_t key);
868  void SetAttr(int32_t key, System::SharedPtr<System::Object> value);
869 
870 };
871 
872 }
873 }
874 }