inline const MessageModel *model() const { return _index.isValid() ? qobject_cast<const MessageModel *>(_index.model()) : 0; }
inline int row() const { return _index.isValid() ? _index.row() : 0; }
inline const MessageModel *model() const { return _index.isValid() ? qobject_cast<const MessageModel *>(_index.model()) : 0; }
inline int row() const { return _index.isValid() ? _index.row() : 0; }
inline virtual QRectF boundingRect() const { return _boundingRect; }
inline qreal width() const { return _boundingRect.width(); }
inline qreal height() const { return _boundingRect.height(); }
inline bool haveLayout() const { return _layout != 0; }
void clearLayout();
inline virtual QRectF boundingRect() const { return _boundingRect; }
inline qreal width() const { return _boundingRect.width(); }
inline qreal height() const { return _boundingRect.height(); }
inline bool haveLayout() const { return _layout != 0; }
void clearLayout();
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QVariant data(int role) const;
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QVariant data(int role) const;