package eu.svjatoslav.sixth.e3d.gui.humaninput;
-import eu.svjatoslav.sixth.e3d.gui.ViewContext;
+import eu.svjatoslav.sixth.e3d.gui.ViewPanel;
import java.util.Stack;
public class KeyboardFocusTracker {
- private final ViewContext viewContext;
+ private final ViewPanel viewPanel;
WorldNavigationTracker defaultInputHandler = new WorldNavigationTracker();
Stack<UserInputHandler> inputHandlers = new Stack<>();
private UserInputHandler currentUserInputHandler;
- public KeyboardFocusTracker(final ViewContext viewContext) {
- this.viewContext = viewContext;
+ public KeyboardFocusTracker(final ViewPanel viewPanel) {
+ this.viewPanel = viewPanel;
setFocusOwner(defaultInputHandler);
}
if (inputHandlers.isEmpty())
return;
- currentUserInputHandler.focusLost(viewContext);
+ currentUserInputHandler.focusLost(viewPanel);
currentUserInputHandler = inputHandlers.pop();
- currentUserInputHandler.focusReceived(viewContext);
+ currentUserInputHandler.focusReceived(viewPanel);
}
public void setFocusOwner(final UserInputHandler inputHandler) {
return;
if (currentUserInputHandler != null) {
- currentUserInputHandler.focusLost(viewContext);
+ currentUserInputHandler.focusLost(viewPanel);
inputHandlers.push(currentUserInputHandler);
}
currentUserInputHandler = inputHandler;
- currentUserInputHandler.focusReceived(viewContext);
+ currentUserInputHandler.focusReceived(viewPanel);
}
}