+/*************************************************************************************************/
+
+//! A ChatItem for the sender column
+class SenderChatItem : public ChatItem {
+
+public:
+ SenderChatItem(QAbstractItemModel *model, QGraphicsItem *parent) : ChatItem(column(), model, parent) {}
+ inline ChatLineModel::ColumnType column() const { return ChatLineModel::SenderColumn; }
+
+ virtual void updateLayout();
+};
+
+/*************************************************************************************************/
+
+//! A ChatItem for the contents column
+class ContentsChatItem : public ChatItem {
+
+public:
+ ContentsChatItem(QAbstractItemModel *model, QGraphicsItem *parent);
+ virtual ~ContentsChatItem();
+
+ inline ChatLineModel::ColumnType column() const { return ChatLineModel::ContentsColumn; }
+
+ virtual void clearLayout();
+ virtual void updateLayout();
+ virtual inline bool haveLayout() const { return _layoutData != 0 && layout() != 0; }
+
+protected:
+ virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
+ virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
+ virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
+ virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);