Example usage for org.eclipse.jface.bindings TriggerSequence getPrefixes

List of usage examples for org.eclipse.jface.bindings TriggerSequence getPrefixes

Introduction

In this page you can find the example usage for org.eclipse.jface.bindings TriggerSequence getPrefixes.

Prototype

public abstract TriggerSequence[] getPrefixes();

Source Link

Document

Returns a list of prefixes for the current sequence.

Usage

From source file:org.eclipse.ui.internal.keys.BindingService.java

License:Open Source License

public Map getPartialMatches(TriggerSequence trigger) {
    final TriggerSequence[] prefixes = trigger.getPrefixes();
    final int prefixesLength = prefixes.length;
    if (prefixesLength == 0) {
        return Collections.EMPTY_MAP;
    }//from w  ww  .ja  v a  2s.  c o  m

    Collection<Binding> partialMatches = bindingService.getPartialMatches(trigger);
    Map<TriggerSequence, Object> prefixTable = new HashMap<TriggerSequence, Object>();
    for (Binding binding : partialMatches) {
        for (int i = 0; i < prefixesLength; i++) {
            final TriggerSequence prefix = prefixes[i];
            final Object value = prefixTable.get(prefix);
            if ((prefixTable.containsKey(prefix)) && (value instanceof Map)) {
                ((Map) value).put(prefixTable, binding);
            } else {
                final Map map = new HashMap();
                prefixTable.put(prefix, map);
                map.put(prefixTable, binding);
            }
        }
    }
    return prefixTable;
}