aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/modeleditor/modeleditor.cpp
diff options
context:
space:
mode:
authorJochen Becher <jochen_becher@gmx.de>2016-06-21 21:27:43 +0200
committerJochen Becher <jochen_becher@gmx.de>2016-06-24 16:58:30 +0000
commit80e5259999e1fc02a59c7529bdf457c504e25867 (patch)
treedf95647160aa8cdbaa03f7dbc30c5cb4864e36a9 /src/plugins/modeleditor/modeleditor.cpp
parent9ccb08987043b82ccec3e545f1556fa2f4fb32ec (diff)
ModelEditor: Implement zoom of diagrams.
All elements of a zoomed diagram must be dran anti-aliased. This change removes the extra handling of drawing vertical or horizontal lines without anti-alias. The complete graphics view is drawn anti-aliased instead. Change-Id: I6fc041b6d70da5a7a7bcb8e97d07990517380b90 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/modeleditor/modeleditor.cpp')
-rw-r--r--src/plugins/modeleditor/modeleditor.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/modeleditor/modeleditor.cpp b/src/plugins/modeleditor/modeleditor.cpp
index db17e50c5a3..72326cebe83 100644
--- a/src/plugins/modeleditor/modeleditor.cpp
+++ b/src/plugins/modeleditor/modeleditor.cpp
@@ -100,6 +100,7 @@ namespace ModelEditor {
namespace Internal {
static const char PROPERTYNAME_TOOLBARID[] = "ToolbarId";
+static const double ZOOM_FACTOR = 1.05;
class ModelEditor::ModelEditorPrivate
{
@@ -558,6 +559,25 @@ void ModelEditor::exportDiagram()
}
}
+void ModelEditor::zoomIn()
+{
+ QTransform transform = d->diagramView->transform();
+ transform.scale(ZOOM_FACTOR, ZOOM_FACTOR);
+ d->diagramView->setTransform(transform);
+}
+
+void ModelEditor::zoomOut()
+{
+ QTransform transform = d->diagramView->transform();
+ transform.scale(1.0 / ZOOM_FACTOR, 1.0 / ZOOM_FACTOR);
+ d->diagramView->setTransform(transform);
+}
+
+void ModelEditor::resetZoom()
+{
+ d->diagramView->setTransform(QTransform());
+}
+
qmt::MPackage *ModelEditor::guessSelectedPackage() const
{
qmt::MPackage *package = 0;