List of usage examples for org.eclipse.jface.bindings Binding getPlatform
public final String getPlatform()
From source file:com.google.dart.tools.ui.internal.preferences.DartKeyBindingPersistence.java
License:Open Source License
public Binding findBinding(String commandName, String platform) throws NotDefinedException { Binding[] bindings = bindingService.getBindings(); if (bindings != null) { for (Binding binding : bindings) { if (binding.getSchemeId().equals(DART_BINDING_SCHEME)) { if ((platform != null && platform.equals(binding.getPlatform())) || binding.getPlatform() == null) { ParameterizedCommand pc = binding.getParameterizedCommand(); if (pc != null) { Command cmd = pc.getCommand(); if (cmd != null) { if (commandName.equals(pc.getName())) { return binding; }/*w w w. j a v a 2 s .c om*/ } } } } } } return null; }
From source file:com.google.dart.tools.ui.internal.preferences.DartKeyBindingPersistence.java
License:Open Source License
private Element createBindingElement(Binding binding, Document document) { // binding is known to have a ParameterizedCommand whose command ID matches a registered Command String keys = binding.getTriggerSequence().toString(); String platform = binding.getPlatform(); String commandName;//w w w . j a v a2 s . c o m try { commandName = binding.getParameterizedCommand().getName(); } catch (NotDefinedException ex) { return null; } String id = keys + commandName + (platform == null ? "" : platform); if (knownBindings.containsKey(id)) { if (binding.getType() == Binding.USER) { // A SYSTEM binding has already been created return null; // do not add it again } else { // A USER binding has already been created; update its standard key binding Element element = knownBindings.get(id); element.setAttribute(XML_ATTRIBUTE_KEYS, binding.getTriggerSequence().toString()); return null; } } Element element = document.createElement(XML_NODE_BINDING); element.setAttribute(XML_ATTRIBUTE_KEYS, keys); element.setAttribute(XML_ATTRIBUTE_COMMANDID, commandName); if (platform != null) { element.setAttribute(XML_ATTRIBUTE_PLATFORM, platform); } knownBindings.put(id, element); return element; }
From source file:com.google.dart.tools.ui.internal.preferences.DartKeyBindingPersistence.java
License:Open Source License
private Binding[] sort(Binding[] bindings) { Comparator<Binding> comp = new Comparator<Binding>() { @Override/*from ww w . j av a 2 s.c om*/ public int compare(Binding b0, Binding b1) { ParameterizedCommand c0 = b0.getParameterizedCommand(); ParameterizedCommand c1 = b1.getParameterizedCommand(); int k; if (c0 == null || c1 == null) { if (c0 != c1) { k = c0 == null ? -1 : 1; } else { k = 0; } } else { try { k = c0.getCommand().getName().compareTo(c1.getCommand().getName()); } catch (NotDefinedException ex) { k = 0; } } if (k == 0) { String p0 = b0.getPlatform(); if (p0 == null) { p0 = XML_UNKNOWN; } String p1 = b1.getPlatform(); if (p1 == null) { p1 = XML_UNKNOWN; } k = p0.compareTo(p1); } if (k == 0) { k = b0.getTriggerSequence().toString().compareTo(b1.getTriggerSequence().toString()); } return k; } }; Arrays.sort(bindings, comp); return bindings; }
From source file:com.google.eclipse.mechanic.core.keybinding.EclBinding.java
License:Open Source License
public EclBinding(Binding b) { this(calculateCid(b), KeyBindings.commandParamMap(b.getParameterizedCommand()), b.getSchemeId(), b.getPlatform(), b.getContextId(), b.getTriggerSequence().format(), BindingType.from(b)); }
From source file:com.google.eclipse.mechanic.core.keybinding.KeyBindings.java
License:Open Source License
static KbaChangeSetQualifier qualifierForBinding(Binding binding, Action action) { return new KbaChangeSetQualifier(binding.getSchemeId(), binding.getPlatform(), binding.getContextId(), action.toString());//from w w w . j a v a2s. c o m }
From source file:com.google.eclipse.mechanic.core.keybinding.KeyBindings.java
License:Open Source License
/** * Finds a binding in {@code list} that matches the given * {@code triggerSequence}, {@code scheme} and {@code cid}. If not found, * return {@code null}.//from ww w. ja va2 s . c o m */ private static Binding find(Scheme scheme, String platform, KeySequence triggerSequence, String cid, Map<String, String> params, List<Binding> list) { for (Binding binding : list) { if (binding.getSchemeId().equals(scheme.getId()) && (binding.getTriggerSequence().equals(triggerSequence)) && Objects.equal(binding.getPlatform(), platform)) { ParameterizedCommand param = binding.getParameterizedCommand(); if (param == null) { if (cid == null) { return binding; } continue; } Command command = param.getCommand(); if (cid == null) { return command == null ? binding : null; } if (cid.equals(command.getId())) { Map<String, String> temp = commandParamMap(param); if (equalMaps(temp, params)) { return binding; } } } } return null; }
From source file:com.mulgasoft.emacsplus.execute.CommandHelp.java
License:Open Source License
/** * Get the key-binding information for the command * //from w w w . j a v a 2 s . c om * @param com * @param activep - if true, return only active bindings * * @return an array of binding information */ public static Binding[] getBindings(Command com, boolean activep) { IBindingService binder = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); Binding[] bindings = binder.getBindings(); List<Binding> vbindings = new ArrayList<Binding>(); String platform = SWT.getPlatform(); for (Binding bind : bindings) { ParameterizedCommand pc = bind.getParameterizedCommand(); if (pc != null && com.equals(pc.getCommand())) { // Only return binding info for applicable platforms String plat = bind.getPlatform(); if (plat == null || platform.equals(plat)) { vbindings.add(bind); } } } if (activep && !vbindings.isEmpty()) { TriggerSequence[] atrigs = binder.getActiveBindingsFor(com.getId()); List<Binding> abindings = new ArrayList<Binding>(); for (TriggerSequence trig : atrigs) { for (Binding bind : vbindings) { if (bind.getTriggerSequence().equals(trig)) { abindings.add(bind); break; } } } bindings = abindings.toArray(new Binding[0]); } else { bindings = vbindings.toArray(new Binding[0]); } return bindings; }
From source file:org.eclipse.e4.ui.keybinding.tests.BindingPersistenceTest.java
License:Open Source License
public final void testSinglePlatform() throws Exception { // Get the services. ICommandService commandService = (ICommandService) fWorkbench.getAdapter(ICommandService.class); IBindingService bindingService = (IBindingService) fWorkbench.getAdapter(IBindingService.class); ParameterizedCommand about = new ParameterizedCommand( commandService.getCommand("org.eclipse.ui.help.aboutAction"), null); KeySequence m18A = KeySequence.getInstance("M1+8 A"); KeySequence m18B = KeySequence.getInstance("M1+8 B"); int numAboutBindings = 0; Binding[] bindings = bindingService.getBindings(); for (int i = 0; i < bindings.length; i++) { final Binding binding = bindings[i]; if (binding.getType() == Binding.SYSTEM) { String platform = binding.getPlatform(); int idx = (platform == null ? -1 : platform.indexOf(',')); assertEquals(binding.toString(), -1, idx); if (about.equals(binding.getParameterizedCommand())) { if (m18A.equals(binding.getTriggerSequence())) { numAboutBindings++;/*from w w w . ja v a 2 s. c o m*/ assertNull("M+8 A", binding.getPlatform()); } else if (m18B.equals(binding.getTriggerSequence())) { numAboutBindings++; // assertEquals(Util.WS_CARBON, binding.getPlatform()); // temp work around for honouring carbon bindings assertTrue("failure for platform: " + binding.getPlatform(), Util.WS_CARBON.equals(binding.getPlatform()) || Util.WS_COCOA.equals(binding.getPlatform())); } } } } if (Util.WS_CARBON.equals(SWT.getPlatform()) || Util.WS_COCOA.equals(SWT.getPlatform())) { assertEquals(2, numAboutBindings); } else { assertEquals(1, numAboutBindings); } }
From source file:org.eclipse.e4.ui.keybinding.tests.BindingPersistenceTest.java
License:Open Source License
public final void testBindingTransform() throws Exception { ICommandService commandService = (ICommandService) fWorkbench.getAdapter(ICommandService.class); IBindingService bindingService = (IBindingService) fWorkbench.getAdapter(IBindingService.class); ParameterizedCommand addWS = new ParameterizedCommand( commandService.getCommand("org.eclipse.ui.navigate.addToWorkingSet"), null); KeySequence m18w = KeySequence.getInstance("M1+8 W"); KeySequence m28w = KeySequence.getInstance("M2+8 W"); boolean foundDeleteMarker = false; int numOfMarkers = 0; Binding[] bindings = bindingService.getBindings(); for (int i = 0; i < bindings.length; i++) { final Binding binding = bindings[i]; if (binding.getType() == Binding.SYSTEM) { String platform = binding.getPlatform(); int idx = (platform == null ? -1 : platform.indexOf(',')); assertEquals(binding.toString(), -1, idx); if (addWS.equals(binding.getParameterizedCommand())) { if (m18w.equals(binding.getTriggerSequence())) { numOfMarkers++;/*from ww w .jav a 2 s . c o m*/ assertNull(m18w.format(), binding.getPlatform()); } else if (m28w.equals(binding.getTriggerSequence())) { numOfMarkers++; assertTrue(platform, Util.WS_CARBON.equals(platform) || Util.WS_COCOA.equals(platform) || Util.WS_GTK.equals(platform) || Util.WS_WIN32.equals(platform)); } } else if (binding.getParameterizedCommand() == null && m18w.equals(binding.getTriggerSequence())) { assertTrue(platform, Util.WS_CARBON.equals(platform) || Util.WS_COCOA.equals(platform) || Util.WS_GTK.equals(platform) || Util.WS_WIN32.equals(platform)); numOfMarkers++; foundDeleteMarker = true; } } } assertEquals(3, numOfMarkers); assertTrue("Unable to find delete marker", foundDeleteMarker); TriggerSequence[] activeBindingsFor = bindingService.getActiveBindingsFor(addWS); assertEquals(1, activeBindingsFor.length); }
From source file:org.eclipse.e4.ui.keybinding.tests.BindingPersistenceTest.java
License:Open Source License
public void testDifferentPlatform() throws Exception { ICommandService commandService = (ICommandService) fWorkbench.getAdapter(ICommandService.class); IBindingService bindingService = (IBindingService) fWorkbench.getAdapter(IBindingService.class); ParameterizedCommand backCmd = new ParameterizedCommand( commandService.getCommand("org.eclipse.ui.navigate.back"), null); Binding[] bindings = bindingService.getBindings(); for (int i = 0; i < bindings.length; i++) { final Binding binding = bindings[i]; if (binding.getType() != Binding.SYSTEM) continue; if (backCmd.equals(binding.getParameterizedCommand())) { // make sure the modifier is NOT applied // this will fail on Photon (but Paul thinks we'll never run the // test suite on that platform :-) assertEquals(KeySequence.getInstance("M1+8 Q"), binding.getTriggerSequence()); // and the platform should be null assertNull(binding.getPlatform()); break; }/* w w w. j a va 2s . com*/ } }