X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2Fhumaninput%2FKeyboardFocusTracker.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2Fhumaninput%2FKeyboardFocusTracker.java;h=0000000000000000000000000000000000000000;hb=70ee733b25c56bed539b89ff5507ae0af842d68a;hp=65e93741fc4edbbb9fa1e17e07c0cfafc05b5f42;hpb=afdebf8f4f532ed5b456040c6c481f3cfbf8d236;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardFocusTracker.java b/src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardFocusTracker.java deleted file mode 100644 index 65e9374..0000000 --- a/src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardFocusTracker.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 3 of the GNU Lesser General Public License - * or later as published by the Free Software Foundation. - * - */ - -package eu.svjatoslav.sixth.e3d.gui.humaninput; - -import eu.svjatoslav.sixth.e3d.gui.ViewPanel; - -import java.util.Stack; - -public class KeyboardFocusTracker { - - private final ViewPanel viewPanel; - WorldNavigationTracker defaultInputHandler = new WorldNavigationTracker(); - Stack inputHandlers = new Stack<>(); - private UserInputHandler currentUserInputHandler; - - public KeyboardFocusTracker(final ViewPanel viewPanel) { - this.viewPanel = viewPanel; - setFocusOwner(defaultInputHandler); - } - - public UserInputHandler getCurrentFocusOwner() { - return currentUserInputHandler; - } - - public void popFocusOwner() { - if (currentUserInputHandler == null) - return; - - if (inputHandlers.isEmpty()) - return; - - currentUserInputHandler.focusLost(viewPanel); - - currentUserInputHandler = inputHandlers.pop(); - - currentUserInputHandler.focusReceived(viewPanel); - } - - public void setFocusOwner(final UserInputHandler inputHandler) { - if (currentUserInputHandler == inputHandler) - return; - - if (currentUserInputHandler != null) { - currentUserInputHandler.focusLost(viewPanel); - inputHandlers.push(currentUserInputHandler); - } - - currentUserInputHandler = inputHandler; - - currentUserInputHandler.focusReceived(viewPanel); - } -}