Aspose::Slides::IGlobalLayoutSlideCollection Class Referenceabstract

Represents a collection of all layout slides in presentation. Extends ILayoutSlideCollection interface with methods for adding/cloning layout slides in context of uniting of the individual collections of master's layout slides. More...

Inherits Aspose::Slides::ILayoutSlideCollection.

Inherited by Aspose::Slides::GlobalLayoutSlideCollection.

Public Member Functions

virtual System::SharedPtr< ILayoutSlideAddClone (System::SharedPtr< ILayoutSlide > sourceLayout)=0
 Adds a copy of a specified layout slide to the presentation. More...
 
virtual System::SharedPtr< ILayoutSlideAddClone (System::SharedPtr< ILayoutSlide > sourceLayout, System::SharedPtr< IMasterSlide > destMaster)=0
 Adds a copy of a specified layout slide to the presentation. More...
 
virtual System::SharedPtr< ILayoutSlideAdd (System::SharedPtr< IMasterSlide > master, SlideLayoutType layoutType, System::String layoutName)=0
 Adds a new layout slide to the presentation. More...
 
- Public Member Functions inherited from Aspose::Slides::ILayoutSlideCollection
virtual System::SharedPtr< ILayoutSlideidx_get (int32_t index)=0
 Returns the layout slide by index. Read-only ILayoutSlide. More...
 
virtual System::SharedPtr< ILayoutSlideGetByType (SlideLayoutType type)=0
 Returns the first layout slide of specified type.

Parameters
typeA type of layout slide to find.
Returns
ILayoutSlide with specified type or null if no layouts found.
More...
 
virtual void Remove (System::SharedPtr< ILayoutSlide > value)=0
 Removes a layout from the collection. More...
 
virtual void RemoveUnused ()=0
 Removes unused layout slides (layout slides whose HasDependingSlides is false). More...
 
- Public Member Functions inherited from Aspose::Slides::IGenericCollection< System::SharedPtr< Aspose::Slides::ILayoutSlide > >
virtual int32_t get_Count ()=0
 Returns the number of behaviors in a collection. Read-only int32_t. More...
 
virtual System::SharedPtr< System::Objectget_SyncRoot ()=0
 Returns a synchronization root. Read-only object. More...
 
virtual bool get_IsSynchronized ()=0
 Returns a value indicating whether access to the collection is synchronized (thread-safe). Read-only bool. More...
 
virtual void CopyTo (System::ArrayPtr< System::SharedPtr< Aspose::Slides::ILayoutSlide > > array, int32_t index)=0
 Copies all elements from the collection into the specified array. More...
 
- Public Member Functions inherited from System::Collections::Generic::IEnumerable< System::SharedPtr< Aspose::Slides::ILayoutSlide > >
virtual SharedPtr< IEnumerator< System::SharedPtr< Aspose::Slides::ILayoutSlide > > > GetEnumerator ()=0
 
- Public Member Functions inherited from System::Object
 Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ~Object ()
 Destroys object. Frees all internal data structures. More...
 
 Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared refernce counter. More...
 
