SDK SceneComposer : add Rotate and Scale Shortcut, plus done some clean up into the MoveShorcut
This commit is contained in:
parent
6ef33e4c10
commit
1f4ee34de8
@ -15,7 +15,6 @@ import com.jme3.gde.scenecomposer.SceneComposerToolController;
|
|||||||
import com.jme3.gde.scenecomposer.tools.PickManager;
|
import com.jme3.gde.scenecomposer.tools.PickManager;
|
||||||
import com.jme3.input.KeyInput;
|
import com.jme3.input.KeyInput;
|
||||||
import com.jme3.input.event.KeyInputEvent;
|
import com.jme3.input.event.KeyInputEvent;
|
||||||
import com.jme3.math.Quaternion;
|
|
||||||
import com.jme3.math.Vector2f;
|
import com.jme3.math.Vector2f;
|
||||||
import com.jme3.math.Vector3f;
|
import com.jme3.math.Vector3f;
|
||||||
import com.jme3.scene.Node;
|
import com.jme3.scene.Node;
|
||||||
@ -77,15 +76,12 @@ public class MoveShortcut extends ShortcutTool {
|
|||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyInputEvent kie) {
|
public void keyPressed(KeyInputEvent kie) {
|
||||||
if (kie.isPressed()) {
|
if (kie.isPressed()) {
|
||||||
System.out.println(kie);
|
|
||||||
Lookup.getDefault().lookup(ShortcutManager.class).activateShortcut(kie);
|
Lookup.getDefault().lookup(ShortcutManager.class).activateShortcut(kie);
|
||||||
|
|
||||||
Vector3f axis = new Vector3f();
|
Vector3f axis = new Vector3f();
|
||||||
boolean axisChanged = ShortcutManager.checkAxisKey(kie, axis);
|
boolean axisChanged = ShortcutManager.checkAxisKey(kie, axis);
|
||||||
if (axisChanged) {
|
if (axisChanged) {
|
||||||
currentAxis = axis;
|
currentAxis = axis;
|
||||||
System.out.println("AXIS : " + currentAxis);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
boolean numberChanged = ShortcutManager.checkNumberKey(kie, numberBuilder);
|
boolean numberChanged = ShortcutManager.checkNumberKey(kie, numberBuilder);
|
||||||
boolean enterHit = ShortcutManager.checkEnterHit(kie);
|
boolean enterHit = ShortcutManager.checkEnterHit(kie);
|
||||||
@ -99,13 +95,10 @@ public class MoveShortcut extends ShortcutTool {
|
|||||||
//update pick manager
|
//update pick manager
|
||||||
|
|
||||||
if (currentAxis.equals(Vector3f.UNIT_X)) {
|
if (currentAxis.equals(Vector3f.UNIT_X)) {
|
||||||
System.out.println("setTransformation X");
|
|
||||||
pickManager.setTransformation(PickManager.PLANE_XY, getTransformType(), camera);
|
pickManager.setTransformation(PickManager.PLANE_XY, getTransformType(), camera);
|
||||||
} else if (currentAxis.equals(Vector3f.UNIT_Y)) {
|
} else if (currentAxis.equals(Vector3f.UNIT_Y)) {
|
||||||
System.out.println("setTransformation Y");
|
|
||||||
pickManager.setTransformation(PickManager.PLANE_YZ, getTransformType(), camera);
|
pickManager.setTransformation(PickManager.PLANE_YZ, getTransformType(), camera);
|
||||||
} else if (currentAxis.equals(Vector3f.UNIT_Z)) {
|
} else if (currentAxis.equals(Vector3f.UNIT_Z)) {
|
||||||
System.out.println("setTransformation Z");
|
|
||||||
pickManager.setTransformation(PickManager.PLANE_XZ, getTransformType(), camera);
|
pickManager.setTransformation(PickManager.PLANE_XZ, getTransformType(), camera);
|
||||||
}
|
}
|
||||||
} else if (axisChanged || numberChanged) {
|
} else if (axisChanged || numberChanged) {
|
||||||
|
@ -0,0 +1,189 @@
|
|||||||
|
/*
|
||||||
|
* To change this license header, choose License Headers in Project Properties.
|
||||||
|
* To change this template file, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
package com.jme3.gde.scenecomposer.tools.shortcuts;
|
||||||
|
|
||||||
|
import com.jme3.asset.AssetManager;
|
||||||
|
import com.jme3.gde.core.sceneexplorer.nodes.JmeNode;
|
||||||
|
import com.jme3.gde.core.sceneexplorer.nodes.JmeSpatial;
|
||||||
|
import com.jme3.gde.core.undoredo.AbstractUndoableSceneEdit;
|
||||||
|
import com.jme3.gde.scenecomposer.SceneComposerToolController;
|
||||||
|
import com.jme3.gde.scenecomposer.tools.PickManager;
|
||||||
|
import com.jme3.input.KeyInput;
|
||||||
|
import com.jme3.input.event.KeyInputEvent;
|
||||||
|
import com.jme3.math.Quaternion;
|
||||||
|
import com.jme3.math.Vector2f;
|
||||||
|
import com.jme3.math.Vector3f;
|
||||||
|
import com.jme3.scene.Node;
|
||||||
|
import com.jme3.scene.Spatial;
|
||||||
|
import org.openide.loaders.DataObject;
|
||||||
|
import org.openide.util.Lookup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author dokthar
|
||||||
|
*/
|
||||||
|
public class RotateShortcut extends ShortcutTool {
|
||||||
|
|
||||||
|
private Vector3f currentAxis;
|
||||||
|
private StringBuilder numberBuilder;
|
||||||
|
private Spatial spatial;
|
||||||
|
private PickManager pickManager;
|
||||||
|
private boolean pickEnabled;
|
||||||
|
private Quaternion startRotation;
|
||||||
|
private Quaternion finalRotation;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
|
||||||
|
public boolean isActivableBy(KeyInputEvent kie) {
|
||||||
|
return kie.getKeyCode() == KeyInput.KEY_R;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel() {
|
||||||
|
spatial.setLocalRotation(startRotation);
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void apply() {
|
||||||
|
actionPerformed(new RotateUndo(toolController.getSelectedSpatial(), startRotation, finalRotation));
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void init(Spatial selectedSpatial) {
|
||||||
|
spatial = selectedSpatial;
|
||||||
|
startRotation = spatial.getLocalRotation().clone();
|
||||||
|
currentAxis = Vector3f.UNIT_XYZ;
|
||||||
|
pickManager = Lookup.getDefault().lookup(PickManager.class);
|
||||||
|
pickEnabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void activate(AssetManager manager, Node toolNode, Node onTopToolNode, Spatial selectedSpatial, SceneComposerToolController toolController) {
|
||||||
|
super.activate(manager, toolNode, onTopToolNode, selectedSpatial, toolController); //To change body of generated methods, choose Tools | Templates.
|
||||||
|
hideMarker();
|
||||||
|
numberBuilder = new StringBuilder();
|
||||||
|
if (selectedSpatial == null) {
|
||||||
|
terminate();
|
||||||
|
} else {
|
||||||
|
init(selectedSpatial);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyPressed(KeyInputEvent kie) {
|
||||||
|
if (kie.isPressed()) {
|
||||||
|
Lookup.getDefault().lookup(ShortcutManager.class).activateShortcut(kie);
|
||||||
|
|
||||||
|
Vector3f axis = new Vector3f();
|
||||||
|
boolean axisChanged = ShortcutManager.checkAxisKey(kie, axis);
|
||||||
|
if (axisChanged) {
|
||||||
|
currentAxis = axis;
|
||||||
|
}
|
||||||
|
boolean numberChanged = ShortcutManager.checkNumberKey(kie, numberBuilder);
|
||||||
|
boolean enterHit = ShortcutManager.checkEnterHit(kie);
|
||||||
|
boolean escHit = ShortcutManager.checkEscHit(kie);
|
||||||
|
|
||||||
|
if (escHit) {
|
||||||
|
cancel();
|
||||||
|
} else if (enterHit) {
|
||||||
|
apply();
|
||||||
|
} else if (axisChanged && pickEnabled) {
|
||||||
|
pickEnabled = false;
|
||||||
|
spatial.setLocalRotation(startRotation.clone());
|
||||||
|
} else if (axisChanged || numberChanged) {
|
||||||
|
//update transformation
|
||||||
|
/* float number = ShortcutManager.getNumberkey(numberBuilder);
|
||||||
|
Vector3f translation = currentAxis.mult(number);
|
||||||
|
finalPosition = startPosition.add(translation);
|
||||||
|
spatial.setLocalTranslation(finalPosition);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPrimary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject dataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
apply();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionSecondary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject dataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(Vector2f screenCoord, JmeNode rootNode, DataObject dataObject, JmeSpatial selectedSpatial) {
|
||||||
|
|
||||||
|
if (!pickEnabled) {
|
||||||
|
if (currentAxis.equals(Vector3f.UNIT_XYZ)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), camera.getRotation(), SceneComposerToolController.TransformationType.camera, camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else if (currentAxis.equals(Vector3f.UNIT_X)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), PickManager.PLANE_YZ, getTransformType(), camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else if (currentAxis.equals(Vector3f.UNIT_Y)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), PickManager.PLANE_XZ, getTransformType(), camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else if (currentAxis.equals(Vector3f.UNIT_Z)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), PickManager.PLANE_XY, getTransformType(), camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pickManager.updatePick(camera, screenCoord)) {
|
||||||
|
|
||||||
|
Quaternion rotation = startRotation.mult(pickManager.getRotation(startRotation.inverse()));
|
||||||
|
toolController.getSelectedSpatial().setLocalRotation(rotation);
|
||||||
|
finalRotation = rotation;
|
||||||
|
updateToolsTransformation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draggedPrimary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject currentDataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
apply();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draggedSecondary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject currentDataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class RotateUndo extends AbstractUndoableSceneEdit {
|
||||||
|
|
||||||
|
private Spatial spatial;
|
||||||
|
private Quaternion before, after;
|
||||||
|
|
||||||
|
RotateUndo(Spatial spatial, Quaternion before, Quaternion after) {
|
||||||
|
this.spatial = spatial;
|
||||||
|
this.before = before;
|
||||||
|
this.after = after;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sceneUndo() {
|
||||||
|
spatial.setLocalRotation(before);
|
||||||
|
toolController.selectedSpatialTransformed();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sceneRedo() {
|
||||||
|
spatial.setLocalRotation(after);
|
||||||
|
toolController.selectedSpatialTransformed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,199 @@
|
|||||||
|
/*
|
||||||
|
* To change this license header, choose License Headers in Project Properties.
|
||||||
|
* To change this template file, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
package com.jme3.gde.scenecomposer.tools.shortcuts;
|
||||||
|
|
||||||
|
import com.jme3.asset.AssetManager;
|
||||||
|
import com.jme3.gde.core.sceneexplorer.nodes.JmeNode;
|
||||||
|
import com.jme3.gde.core.sceneexplorer.nodes.JmeSpatial;
|
||||||
|
import com.jme3.gde.core.undoredo.AbstractUndoableSceneEdit;
|
||||||
|
import com.jme3.gde.scenecomposer.SceneComposerToolController;
|
||||||
|
import com.jme3.gde.scenecomposer.tools.PickManager;
|
||||||
|
import com.jme3.input.KeyInput;
|
||||||
|
import com.jme3.input.event.KeyInputEvent;
|
||||||
|
import com.jme3.math.Quaternion;
|
||||||
|
import com.jme3.math.Vector2f;
|
||||||
|
import com.jme3.math.Vector3f;
|
||||||
|
import com.jme3.scene.Node;
|
||||||
|
import com.jme3.scene.Spatial;
|
||||||
|
import org.openide.loaders.DataObject;
|
||||||
|
import org.openide.util.Lookup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author dokthar
|
||||||
|
*/
|
||||||
|
public class ScaleShortcut extends ShortcutTool {
|
||||||
|
|
||||||
|
private Vector3f currentAxis;
|
||||||
|
private StringBuilder numberBuilder;
|
||||||
|
private Spatial spatial;
|
||||||
|
private PickManager pickManager;
|
||||||
|
private boolean pickEnabled;
|
||||||
|
private Vector3f startScale;
|
||||||
|
private Vector3f finalScale;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
|
||||||
|
public boolean isActivableBy(KeyInputEvent kie) {
|
||||||
|
return kie.getKeyCode() == KeyInput.KEY_S;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel() {
|
||||||
|
spatial.setLocalScale(startScale);
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void apply() {
|
||||||
|
actionPerformed(new ScaleUndo(toolController.getSelectedSpatial(), startScale, finalScale));
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void init(Spatial selectedSpatial) {
|
||||||
|
spatial = selectedSpatial;
|
||||||
|
startScale = spatial.getLocalScale().clone();
|
||||||
|
currentAxis = Vector3f.UNIT_XYZ;
|
||||||
|
pickManager = Lookup.getDefault().lookup(PickManager.class);
|
||||||
|
pickEnabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void activate(AssetManager manager, Node toolNode, Node onTopToolNode, Spatial selectedSpatial, SceneComposerToolController toolController) {
|
||||||
|
super.activate(manager, toolNode, onTopToolNode, selectedSpatial, toolController); //To change body of generated methods, choose Tools | Templates.
|
||||||
|
hideMarker();
|
||||||
|
numberBuilder = new StringBuilder();
|
||||||
|
if (selectedSpatial == null) {
|
||||||
|
terminate();
|
||||||
|
} else {
|
||||||
|
init(selectedSpatial);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyPressed(KeyInputEvent kie) {
|
||||||
|
if (kie.isPressed()) {
|
||||||
|
Lookup.getDefault().lookup(ShortcutManager.class).activateShortcut(kie);
|
||||||
|
|
||||||
|
Vector3f axis = new Vector3f();
|
||||||
|
boolean axisChanged = ShortcutManager.checkAxisKey(kie, axis);
|
||||||
|
if (axisChanged) {
|
||||||
|
currentAxis = axis;
|
||||||
|
}
|
||||||
|
boolean numberChanged = ShortcutManager.checkNumberKey(kie, numberBuilder);
|
||||||
|
boolean enterHit = ShortcutManager.checkEnterHit(kie);
|
||||||
|
boolean escHit = ShortcutManager.checkEscHit(kie);
|
||||||
|
|
||||||
|
if (escHit) {
|
||||||
|
cancel();
|
||||||
|
} else if (enterHit) {
|
||||||
|
apply();
|
||||||
|
} else if (axisChanged && pickEnabled) {
|
||||||
|
pickEnabled = false;
|
||||||
|
} else if (axisChanged || numberChanged) {
|
||||||
|
//update transformation
|
||||||
|
/* float number = ShortcutManager.getNumberkey(numberBuilder);
|
||||||
|
Vector3f translation = currentAxis.mult(number);
|
||||||
|
finalPosition = startPosition.add(translation);
|
||||||
|
spatial.setLocalTranslation(finalPosition);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPrimary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject dataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
apply();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionSecondary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject dataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(Vector2f screenCoord, JmeNode rootNode, DataObject dataObject, JmeSpatial selectedSpatial) {
|
||||||
|
|
||||||
|
if (!pickEnabled) {
|
||||||
|
if (currentAxis.equals(Vector3f.UNIT_XYZ)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), camera.getRotation(), SceneComposerToolController.TransformationType.camera, camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else if (currentAxis.equals(Vector3f.UNIT_X)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), PickManager.PLANE_XY, getTransformType(), camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else if (currentAxis.equals(Vector3f.UNIT_Y)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), PickManager.PLANE_YZ, getTransformType(), camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else if (currentAxis.equals(Vector3f.UNIT_Z)) {
|
||||||
|
pickManager.initiatePick(toolController.getSelectedSpatial(), PickManager.PLANE_XZ, getTransformType(), camera, screenCoord);
|
||||||
|
pickEnabled = true;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pickManager.updatePick(camera, screenCoord)) {
|
||||||
|
Vector3f scale = startScale;
|
||||||
|
if (currentAxis.equals(Vector3f.UNIT_XYZ)) {
|
||||||
|
Vector3f constraintAxis = pickManager.getStartOffset().normalize();
|
||||||
|
float diff = pickManager.getTranslation(constraintAxis).dot(constraintAxis);
|
||||||
|
diff *= 0.5f;
|
||||||
|
scale = startScale.add(new Vector3f(diff, diff, diff));
|
||||||
|
} else {
|
||||||
|
// Get the translation in the spatial Space
|
||||||
|
Quaternion worldToSpatial = toolController.getSelectedSpatial().getWorldRotation().inverse();
|
||||||
|
Vector3f diff = pickManager.getTranslation(worldToSpatial.mult(currentAxis));
|
||||||
|
diff.multLocal(0.5f);
|
||||||
|
scale = startScale.add(diff);
|
||||||
|
}
|
||||||
|
finalScale = scale;
|
||||||
|
toolController.getSelectedSpatial().setLocalScale(scale);
|
||||||
|
updateToolsTransformation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draggedPrimary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject currentDataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
apply();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draggedSecondary(Vector2f screenCoord, boolean pressed, JmeNode rootNode, DataObject currentDataObject) {
|
||||||
|
if (pressed) {
|
||||||
|
cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class ScaleUndo extends AbstractUndoableSceneEdit {
|
||||||
|
|
||||||
|
private Spatial spatial;
|
||||||
|
private Vector3f before, after;
|
||||||
|
|
||||||
|
ScaleUndo(Spatial spatial, Vector3f before, Vector3f after) {
|
||||||
|
this.spatial = spatial;
|
||||||
|
this.before = before;
|
||||||
|
this.after = after;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sceneUndo() {
|
||||||
|
spatial.setLocalScale(before);
|
||||||
|
toolController.selectedSpatialTransformed();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sceneRedo() {
|
||||||
|
spatial.setLocalScale(after);
|
||||||
|
toolController.selectedSpatialTransformed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -26,6 +26,8 @@ public class ShortcutManager {
|
|||||||
public ShortcutManager() {
|
public ShortcutManager() {
|
||||||
shortcutList = new ArrayList<ShortcutTool>();
|
shortcutList = new ArrayList<ShortcutTool>();
|
||||||
shortcutList.add(new MoveShortcut());
|
shortcutList.add(new MoveShortcut());
|
||||||
|
shortcutList.add(new RotateShortcut());
|
||||||
|
shortcutList.add(new ScaleShortcut());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -73,6 +75,13 @@ public class ShortcutManager {
|
|||||||
return newShortcut != null;
|
return newShortcut != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This should be called to trigger the currentShortcut.keyPressed() method.
|
||||||
|
* This method do a first check for command key used to provide isCtrlDown,
|
||||||
|
* isShiftDown ect.. to de
|
||||||
|
*
|
||||||
|
* @param kie
|
||||||
|
*/
|
||||||
public void doKeyPressed(KeyInputEvent kie) {
|
public void doKeyPressed(KeyInputEvent kie) {
|
||||||
///todo check commande key
|
///todo check commande key
|
||||||
if (isActive()) {
|
if (isActive()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user