Show APInputFramework.java syntax highlighted
/**
*
*/
package ucalgary.ebe.ci.AgilePlanner;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import rallydemogef.Editor;
import ucalgary.ebe.ci.AgilePlanner.gestures.AgilePlannerGestureTable;
import ucalgary.ebe.ci.AgilePlanner.gestures.MoveAndRotateWith2InputRecognizer;
import ucalgary.ebe.ci.gestures.ICIGestureProvider;
import ucalgary.ebe.ci.gestures.events.ICIGestureListener;
import ucalgary.ebe.ci.gestures.impl.MultiInputGestureProvider;
import ucalgary.ebe.ci.gestures.input.mouse.MouseProviderInput;
import ucalgary.ebe.ci.gestures.input.swt.SWTMouseWithKeyComboInput;
import ucalgary.ebe.ci.gestures.recognition.IGestureRecognizer;
import ucalgary.ebe.ci.gestures.recognition.direction.DirectionReconizer;
import ucalgary.ebe.ci.gestures.recognition.distance.DistanceRecognition;
import ucalgary.ebe.ci.gestures.recognition.position.PositionRecognizer;
import ucalgary.ebe.ci.mice.impl.manymouse.SWTManyMouseWrapper;
/**
* @author hkolenda
*
*/
public class APInputFramework implements ICIGestureProvider {
private static Editor editor = null;
private List<ICIGestureProvider> gestureProviderList = new ArrayList<ICIGestureProvider>();
public APInputFramework(Editor editor) {
if (APInputFrameworkConfig.USE_INPUT_FRAMEWORK) {
APInputFramework.editor = editor;
// gestureProviderList.add(getStandardGestureDirectionsFromSWTManyMouseProvider());
gestureProviderList
.add(getStandardGestureDirectionsFromMouseProvider());
// gestureProviderList.add(getStandardGestureDirectionsFromMouseProvider2());
gestureProviderList.add(getBestCaseSettingProvider());
// gestureProviderList.add(getManyMouseMoveAndRotateProvider());
gestureProviderList.add(getPositionExpandCollapseProvider());
}
}
/*
* (non-Javadoc)
*
* @see ucalgary.ebe.ci.gestures.ICIGestureProvider#addCIGestureListener(ucalgary.ebe.ci.gestures.events.ICIGestureListener)
*/
public void addCIGestureListener(ICIGestureListener listener) {
for (ICIGestureProvider provider : gestureProviderList) {
provider.addCIGestureListener(listener);
}
}
private ICIGestureProvider getBestCaseSettingProvider() {
MultiInputGestureProvider gestureProvider = new MultiInputGestureProvider();
gestureProvider.setCalcAfterEveryCoord(true);
gestureProvider.setGestureRecognizer(new DistanceRecognition());
SWTMouseWithKeyComboInput input = new SWTMouseWithKeyComboInput(editor
.getViewer().getControl());
input.setKeyCode('b');
input.setKeyModifier(SWT.CTRL);
gestureProvider.addGestureInput(input);
return gestureProvider;
}
private ICIGestureProvider getManyMouseMoveAndRotateProvider() {
MultiInputGestureProvider gestureProvider = new MultiInputGestureProvider();
gestureProvider.setCalcAfterEveryCoord(true);
IGestureRecognizer gestureRecognizer = new MoveAndRotateWith2InputRecognizer();
gestureProvider.setGestureRecognizer(gestureRecognizer);
SWTManyMouseWrapper swtManyMouseWrapper = new SWTManyMouseWrapper(
editor.getViewer().getControl().getShell());
MouseProviderInput mouseinput = new MouseProviderInput(
swtManyMouseWrapper, 0);
gestureProvider.addGestureInput(mouseinput);
mouseinput = new MouseProviderInput(swtManyMouseWrapper, 1);
gestureProvider.addGestureInput(mouseinput);
return gestureProvider;
}
private ICIGestureProvider getPositionExpandCollapseProvider() {
MultiInputGestureProvider gestureProvider = new MultiInputGestureProvider();
gestureProvider.setCalcAfterEveryCoord(true);
PositionRecognizer positionReconizer = new PositionRecognizer();
positionReconizer
.setGestureA(AgilePlannerGestures.STORYCARD_COLLAPSE_ALL);
positionReconizer
.setGestureB(AgilePlannerGestures.STORYCARD_COLLAPSE_ALL);
positionReconizer
.setGestureC(AgilePlannerGestures.STORYCARD_EXPAND_ALL);
positionReconizer
.setGestureD(AgilePlannerGestures.STORYCARD_EXPAND_ALL);
gestureProvider.setGestureRecognizer(positionReconizer);
Control control = editor.getViewer().getControl();
SWTMouseWithKeyComboInput gestureInput = new SWTMouseWithKeyComboInput(
control);
gestureInput.setKeyCode('e');
gestureInput.setKeyModifier(SWT.CTRL);
gestureInput.setGestureTimeout(0);
gestureProvider.addGestureInput(gestureInput);
return gestureProvider;
}
private ICIGestureProvider getStandardGestureDirectionsFromMouseProvider() {
MultiInputGestureProvider gestureProvider = new MultiInputGestureProvider();
gestureProvider.setGestureId(1);
DirectionReconizer directionReconizer = new DirectionReconizer();
directionReconizer.setGestureTable(new AgilePlannerGestureTable());
gestureProvider.setGestureRecognizer(directionReconizer);
Control control = editor.getViewer().getControl();
SWTMouseWithKeyComboInput gestureInput = new SWTMouseWithKeyComboInput(
control);
gestureInput.setKeyModifier(SWT.CTRL);
gestureProvider.addGestureInput(gestureInput);
return gestureProvider;
}
private ICIGestureProvider getStandardGestureDirectionsFromSWTManyMouseProvider() {
MultiInputGestureProvider gestureProvider = new MultiInputGestureProvider();
gestureProvider.setGestureId(1);
DirectionReconizer directionReconizer = new DirectionReconizer();
directionReconizer.setGestureTable(new AgilePlannerGestureTable());
gestureProvider.setGestureRecognizer(directionReconizer);
SWTManyMouseWrapper swtManyMouseWrapper = new SWTManyMouseWrapper(
editor.getViewer().getControl().getShell());
MouseProviderInput input = new MouseProviderInput(swtManyMouseWrapper,
0);
gestureProvider.addGestureInput(input);
return gestureProvider;
}
/*
* (non-Javadoc)
*
* @see ucalgary.ebe.ci.gestures.ICIGestureProvider#removeCIGestureListener(ucalgary.ebe.ci.gestures.events.ICIGestureListener)
*/
public void removeCIGestureListener(ICIGestureListener listener) {
for (ICIGestureProvider provider : gestureProviderList) {
provider.removeCIGestureListener(listener);
}
}
/*
* (non-Javadoc)
*
* @see ucalgary.ebe.ci.ConcurrentInputFramework#stop()
*/
public void stop() {
for (ICIGestureProvider provider : gestureProviderList) {
provider.stop();
}
}
}
See more files for this project here