From da88f5f0bb5e73bc69bf7ed3962691622b1ae4f9 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Wed, 8 Sep 2010 09:23:18 +0000 Subject: add Gui Client example --- examples/GuiClient/messageGraphicsItem.h | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 examples/GuiClient/messageGraphicsItem.h (limited to 'examples/GuiClient/messageGraphicsItem.h') diff --git a/examples/GuiClient/messageGraphicsItem.h b/examples/GuiClient/messageGraphicsItem.h new file mode 100644 index 00000000..7aafa2a7 --- /dev/null +++ b/examples/GuiClient/messageGraphicsItem.h @@ -0,0 +1,63 @@ +#ifndef MESSAGEGRAPHICSITEM_H +#define MESSAGEGRAPHICSITEM_H + +#include + +class messageGraphicsItem : public QGraphicsPathItem +{ +public: + enum Alignment + { + LEFT = 0, + RIGHT + }; + + messageGraphicsItem(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