TUIReplyMessageCellData.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //
  2. // TUIReplyMessageCellData.h
  3. // TUIChat
  4. //
  5. // Created by harvy on 2021/11/11.
  6. // Copyright © 2023 Tencent. All rights reserved.
  7. //
  8. #import <ImSDK_Plus/ImSDK_Plus.h>
  9. #import <TIMCommon/TUIBubbleMessageCellData.h>
  10. #import "TUIChatDefine.h"
  11. #import "TUIReplyQuoteViewData.h"
  12. NS_ASSUME_NONNULL_BEGIN
  13. @class TUIReplyMessageCellData;
  14. @interface TUIReplyMessageCellData : TUIBubbleMessageCellData
  15. /**
  16. * The original message ID
  17. */
  18. @property(nonatomic, copy) NSString *__nullable originMsgID;
  19. /**
  20. * The default abstract of original message
  21. */
  22. @property(nonatomic, copy) NSString *__nullable msgAbstract;
  23. /**
  24. * The sender of original message
  25. */
  26. @property(nonatomic, copy) NSString *__nullable sender;
  27. /**
  28. * The sender of original message
  29. */
  30. @property(nonatomic, copy) NSString *__nullable faceURL;
  31. /**
  32. * The type of original message
  33. */
  34. @property(nonatomic, assign) V2TIMElemType originMsgType;
  35. /**
  36. *
  37. * Original message
  38. */
  39. @property(nonatomic, strong) V2TIMMessage *__nullable originMessage;
  40. @property(nonatomic, strong) TUIMessageCellData *originCellData;
  41. @property(nonatomic, strong) TUIReplyQuoteViewData *quoteData;
  42. @property(nonatomic, assign) BOOL showRevokedOriginMessage;
  43. /**
  44. * The content of replying the original message
  45. */
  46. @property(nonatomic, copy) NSString *content;
  47. @property(nonatomic, strong, readonly) NSAttributedString *attributeString;
  48. /**
  49. * The size of quote view, including @senderSize and @quotePlaceholderSize
  50. */
  51. @property(nonatomic, assign) CGSize quoteSize;
  52. /**
  53. * The size of label which displays the sender displayname
  54. */
  55. @property(nonatomic, assign) CGSize senderSize;
  56. /**
  57. * The size of customize quote view
  58. */
  59. @property(nonatomic, assign) CGSize quotePlaceholderSize;
  60. /**
  61. * The size of label which displays the content of replying the original message.
  62. */
  63. @property(nonatomic, assign) CGSize replyContentSize;
  64. @property(nonatomic, copy) TUIReplyAsyncLoadFinish onFinish;
  65. /**
  66. * The message ID of the root message which is replyed at first.
  67. */
  68. @property(nonatomic, copy) NSString *messageRootID;
  69. @property(nonatomic) UIColor *textColor;
  70. @property(nonatomic, strong) NSString *selectContent;
  71. @property(nonatomic, strong) NSMutableArray<NSDictionary<NSValue *, NSAttributedString *> *> *emojiLocations;
  72. // Deprecated
  73. // Search `loadOriginMessageFromReplyData` in TUIMessageDataProvider+MessageDeal
  74. //- (void)loadOriginMessage:(void(^)(void))callback;
  75. - (TUIReplyQuoteViewData *)getQuoteData:(TUIMessageCellData *)originCellData;
  76. - (CGSize)quotePlaceholderSizeWithType:(V2TIMElemType)type data:(TUIReplyQuoteViewData *)data;
  77. @end
  78. @interface TUIReferenceMessageCellData : TUIReplyMessageCellData
  79. @property(nonatomic, assign) CGSize textSize;
  80. @property(nonatomic, assign) CGPoint textOrigin;
  81. @end
  82. NS_ASSUME_NONNULL_END