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/chatGraphicsView.cpp | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 examples/GuiClient/chatGraphicsView.cpp (limited to 'examples/GuiClient/chatGraphicsView.cpp') diff --git a/examples/GuiClient/chatGraphicsView.cpp b/examples/GuiClient/chatGraphicsView.cpp new file mode 100644 index 00000000..786cc24f --- /dev/null +++ b/examples/GuiClient/chatGraphicsView.cpp @@ -0,0 +1,43 @@ +#include "chatGraphicsView.h" +#include "chatGraphicsScene.h" +#include + +chatGraphicsView::chatGraphicsView(QWidget* parent) : QGraphicsView(parent) +{ + setAlignment(Qt::AlignHCenter|Qt::AlignTop); + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setFrameStyle(QFrame::NoFrame); +} + +void chatGraphicsView::setChatGraphicsScene(chatGraphicsScene* scene) +{ + m_scene = scene; + setScene(m_scene); +} + +void chatGraphicsView::addMessage(const QString& user, const QString& message) +{ + if(m_scene) + m_scene->addMessage(user, message); + + QRectF rect = scene()->sceneRect(); + rect.adjust(-4, -4, 4, 4); + setSceneRect(rect); + + rect = sceneRect(); + rect.setTop(sceneRect().height() - 20); + rect.setWidth(20); + ensureVisible(rect, 50, 50); +} + +void chatGraphicsView::resizeEvent(QResizeEvent *event) +{ +// pass this to scene + m_scene->setWidthResize(event->size().width(), event->oldSize().width()); + QGraphicsView::resizeEvent(event); + + QRectF rect = scene()->sceneRect(); + rect.adjust(-4, -4, 4, 4); + setSceneRect(rect); +} -- cgit v1.2.3