summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/Whiteboard/GView.cpp')
-rw-r--r--Swift/QtUI/Whiteboard/GView.cpp36
1 files changed, 22 insertions, 14 deletions
diff --git a/Swift/QtUI/Whiteboard/GView.cpp b/Swift/QtUI/Whiteboard/GView.cpp
index 588f369..fe0e5f9 100644
--- a/Swift/QtUI/Whiteboard/GView.cpp
+++ b/Swift/QtUI/Whiteboard/GView.cpp
@@ -55,6 +55,14 @@ namespace Swift {
items_.insert(id, item);
}
+ void GView::setIDPrefix(QString prefix) {
+ idPrefix = prefix;
+ }
+
+ QString GView::getNewID() {
+ return idPrefix + P2QSTRING(idGenerator.generateID());
+ }
+
void GView::mouseMoveEvent(QMouseEvent* event)
{
if (!mousePressed) {
@@ -168,20 +176,20 @@ namespace Swift {
if (mode == Line) {
QPointF point = this->mapToScene(event->pos());
QGraphicsItem* item = scene()->addLine(point.x(), point.y(), point.x(), point.y(), pen);
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setZValue(zValue++);
- item->setData(0, id);
+ item->setData(100, id);
lastItem = item;
}
else if (mode == Rect) {
QPointF point = this->mapToScene(event->pos());
QGraphicsRectItem* item = scene()->addRect(point.x(), point.y(), 0, 0, pen, brush);
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setZValue(zValue++);
item->setData(0, point);
- item->setData(1, id);
+ item->setData(100, id);
lastItem = item;
}
else if (mode == Rubber) {
@@ -199,22 +207,22 @@ namespace Swift {
else if (mode == Circle) {
QPointF point = this->mapToScene(event->pos());
QGraphicsEllipseItem* item = scene()->addEllipse(point.x(), point.y(), 0, 0, pen, brush);
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setZValue(zValue++);
item->setData(0, point);
- item->setData(1, id);
+ item->setData(100, id);
lastItem = item;
}
else if (mode == HandLine) {
QPointF point = this->mapToScene(event->pos());
FreehandLineItem* item = new FreehandLineItem;
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setPen(pen);
item->setStartPoint(point);
item->setZValue(zValue++);
- item->setData(0, id);
+ item->setData(100, id);
scene()->addItem(item);
lastItem = item;
}
@@ -222,20 +230,20 @@ namespace Swift {
QPointF point = this->mapToScene(event->pos());
QPainterPath path;
QGraphicsPathItem* item = scene()->addPath(path, pen, brush);
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setZValue(zValue++);
item->setData(0, point);
- item->setData(1, id);
+ item->setData(100, id);
lastItem = item;
}
else if (mode == Text) {
QPointF point = this->mapToScene(event->pos());
QGraphicsTextItem* item = scene()->addText("");
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setZValue(zValue++);
- item->setData(0, id);
+ item->setData(100, id);
item->setDefaultTextColor(pen.color());
textDialog = new TextDialog(item, this);
connect(textDialog, SIGNAL(accepted(QGraphicsItem*)), this, SIGNAL(lastItemChanged(QGraphicsItem*)));
@@ -252,10 +260,10 @@ namespace Swift {
polygon.append(point);
polygon.append(point);
item = scene()->addPolygon(polygon, pen, brush);
- QString id = P2QSTRING(idGenerator.generateID());
+ QString id = getNewID();
items_.insert(id, item);
item->setZValue(zValue++);
- item->setData(0, id);
+ item->setData(100, id);
lastItem = item;
}
else {