Example usage for org.eclipse.jface.bindings.keys KeySequence getTriggers

List of usage examples for org.eclipse.jface.bindings.keys KeySequence getTriggers

Introduction

In this page you can find the example usage for org.eclipse.jface.bindings.keys KeySequence getTriggers.

Prototype

public final Trigger[] getTriggers() 

Source Link

Document

Returns the list of triggers.

Usage

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());
}