Example usage for com.google.gwt.dom.client AreaElement is

List of usage examples for com.google.gwt.dom.client AreaElement is

Introduction

In this page you can find the example usage for com.google.gwt.dom.client AreaElement is.

Prototype

public static boolean is(Node node) 

Source Link

Document

Determine whether the given Node can be cast to this class.

Usage

From source file:org.eclipse.che.ide.keybinding.KeyBindingManager.java

License:Open Source License

@Inject
public KeyBindingManager(ActionManager actionManager, Provider<PerspectiveManager> perspectiveManager) {
    this.actionManager = actionManager;
    this.perspectiveManager = perspectiveManager;

    addScheme(new SchemeImpl(SCHEME_GLOBAL_ID, "Global"));
    addScheme(new SchemeImpl(SCHEME_ECLIPSE_ID, "Eclipse Scheme"));

    //TODO check user settings
    activeScheme = SCHEME_ECLIPSE_ID;//from w w  w.  j av  a2 s .c  om

    presentationFactory = new PresentationFactory();

    // Attach the listeners.
    final Element documentElement = Elements.getDocument().getDocumentElement();
    EventListener downListener = new EventListener() {
        @Override
        public void handleEvent(Event event) {
            SignalEvent signalEvent = SignalEventUtils.create(event, false);
            if (signalEvent == null) {
                return;
            }

            /*
              Temporary solution to prevent calling actions if focus is in input element.
              The problem in that, some actions, may be bound to Ctrl+C/X/V/Z or Delete so
              We should allow browser to process event natively instead of calling actions.
              Need to be reworked in nearest future. */
            final JavaScriptObject jso = (JavaScriptObject) event.getTarget();
            if (InputElement.is(jso) || AreaElement.is(jso)) {
                return;
            }

            //handle event in active scheme
            int digest = CharCodeWithModifiers.computeKeyDigest(signalEvent);
            preventDefaultBrowserAction((KeyboardEvent) event, digest);

            List<String> actionIds = getActive().getActionIds(digest);

            if (!actionIds.isEmpty()) {
                runActions(actionIds, event);
            }
            //else handle event in global scheme
            else if (!(actionIds = getGlobal().getActionIds(digest)).isEmpty()) {
                runActions(actionIds, event);
            }

            //default, lets this event handle other part of the IDE
        }
    };
    if (UserAgent.isFirefox()) {
        // firefox fires keypress events
        documentElement.addEventListener(Event.KEYPRESS, downListener, true);
    } else {
        //webkit fires keydown events
        documentElement.addEventListener(Event.KEYDOWN, downListener, true);
    }
}