[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [rocs] /: Cleanup communication between Document and GraphScene.
From: Andreas Cord-Landwehr <cola () uni-paderborn ! de>
Date: 2012-09-30 19:03:31
Message-ID: 20120930190331.3DA75A60A6 () git ! kde ! org
[Download RAW message or body]
Git commit 4dffca2e2de3a5a10bce8131ac9bf76e771ba838 by Andreas Cord-Landwehr.
Committed on 30/09/2012 at 17:35.
Pushed by cordlandwehr into branch 'master'.
Cleanup communication between Document and GraphScene.
M +9 -7 RocsCore/DataStructure.cpp
M +87 -88 RocsCore/Document.cpp
M +0 -1 VisualEditor/Scene/GraphScene.h
http://commits.kde.org/rocs/4dffca2e2de3a5a10bce8131ac9bf76e771ba838
diff --git a/RocsCore/DataStructure.cpp b/RocsCore/DataStructure.cpp
index b076af2..151727f 100644
--- a/RocsCore/DataStructure.cpp
+++ b/RocsCore/DataStructure.cpp
@@ -447,13 +447,15 @@ void DataStructure::remove(DataPtr n)
bool bottom = false;
bool right = false;
-//FIXME give signals instead of modifying
-// if (doc != 0) {
-// if (n->x() < doc->left() + 2 * GraphScene::kBORDER) left = true;
-// if (n->x() > doc->right() - 2 * GraphScene::kBORDER) right = true;
-// if (n->y() < doc->top() + 2 * GraphScene::kBORDER) top = true;
-// if (n->y() > doc->bottom() - 2 * GraphScene::kBORDER) bottom = true;
-// }
+ qreal xCenter = (doc->left() + doc->right() )/2;
+ qreal yCenter = (doc->top() + doc->bottom() )/2;
+
+ if (doc != 0) {
+ if (n->x() < xCenter) left = true;
+ if (n->x() > xCenter) right = true;
+ if (n->y() < yCenter) top = true;
+ if (n->y() > yCenter) bottom = true;
+ }
// find data among all types and delete it
//TODO improved performance: use type information to access list
diff --git a/RocsCore/Document.cpp b/RocsCore/Document.cpp
index 8a5ad80..efcaa85 100644
--- a/RocsCore/Document.cpp
+++ b/RocsCore/Document.cpp
@@ -46,6 +46,8 @@ class DocumentPrivate
public:
DocumentPrivate() {}
+ enum borderSize { SceneBorder = 50 };
+
QString _lastSavedDocumentPath;
QString _name;
qreal _left;
@@ -359,7 +361,6 @@ QRectF Document::size()
bool Document::isPointAtDocument(qreal x, qreal y) const
{
-
if (x < d->_left) return false;
if (x > d->_right) return false;
if (y < d->_top) return false;
@@ -392,97 +393,95 @@ void Document::changeMinimalSize(qreal width, qreal height)
void Document::resizeDocumentIncrease()
{
-//FIXME
-// int elements = dataStructures().size();
-// for (int i = 0; i < elements; i++) {
-// bool resizeDocument = false;
-// foreach(DataPtr n, dataStructures().at(i)->dataList()) {
-// if (n->x() < d->_left + GraphScene::kBORDER) {
-// setLeft(d->_left - GraphScene::kBORDER);
-// resizeDocument = true;
-// }
-// if (n->x() > d->_right - GraphScene::kBORDER) {
-// setRight(d->_right + GraphScene::kBORDER);
-// resizeDocument = true;
-// }
-// if (n->y() < d->_top + GraphScene::kBORDER) {
-// setTop(d->_top - GraphScene::kBORDER);
-// resizeDocument = true;
-// }
-// if (n->y() > d->_bottom - GraphScene::kBORDER) {
-// setBottom(d->_bottom + GraphScene::kBORDER);
-// resizeDocument = true;
-// }
-// }
-// if (resizeDocument) {
-// emit resized();
-// }
-// }
+ int elements = dataStructures().size();
+ for (int i = 0; i < elements; i++) {
+ bool resizeDocument = false;
+ foreach(DataPtr n, dataStructures().at(i)->dataList()) {
+ if (n->x() < d->_left + DocumentPrivate::SceneBorder) {
+ setLeft(d->_left - DocumentPrivate::SceneBorder);
+ resizeDocument = true;
+ }
+ if (n->x() > d->_right - DocumentPrivate::SceneBorder) {
+ setRight(d->_right + DocumentPrivate::SceneBorder);
+ resizeDocument = true;
+ }
+ if (n->y() < d->_top + DocumentPrivate::SceneBorder) {
+ setTop(d->_top - DocumentPrivate::SceneBorder);
+ resizeDocument = true;
+ }
+ if (n->y() > d->_bottom - DocumentPrivate::SceneBorder) {
+ setBottom(d->_bottom + DocumentPrivate::SceneBorder);
+ resizeDocument = true;
+ }
+ }
+ if (resizeDocument) {
+ emit resized();
+ }
+ }
}
void Document::resizeDocumentBorder(Document::Border orientation)
{
-//FIXME
-// bool empty = true;
-// int elements = dataStructures().size();
-//
-// // scans doubled border of specified size: if empty or not
-// for (int i = 0; i < elements; i++) {
-// foreach(DataPtr n, dataStructures().at(i)->dataList()) {
-// switch (orientation) {
-// case BorderLeft: {
-// if (n != 0 && n->x() < d->_left + GraphScene::kBORDER * 2) empty = false;
-// break;
-// }
-// case BorderRight: {
-// if (n != 0 && n->x() > d->_right - GraphScene::kBORDER * 2) empty = false;
-// break;
-// }
-// case BorderTop: {
-// if (n != 0 && n->y() < d->_top + GraphScene::kBORDER * 2) empty = false;
-// break;
-// }
-// case BorderBottom: {
-// if (n != 0 && n->y() > d->_bottom - GraphScene::kBORDER * 2) empty = false;
-// break;
-// }
-// }
-// }
-// }
-//
-// //TODO connect to graphvisualeditor-size
-// if (empty == true) {
-// switch (orientation) {
-// case BorderLeft: {
-// if (d->_right - d->_left < GraphScene::kBORDER * 4)
-// return;
-// setLeft(d->_left + GraphScene::kBORDER);
-// emit resized();
-// break;
-// }
-// case BorderRight: {
-// if (d->_right - d->_left < GraphScene::kBORDER * 4)
-// return;
-// setRight(d->_right - GraphScene::kBORDER);
-// emit resized();
-// break;
-// }
-// case BorderTop: {
-// if (d->_bottom - d->_top < GraphScene::kBORDER * 4)
-// return;
-// setTop(d->_top + GraphScene::kBORDER);
-// emit resized();
-// break;
-// }
-// case BorderBottom: {
-// if (d->_bottom - d->_top < GraphScene::kBORDER * 4)
-// return;
-// setBottom(d->_bottom - GraphScene::kBORDER);
-// emit resized();
-// break;
-// }
-// }
-// }
+ bool empty = true;
+ int elements = dataStructures().size();
+
+ // scans doubled border of specified size: if empty or not
+ for (int i = 0; i < elements; i++) {
+ foreach(DataPtr n, dataStructures().at(i)->dataList()) {
+ switch (orientation) {
+ case BorderLeft: {
+ if (n != 0 && n->x() < d->_left + DocumentPrivate::SceneBorder * 2) empty = false;
+ break;
+ }
+ case BorderRight: {
+ if (n != 0 && n->x() > d->_right - DocumentPrivate::SceneBorder * 2) empty = false;
+ break;
+ }
+ case BorderTop: {
+ if (n != 0 && n->y() < d->_top + DocumentPrivate::SceneBorder * 2) empty = false;
+ break;
+ }
+ case BorderBottom: {
+ if (n != 0 && n->y() > d->_bottom - DocumentPrivate::SceneBorder * 2) empty = false;
+ break;
+ }
+ }
+ }
+ }
+
+ //TODO connect to graphvisualeditor-size
+ if (empty == true) {
+ switch (orientation) {
+ case BorderLeft: {
+ if (d->_right - d->_left < DocumentPrivate::SceneBorder * 4)
+ return;
+ setLeft(d->_left + DocumentPrivate::SceneBorder);
+ emit resized();
+ break;
+ }
+ case BorderRight: {
+ if (d->_right - d->_left < DocumentPrivate::SceneBorder * 4)
+ return;
+ setRight(d->_right - DocumentPrivate::SceneBorder);
+ emit resized();
+ break;
+ }
+ case BorderTop: {
+ if (d->_bottom - d->_top < DocumentPrivate::SceneBorder * 4)
+ return;
+ setTop(d->_top + DocumentPrivate::SceneBorder);
+ emit resized();
+ break;
+ }
+ case BorderBottom: {
+ if (d->_bottom - d->_top < DocumentPrivate::SceneBorder * 4)
+ return;
+ setBottom(d->_bottom - DocumentPrivate::SceneBorder);
+ emit resized();
+ break;
+ }
+ }
+ }
}
bool Document::isPointAtDocument(QPointF point) const
diff --git a/VisualEditor/Scene/GraphScene.h b/VisualEditor/Scene/GraphScene.h
index eb53dcc..eb6604f 100644
--- a/VisualEditor/Scene/GraphScene.h
+++ b/VisualEditor/Scene/GraphScene.h
@@ -44,7 +44,6 @@ class VISUALEDITOR_EXPORT GraphScene : public QGraphicsScene
Q_OBJECT
public:
GraphScene(QObject *parent = 0);
- enum borderSize { kBORDER = 50 };
void updateMinSize(qreal minWidth, qreal minHeight);
void setAction(QAction *action);
void updateGraph(DataStructurePtr g);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic