/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "chatlinemodel.h"
#include "chatitem.h"
+#include "chatscene.h"
class ChatLine : public QGraphicsItem {
public:
inline ContentsChatItem &contentsItem() { return _contentsItem; }
virtual void paint (QPainter * painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
+ enum { Type = ChatScene::ChatLineType };
+ virtual inline int type() const { return Type; }
- // setColumns and setGeometryByWidth both return height
- qreal setColumns(const qreal ×tampWidth, const qreal &senderWidth, const qreal &contentsWidth,
- const QPointF &senderPos, const QPointF &contentsPos);
- qreal setGeometryByWidth(const qreal &width, const qreal &contentsWidth);
+ void setFirstColumn(const qreal ×tampWidth, const qreal &senderWidth, const QPointF &senderPos);
+ // setSecondColumn and setGeometryByWidth both also relocate the chatline.
+ // the _bottom_ position is passed via linePos. linePos is updated to the top of the chatLine.
+ void setSecondColumn(const qreal &senderWidth, const qreal &contentsWidth, const QPointF &contentsPos, qreal &linePos);
+ void setGeometryByWidth(const qreal &width, const qreal &contentsWidth, qreal &linePos);
void setSelected(bool selected, ChatLineModel::ColumnType minColumn = ChatLineModel::ContentsColumn);
void setHighlighted(bool highlighted);