Comment
Contents
[
Hide
]Comment class
Represents a comment on a slide.
class Comment : public virtual Aspose::Slides::IComment,
public Aspose::Slides::IDOMObject
Methods
Method | Description |
---|---|
virtual bool Equals(ptr) | Compares objects using C# Object.Equals semantics. |
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&) | Compares reference type objects in C# style. |
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&) | Compares value type objects in C# style. |
static bool Equals(float const&, float const&) | Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. |
static bool Equals(double const&, double const&) | Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. |
virtual bool FastCast(const Details::FastRttiBase&, void **) const | For internal purposes only. |
System::SharedPtr<ICommentAuthor> get_Author() override | Returns the author of a comment. Read-only ICommentAuthor. |
System::DateTime get_CreatedTime() override | Returns the time of a comment creation. Setting this property to DateTime::MinValue means no comment time is set. Read System::DateTime. |
System::SharedPtr<IComment> get_ParentComment() override | Gets parent comment. Read IComment. |
System::Drawing::PointF get_Position() override | Returns the position of a comment on a slide. Read System::Drawing::PointF. |
System::SharedPtr<ISlide> get_Slide() override | Returns the parent slide of a comment. Read-only ISlide. |
System::String get_Text() override | Returns the plain text of a slide comment. Read System::String. |
Detail::SmartPtrCounter * GetCounter() | Gets reference counter data structure associated with the object. |
virtual int32_t GetHashCode() const | Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. |
virtual const TypeInfo& GetType() const | Gets actual type of object. Analog of C# System.Object.GetType() call. |
virtual bool Is(const TypeInfo&) const | Check if object represents an instance of type described by targetType. Analog of C# ‘is’ operator. |
void Lock() | Implements C# lock() statement locking. Call directly or use LockContext sentry object. |
virtual ptr MemberwiseClone() const | Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. |
Object() | Creates object. Initializes all internal data structures. |
Object(Object const&) | Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses. |
Object& operator=(Object const&) | Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses. |
static bool ReferenceEquals(ptr const&, ptr const&) | Compares objects by reference. |
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&) | Compares objects by reference. |
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t) | Reference-compares value type object with nullptr. |
bool ReferenceEquals(String const&, std::nullptr_t) | Specialization of Object::ReferenceEquals for case of string and nullptr. |
bool ReferenceEquals(String const&, String const&) | Specialization of Object::ReferenceEquals for case of strings. |
void Remove() override | Removes comment and all its replies from the parent collection. |
int RemovedSharedRefs(int) | Decreases shared reference count by specified value. |
void set_CreatedTime(System::DateTime) override | Sets the time of a comment creation. Setting this property to DateTime::MinValue means no comment time is set. Write System::DateTime. |
void set_ParentComment(System::SharedPtr<IComment>) override | Sets parent comment. Write IComment. |
void set_Position(System::Drawing::PointF) override | Sets the position of a comment on a slide. Write System::Drawing::PointF. |
void set_Text(System::String) override | Sets the plain text of a slide comment. Write System::String. |
virtual void SetTemplateWeakPtr(uint32_t) | Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. |
int SharedCount() const | Gets current value of shared reference counter. |
Object * SharedRefAdded() | Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector. |
int SharedRefRemovedSafe() | Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector. |
virtual String ToString() const | Analog of C# Object.ToString() method. Enables converting custom objects to string. |
static const TypeInfo& Type() | Implements C# typeof(System.Object) construct. |
void Unlock() | Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. |
Detail::SmartPtrCounter * WeakRefAdded() | Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector. |
void WeakRefRemoved() | Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector. |
virtual ~Object() | Destroys object. Frees all internal data structures. |
Remarks
This example shows you how to add a comment to a slide in a PowerPoint presentation.
// Instantiates the Presentation class
auto presentation = System::MakeObject<Presentation>();
// Adds an empty slide
presentation->get_Slides()->AddEmptySlide(presentation->get_LayoutSlides()->idx_get(0));
// Adds an author
auto author = presentation->get_CommentAuthors()->AddAuthor(u"Jawad", u"MF");
// Sets the position for comments
System::Drawing::PointF point(0.2f, 0.2f);
// Adds slide comment for an author on slide 1
author->get_Comments()->AddComment(u"Hello Jawad, this is slide comment", presentation->get_Slides()->idx_get(0), point, System::DateTime::get_Now());
// Adds slide comment for an author on slide 2
author->get_Comments()->AddComment(u"Hello Jawad, this is second slide comment", presentation->get_Slides()->idx_get(1), point, System::DateTime::get_Now());
// Save the PowerPoint Presentation file
presentation->Save(u"Comments_out.pptx", SaveFormat::Pptx);
This example shows you how to access an existing comment on a slide in a PowerPoint presentation.
// Instantiates the Presentation class
auto presentation = System::MakeObject<Presentation>(u"Comments1.pptx");
// Iterate CommentAuthors
for (CommentAuthor&& commentAuthor : presentation->get_CommentAuthors())
{
// Iterate Comments
for (Comment&& comment : commentAuthor->get_Comments())
{
System::Console::WriteLine(System::String(u"ISlide :") + comment->get_Slide()->get_SlideNumber() +
u" has comment: " + comment->get_Text() +
u" with Author: " + comment->get_Author()->get_Name() +
u" posted on time :" + comment->get_CreatedTime() + u"\n");
}
}
This example shows you how to add comments and get replies to them.
auto pres = System::MakeObject<Presentation>();
auto slide = pres->get_Slides()->idx_get(0);
System::Drawing::PointF pos(10.0f, 10.0f);
// Adds a comment
System::SharedPtr<ICommentAuthor> author1 = pres->get_CommentAuthors()->AddAuthor(u"Author_1", u"A.A.");
System::SharedPtr<IComment> comment1 = author1->get_Comments()->AddComment(u"comment1", slide, pos, System::DateTime::get_Now());
// Adds a reply to comment1
System::SharedPtr<ICommentAuthor> author2 = pres->get_CommentAuthors()->AddAuthor(u"Autror_2", u"B.B.");
System::SharedPtr<IComment> reply1 = author2->get_Comments()->AddComment(u"reply 1 for comment 1", slide, pos, System::DateTime::get_Now());
reply1->set_ParentComment(comment1);
// Adds another reply to comment1
System::SharedPtr<IComment> reply2 = author2->get_Comments()->AddComment(u"reply 2 for comment 1", slide, pos, System::DateTime::get_Now());
reply2->set_ParentComment(comment1);
// Adds a reply to existing reply
System::SharedPtr<IComment> subReply = author1->get_Comments()->AddComment(u"subreply 3 for reply 2", slide, pos, System::DateTime::get_Now());
subReply->set_ParentComment(reply2);
System::SharedPtr<IComment> comment2 = author2->get_Comments()->AddComment(u"comment 2", slide, pos, System::DateTime::get_Now());
System::SharedPtr<IComment> comment3 = author2->get_Comments()->AddComment(u"comment 3", slide, pos, System::DateTime::get_Now());
System::SharedPtr<IComment> reply3 = author1->get_Comments()->AddComment(u"reply 4 for comment 3", pres->get_Slides()->idx_get(0), pos, System::DateTime::get_Now());
reply3->set_ParentComment(comment3);
// Displays the comments hierarchy on console
auto comments = slide->GetSlideComments(nullptr);
for (int32_t i = 0; i < comments->get_Length(); i++)
{
System::SharedPtr<IComment> comment = comments[i];
while (comment->get_ParentComment() != nullptr)
{
System::Console::Write(u"\t");
comment = comment->get_ParentComment();
}
System::Console::Write(u"{0} : {1}", comments[i]->get_Author()->get_Name(), comments[i]->get_Text());
System::Console::WriteLine();
}
pres->Save(u"parent_comment.pptx", SaveFormat::Pptx);
// Removes comment1 and all replies to it
comment1->Remove();
pres->Save(u"remove_comment.pptx", SaveFormat::Pptx);
See Also
- Class IComment
- Class IDOMObject
- Namespace Aspose::Slides
- Library Aspose.Slides