void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual int GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual String ToString () ASPOSE_CONST
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual void SetTemplateWeakPtr (unsigned int argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 
template<>
bool Equals (double const &objA, double const &objB)
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 

Additional Inherited Members

- Public Types inherited from System::Collections::Generic::IEnumerable< System::SharedPtr< Aspose::Slides::ILayoutSlide > >
typedef IEnumerator< System::SharedPtr< Aspose::Slides::ILayoutSlide > > IEnumeratorType
 Enumerator type. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
typedef System::Details::SharedMembersType shared_members_type
 structure to keep list of shared pointers contained in object. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Impleemnts C# typeof(System.Object) construct. More...
 

Detailed Description

Represents a collection of all layout slides in presentation. Extends ILayoutSlideCollection interface with methods for adding/cloning layout slides in context of uniting of the individual collections of master's layout slides.

Member Function Documentation

◆ Add()

virtual System::SharedPtr<ILayoutSlide> Aspose::Slides::IGlobalLayoutSlideCollection::Add ( System::SharedPtr< IMasterSlide master,
SlideLayoutType  layoutType,
System::String  layoutName 
)
pure virtual

Adds a new layout slide to the presentation.

Parameters
masterMaster slide for a new layout.
layoutTypeLayout type for a new layout. Supported layout types: Title, TitleOnly, Blank, TitleAndObject, VerticalText, VerticalTitleAndText, TwoObjects, SectionHeader, TwoTextAndTwoObjects, TitleObjectAndCaption, PictureAndCaption, Custom. Other layout types are not supported now: Text, TwoColumnText, Table, TextAndChart, ChartAndText, Diagram, Chart, TextAndClipArt, ClipArtAndText, TextAndObject, ObjectAndText, Object, TextAndMedia, MediaAndText, ObjectOverText, TextOverObject, TextAndTwoObjects, TwoObjectsAndText, TwoObjectsOverText, FourObjects, ClipArtAndVerticalText, VerticalTitleAndTextOverChart, ObjectAndTwoObject, TwoObjectsAndObject.
layoutNameName for a new layout. If passed name is already in use the ArgumentException will be thrown. If null parameter is passed then name genarated atomatically in regards to passed layout type (for example "Title Slide" or "1_Title Slide", "2_..", etc.).
Exceptions
NotImplementedExceptionThrown if unsupported value of parameter layoutType is passed. Layout types that are not supported now: Text, TwoColumnText, Table, TextAndChart, ChartAndText, Diagram, Chart, TextAndClipArt, ClipArtAndText, TextAndObject, ObjectAndText, Object, TextAndMedia, MediaAndText, ObjectOverText, TextOverObject, TextAndTwoObjects, TwoObjectsAndText, TwoObjectsOverText, FourObjects, ClipArtAndVerticalText, VerticalTitleAndTextOverChart, ObjectAndTwoObject, TwoObjectsAndObject.
ArgumentNullExceptionThrown if master is null.
ArgumentExceptionThrown if master belongs to the other presentation.
ArgumentExceptionThrown if layout name value layoutName is already in use in collection of the layouts of master .

1) Added layout for value SlideLayoutType.Custom of layoutType contains no placeholders and no shapes. 2) Analogue of this method is method IMasterLayoutSlideCollection::Add(SlideLayoutType, string) accessed with IMasterSlide::LayoutSlides property.

Returns
Added slide.

Implemented in Aspose::Slides::GlobalLayoutSlideCollection.

◆ AddClone() [1/2]

virtual System::SharedPtr<ILayoutSlide> Aspose::Slides::IGlobalLayoutSlideCollection::AddClone ( System::SharedPtr< ILayoutSlide sourceLayout)
pure virtual

Adds a copy of a specified layout slide to the presentation.

Parameters
sourceLayoutSlide to clone.
Returns
Added slide.

When cloning a layout between different presentations layout's master can be cloned too to keep source formatting. Internal registry is used to track automatically cloned masters to prevent creation of multiple clones of the same master slide. Manual cloning of master slides will be neither prevented nor registered.

Implemented in Aspose::Slides::GlobalLayoutSlideCollection.

◆ AddClone() [2/2]

virtual System::SharedPtr<ILayoutSlide> Aspose::Slides::IGlobalLayoutSlideCollection::AddClone ( System::SharedPtr< ILayoutSlide sourceLayout,
System::SharedPtr< IMasterSlide destMaster 
)
pure virtual

Adds a copy of a specified layout slide to the presentation.

Parameters
sourceLayoutSlide to clone.
destMasterMaster slide for a new layout.
Returns
Added slide.

New layout will be linked with defined master in destination presentation. So this is analogue of copy/paste with "Use Destination Theme" option in PowerPoint.

Implemented in Aspose::Slides::GlobalLayoutSlideCollection.