aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/messageGraphicsItem.h
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-08 09:23:18 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-08 09:23:18 +0000
commitda88f5f0bb5e73bc69bf7ed3962691622b1ae4f9 (patch)
treec3686f7649785a2bfcc2c637a1588acdb8a721e8 /examples/GuiClient/messageGraphicsItem.h
parent3431f5a37174b7eb8490672686db68df2b48e35f (diff)
downloadqxmpp-da88f5f0bb5e73bc69bf7ed3962691622b1ae4f9.tar.gz
add Gui Client example
Diffstat (limited to 'examples/GuiClient/messageGraphicsItem.h')
-rw-r--r--examples/GuiClient/messageGraphicsItem.h63
1 files changed, 63 insertions, 0 deletions
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 <QGraphicsPathItem>
+
+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