12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package com.vaadin.tests.widgetset.client.minitutorials.v7b1;
-
- import com.google.gwt.event.dom.client.KeyPressEvent;
- import com.google.gwt.user.client.ui.HTML;
- import com.google.gwt.user.client.ui.Widget;
- import com.vaadin.client.ComponentConnector;
- import com.vaadin.client.ServerConnector;
- import com.vaadin.client.extensions.AbstractExtensionConnector;
- import com.vaadin.client.ui.VOverlay;
- import com.vaadin.shared.ui.Connect;
- import com.vaadin.tests.minitutorials.v7b1.CapsLockWarningWithRpc;
-
- @Connect(CapsLockWarningWithRpc.class)
- public class CapsLockWarningWithRpcConnector
- extends AbstractExtensionConnector {
-
- private CapsLockWarningRpc rpc = getRpcProxy(CapsLockWarningRpc.class);
-
- @Override
- protected void extend(ServerConnector target) {
- final Widget passwordWidget = ((ComponentConnector) target).getWidget();
-
- final VOverlay warning = new VOverlay();
- warning.setOwner(passwordWidget);
- warning.add(new HTML("Caps Lock is enabled!"));
-
- passwordWidget.addDomHandler(event -> {
- if (isEnabled() && isCapsLockOn(event)) {
- warning.showRelativeTo(passwordWidget);
- // Added to send message to the server
- rpc.isCapsLockEnabled(true);
- } else {
- warning.hide();
- // Added to send message to the server
- rpc.isCapsLockEnabled(false);
- }
- }, KeyPressEvent.getType());
- }
-
- private boolean isCapsLockOn(KeyPressEvent e) {
- return e.isShiftKeyDown() ^ Character.isUpperCase(e.getCharCode());
- }
- }
|