+protected:
+ // virtual MessageModelItem *createMessageModelItem(const Message &) = 0;
+
+ virtual int messageCount() const = 0;
+ virtual bool messagesIsEmpty() const = 0;
+ virtual const MessageModelItem* messageItemAt(int i) const = 0;
+ virtual MessageModelItem* messageItemAt(int i) = 0;
+ virtual const MessageModelItem* firstMessageItem() const = 0;
+ virtual MessageModelItem* firstMessageItem() = 0;
+ virtual const MessageModelItem* lastMessageItem() const = 0;
+ virtual MessageModelItem* lastMessageItem() = 0;
+ virtual void insertMessage__(int pos, const Message&) = 0;
+ virtual void insertMessages__(int pos, const QList<Message>&) = 0;
+ virtual void removeMessageAt(int i) = 0;
+ virtual void removeAllMessages() = 0;
+ virtual Message takeMessageAt(int i) = 0;
+
+ void customEvent(QEvent* event) override;