diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-08 09:23:18 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-08 09:23:18 +0000 |
| commit | da88f5f0bb5e73bc69bf7ed3962691622b1ae4f9 (patch) | |
| tree | c3686f7649785a2bfcc2c637a1588acdb8a721e8 /examples/GuiClient/messageGraphicsItem.h | |
| parent | 3431f5a37174b7eb8490672686db68df2b48e35f (diff) | |
| download | qxmpp-da88f5f0bb5e73bc69bf7ed3962691622b1ae4f9.tar.gz | |
add Gui Client example
Diffstat (limited to 'examples/GuiClient/messageGraphicsItem.h')
| -rw-r--r-- | examples/GuiClient/messageGraphicsItem.h | 63 |
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
|
