- virtual inline QTextLayout *layout() const { return _layout; }
- virtual inline void setLayout(QTextLayout *l) { _layout = l; }
- qint16 posToCursor(const QPointF &pos);
-
- virtual qreal computeHeight();
-
- QRectF _boundingRect;
+ inline QTextLayout *layout() const;
+
+ virtual QTextLayout::FormatRange selectionFormat() const;
+ virtual inline QVector<QTextLayout::FormatRange> additionalFormats() const { return QVector<QTextLayout::FormatRange>(); }
+
+ inline qint16 selectionStart() const { return _selectionStart; }
+ inline void setSelectionStart(qint16 start) { _selectionStart = start; }
+ inline qint16 selectionEnd() const { return _selectionEnd; }
+ inline void setSelectionEnd(qint16 end) { _selectionEnd = end; }
+ inline SelectionMode selectionMode() const { return _selectionMode; }
+ inline void setSelectionMode(SelectionMode mode) { _selectionMode = mode; }
+ void setSelection(SelectionMode mode, qint16 selectionStart, qint16 selectionEnd);
+
+ qint16 posToCursor(const QPointF &pos) const;
+
+ 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) {
+ _boundingRect.setWidth(width);
+ _boundingRect.setHeight(height);
+ }
+ inline void setHeight(const qreal &height) {
+ _boundingRect.setHeight(height);
+ }
+ inline void setWidth(const qreal &width) {
+ _boundingRect.setWidth(width);
+ }