package org.iplantc.phyloviewer.client.events;
import org.iplantc.phyloviewer.client.tree.viewer.View;
import com.google.gwt.event.dom.client.HandlesAllKeyEvents;
import com.google.gwt.event.dom.client.KeyDownEvent;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyUpEvent;
public class NavigationKeyHandler extends HandlesAllKeyEvents
{
private final View view;
public NavigationKeyHandler(View view)
{
this.view = view;
}
@Override
public void onKeyDown(KeyDownEvent event)
{
// TODO Auto-generated method stub
}
@Override
public void onKeyUp(KeyUpEvent event)
{
if(event.isUpArrow())
{
view.pan(0.0, 0.1);
}
else if(event.isDownArrow())
{
view.pan(0.0, -0.1);
}
else if(event.isLeftArrow())
{
view.pan(0.1, 0.0);
}
else if(event.isRightArrow())
{
view.pan(-0.1, 0.0);
}
}
@Override
public void onKeyPress(KeyPressEvent event)
{
final char charCode = event.getCharCode();
if(charCode == ' ')
{
view.zoomToFit();
}
else if (charCode == ',')
{
view.getRenderPreferences().resetAllCollapsed();
view.requestRender();
}
}
}