diff options
author | Jochen Becher <jochen_becher@gmx.de> | 2016-06-21 21:27:43 +0200 |
---|---|---|
committer | Jochen Becher <jochen_becher@gmx.de> | 2016-06-24 16:58:30 +0000 |
commit | 80e5259999e1fc02a59c7529bdf457c504e25867 (patch) | |
tree | df95647160aa8cdbaa03f7dbc30c5cb4864e36a9 /src/plugins/modeleditor/modeleditor.cpp | |
parent | 9ccb08987043b82ccec3e545f1556fa2f4fb32ec (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.cpp | 20 |
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; |