currentUserInputHandler.focusReceived(viewPanel);
}
- public void pushFocusOwner(final UserInputHandler newInputHandler) {
+ public boolean pushFocusOwner(final UserInputHandler newInputHandler) {
+ boolean updateNeeded = false;
+
if (currentUserInputHandler == newInputHandler)
- return;
+ return false;
if (currentUserInputHandler != null) {
- currentUserInputHandler.focusLost(viewPanel);
+ updateNeeded = currentUserInputHandler.focusLost(viewPanel);
inputHandlers.push(currentUserInputHandler);
}
currentUserInputHandler = newInputHandler;
- currentUserInputHandler.focusReceived(viewPanel);
+ updateNeeded |= currentUserInputHandler.focusReceived(viewPanel);
+
+ return updateNeeded;
}
}