From abc6cea5b1bc3018ee20c6a0dd6272059fc34169 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Mon, 11 Oct 2010 15:17:44 +0000 Subject: align class name --- examples/GuiClient/chatMsgGraphicsItem.h | 87 ++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 examples/GuiClient/chatMsgGraphicsItem.h (limited to 'examples/GuiClient/chatMsgGraphicsItem.h') diff --git a/examples/GuiClient/chatMsgGraphicsItem.h b/examples/GuiClient/chatMsgGraphicsItem.h new file mode 100644 index 00000000..b035ab4e --- /dev/null +++ b/examples/GuiClient/chatMsgGraphicsItem.h @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2008-2010 The QXmpp developers + * + * Author: + * Manjeet Dahiya + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + + +#ifndef MESSAGEGRAPHICSITEM_H +#define MESSAGEGRAPHICSITEM_H + +#include + +class chatMsgGraphicsItem : public QGraphicsPathItem +{ +public: + enum Alignment + { + LEFT = 0, + RIGHT + }; + + chatMsgGraphicsItem(QGraphicsItem * parent = 0); + void setText(const QString& text); + void setName(const QString& name); + QString getName() const; + QString getText() const; + + void setMaxWidth(int width); + int getMaxWidth() const; + void setViewWidth(int viewWidth); + + void setAlignment(Alignment align); + + void setBoxStartLength(int length); + int getBoxStartLength() const; + + void setColor(const QColor&); + + virtual QRectF boundingRect() const; + +private: + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + QPainterPath createPath(); + int getTextWidth() const; + void calculateWidth(); + QString getTime() const; + + // max width of bubble including the spike + int m_maxWidth; + + // actual width + int m_width; + + // height of bubble + int m_height; + int m_spikeWidth; + int m_spikeHeight; + int m_cornerRadius; + int m_textSpacing; + int m_boxStartLength; + int m_timeStampWidth; + QColor m_color; + + QString m_text; + QString m_name; + int m_length; + Alignment m_alignment; +}; + +#endif // MESSAGEGRAPHICSITEM_H -- cgit v1.2.3