+ inline bool hasPrivateData() const { return (bool)_data; }
+ ChatItemPrivate *privateData() const;
+ virtual inline ChatItemPrivate *newPrivateData();
+
+ // WARNING: setGeometry and setHeight should not be used without either:
+ // a) calling prepareGeometryChange() immediately before setColumns()
+ // b) calling Chatline::setPos() immediately afterwards
+ inline void setGeometry(qreal width, qreal height) {
+ prepareGeometryChange();
+ _boundingRect.setWidth(width);
+ _boundingRect.setHeight(height);
+ }
+ inline void setHeight(const qreal &height) {
+ prepareGeometryChange();
+ _boundingRect.setHeight(height);
+ }
+ inline void setWidth(const qreal &width) {
+ prepareGeometryChange();
+ _boundingRect.setWidth(width);
+ }