List of usage examples for org.eclipse.jface.bindings.keys KeySequenceText setKeyStrokeLimit
public void setKeyStrokeLimit(int keyStrokeLimit)
From source file:net.sourceforge.vrapper.plugin.bindingkeeper.preferences.KeySequenceInput.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); getText().addFocusListener(new FocusListener() { @Override/* www .j ava 2 s . co m*/ public void focusGained(FocusEvent e) { bindingService.setKeyFilterEnabled(false); } @Override public void focusLost(FocusEvent e) { bindingService.setKeyFilterEnabled(true); } }); getText().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { if (!bindingService.isKeyFilterEnabled()) { bindingService.setKeyFilterEnabled(true); } } }); final KeySequenceText keySequenceText = new KeySequenceText(getText()); keySequenceText.setKeyStrokeLimit(1); keySequenceText.addPropertyChangeListener(new IPropertyChangeListener() { @Override public final void propertyChange(final PropertyChangeEvent event) { if (!event.getOldValue().equals(event.getNewValue())) { final KeySequence keySequence = keySequenceText.getKeySequence(); if (!keySequence.isComplete()) { return; } getText().setSelection(getText().getTextLimit()); } } }); applyDialogFont(composite); return composite; }
From source file:org.limy.eclipse.qalab.keybind.KeybindWindow.java
License:Open Source License
/** * @param comp/*from ww w . ja v a 2 s . c o m*/ * @param commandId * @param commandBinding * @param commandName * @param lastTarget * @return * @throws NotDefinedException */ private Control createCommandComp(Composite comp, String commandId, Control lastTarget) throws NotDefinedException { Binding[] bindings = bindingService.getBindings(); Binding systemBinding = null; Collection<Binding> userBindings = new ArrayList<Binding>(); for (Binding binding : bindings) { ParameterizedCommand command = binding.getParameterizedCommand(); if (command != null && commandId.equals(command.getId())) { if (binding.getType() == Binding.SYSTEM) { systemBinding = binding; } else { userBindings.add(binding); } } } Label label = new Label(comp, SWT.NONE); label.setText(systemBinding.getParameterizedCommand().getCommand().getDescription()); label.setLayoutData(FormDataCreater.controlDown(lastTarget, 6, 280)); label.setFont(new Font(comp.getDisplay(), "Serif", 10, SWT.NORMAL)); Text text = new Text(comp, SWT.BORDER); text.setLayoutData(FormDataCreater.controlDownWithWidth(lastTarget, 4, 288, 100)); text.setData(systemBinding); text.addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { bindingService.setKeyFilterEnabled(false); } public void focusLost(FocusEvent e) { bindingService.setKeyFilterEnabled(true); } }); KeySequenceText sequenceText = new KeySequenceText(text); if (!userBindings.isEmpty()) { sequenceText.setKeySequence((KeySequence) userBindings.iterator().next().getTriggerSequence()); } else { sequenceText.setKeySequence((KeySequence) systemBinding.getTriggerSequence()); } sequenceText.setKeyStrokeLimit(4); texts.add(text); sequenceTexts.add(sequenceText); return text; }