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
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,8 @@ $Id$
+--------------------------------------------------------------------------*/
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.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
......@@ -41,7 +43,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService;
* @author aravantinos
* @author $Author$
* @version $Rev$
* @ConQAT.Rating YELLOW Hash: 7EC7261CB45A60C97A9AF00CA6E0A150
* @ConQAT.Rating YELLOW Hash: 5C22B7A1E2A086815AD43784943CE420
*/
public class DiagramKeyHandler extends KeyHandler {
......@@ -78,7 +80,7 @@ public class DiagramKeyHandler extends KeyHandler {
return false;
FigureCanvas figCanvas = (FigureCanvas)viewer.getControl();
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);
figCanvas.scrollToY(loc.y + scrollCoeff.y * area.height);
figCanvas.scrollToX(loc.x + scrollCoeff.x * area.width);
......@@ -96,6 +98,7 @@ public class DiagramKeyHandler extends KeyHandler {
(ILayoutedModelElement)viewer.getFocusEditPart().getModel();
ITopLevelElement topLevel = IPersistencyService.INSTANCE.getTopLevelElementFor(model);
final Point scrollCoeff = computeScrollCoeff(event);
scrollCoeff.scale(DEFAULT_GRID_SIZE);
topLevel.runAsCommand(new Runnable() {
@Override
public void run() {
......@@ -111,7 +114,7 @@ public class DiagramKeyHandler extends KeyHandler {
* Coefficient of 1 if the SHIFT key is not pressed, 50 otherwise.
*/
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)
return new Point(0, coeff);
if(event.keyCode == SWT.ARROW_UP)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment