List of usage examples for org.eclipse.jface.bindings.keys KeySequence getTriggers
public final Trigger[] getTriggers()
From source file:com.mulgasoft.emacsplus.commands.UniversalHandler.java
License:Open Source License
private Event makeEvent(IUniversalResult ua) { Event result = new Event(); KeySequence keys = ua.getTrigger(); if (keys != null) { Trigger[] triggers = keys.getTriggers(); if (triggers[0] instanceof KeyStroke) { // really, all it can be anyway KeyStroke ks = (KeyStroke) triggers[triggers.length - 1]; result.keyCode = ks.getNaturalKey(); result.stateMask = ks.getModifierKeys() & SWT.MODIFIER_MASK; }/*from w w w. j a v a 2 s . c o m*/ } return result; }
From source file:org.eclipse.sirius.common.ui.tools.api.dialog.quickoutline.QuickOutlineControl.java
License:Open Source License
/** * Creates the outline's tree viewer./* w ww . ja v a2 s . c om*/ * * @param parent * the parent composite. */ protected void createTreeViewer(Composite parent) { filteredTree = new FilteredTree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL, new CustomPatternFilter(), true) { @Override protected void updateToolbar(boolean visible) { super.updateToolbar(visible); treeViewer.expandToLevel(3); } @Override protected void updateTreeSelection(boolean setFocus) { super.updateTreeSelection(setFocus); Tree t = treeViewer.getTree(); if (getFilterControl().getText().trim().length() == 0 && t.getSelectionCount() == 0 && t.getItemCount() > 0) { TreeItem root = t.getItem(0); if (root != null) { t.setSelection(root); } } } }; filteredTree.setQuickSelectionMode(true); treeViewer = filteredTree.getViewer(); final Tree tree = treeViewer.getTree(); filteredTree.getFilterControl().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { int accelerator = SWTKeySupport.convertEventToUnmodifiedAccelerator(event); KeySequence keySequence = KeySequence .getInstance(SWTKeySupport.convertAcceleratorToKeyStroke(accelerator)); if (keySequence.getTriggers().length == 1) { Trigger trigger = keySequence.getTriggers()[0]; if (trigger instanceof KeyStroke) { KeyStroke keyStroke = (KeyStroke) trigger; IKeyLookup lookup = KeyLookupFactory.getDefault(); if (keyStroke.getModifierKeys() == lookup.getCtrl() && keyStroke.getNaturalKey() == 'O') { event.doit = false; gotoNextPage(); } } } if (event.keyCode == SWT.CR) { gotoSelectedElement(); return; } // clear all matches previously stored in the label provider ((IQuickOutlineLabelProvider) treeViewer.getLabelProvider()).clear(); TreeItem target = null; if (event.keyCode == SWT.ARROW_DOWN) { target = getTargetDown(); } if (event.keyCode == SWT.ARROW_UP) { target = getTargetUp(); } if (target != null) { event.doit = false; tree.setSelection(new TreeItem[] { target }); } setFocus(); } }); tree.addKeyListener(new TreeKeyListener(tree)); tree.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { // do nothing } public void widgetDefaultSelected(SelectionEvent e) { gotoSelectedElement(); } }); treeViewer.setContentProvider(this.currentPage.getContentProvider()); treeViewer.setLabelProvider(this.currentPage.getLabelProvider()); }