Skip to content
Snippets Groups Projects
Commit 56715a82 authored by Vincent Aravantinos's avatar Vincent Aravantinos
Browse files

made the moves follow the grid

refs 1948
parent f599e143
Branches
Tags
No related merge requests found
...@@ -17,6 +17,8 @@ $Id$ ...@@ -17,6 +17,8 @@ $Id$
+--------------------------------------------------------------------------*/ +--------------------------------------------------------------------------*/
package org.fortiss.tooling.base.ui.editor; package org.fortiss.tooling.base.ui.editor;
import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_SIZE;
import org.eclipse.draw2d.FigureCanvas; import org.eclipse.draw2d.FigureCanvas;
import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.draw2d.geometry.Rectangle;
...@@ -41,7 +43,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService; ...@@ -41,7 +43,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService;
* @author aravantinos * @author aravantinos
* @author $Author$ * @author $Author$
* @version $Rev$ * @version $Rev$
* @ConQAT.Rating YELLOW Hash: 7EC7261CB45A60C97A9AF00CA6E0A150 * @ConQAT.Rating YELLOW Hash: 5C22B7A1E2A086815AD43784943CE420
*/ */
public class DiagramKeyHandler extends KeyHandler { public class DiagramKeyHandler extends KeyHandler {
...@@ -78,7 +80,7 @@ public class DiagramKeyHandler extends KeyHandler { ...@@ -78,7 +80,7 @@ public class DiagramKeyHandler extends KeyHandler {
return false; return false;
FigureCanvas figCanvas = (FigureCanvas)viewer.getControl(); FigureCanvas figCanvas = (FigureCanvas)viewer.getControl();
Point loc = figCanvas.getViewport().getViewLocation(); Point loc = figCanvas.getViewport().getViewLocation();
Rectangle area = figCanvas.getViewport().getClientArea(Rectangle.SINGLETON).scale(.01); Rectangle area = figCanvas.getViewport().getClientArea(Rectangle.SINGLETON).scale(.1);
Point scrollCoeff = computeScrollCoeff(event); Point scrollCoeff = computeScrollCoeff(event);
figCanvas.scrollToY(loc.y + scrollCoeff.y * area.height); figCanvas.scrollToY(loc.y + scrollCoeff.y * area.height);
figCanvas.scrollToX(loc.x + scrollCoeff.x * area.width); figCanvas.scrollToX(loc.x + scrollCoeff.x * area.width);
...@@ -96,6 +98,7 @@ public class DiagramKeyHandler extends KeyHandler { ...@@ -96,6 +98,7 @@ public class DiagramKeyHandler extends KeyHandler {
(ILayoutedModelElement)viewer.getFocusEditPart().getModel(); (ILayoutedModelElement)viewer.getFocusEditPart().getModel();
ITopLevelElement topLevel = IPersistencyService.INSTANCE.getTopLevelElementFor(model); ITopLevelElement topLevel = IPersistencyService.INSTANCE.getTopLevelElementFor(model);
final Point scrollCoeff = computeScrollCoeff(event); final Point scrollCoeff = computeScrollCoeff(event);
scrollCoeff.scale(DEFAULT_GRID_SIZE);
topLevel.runAsCommand(new Runnable() { topLevel.runAsCommand(new Runnable() {
@Override @Override
public void run() { public void run() {
...@@ -111,7 +114,7 @@ public class DiagramKeyHandler extends KeyHandler { ...@@ -111,7 +114,7 @@ public class DiagramKeyHandler extends KeyHandler {
* Coefficient of 1 if the SHIFT key is not pressed, 50 otherwise. * Coefficient of 1 if the SHIFT key is not pressed, 50 otherwise.
*/ */
private Point computeScrollCoeff(KeyEvent event) { private Point computeScrollCoeff(KeyEvent event) {
int coeff = (event.stateMask & SWT.SHIFT) == 0 ? 1 : 50; int coeff = (event.stateMask & SWT.SHIFT) == 0 ? 1 : 10;
if(event.keyCode == SWT.ARROW_DOWN) if(event.keyCode == SWT.ARROW_DOWN)
return new Point(0, coeff); return new Point(0, coeff);
if(event.keyCode == SWT.ARROW_UP) if(event.keyCode == SWT.ARROW_UP)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment