/** * Trigger the action * @param action the action */ public void triggerAction(TextEditAction action) { keyTriggerMapping.triggerAction(action, new Context(getControl())); }
private void onTextPositionClicked(TextPositionEvent event) { if (event.isStillSincePress()) { if (event.getClickCount() == 2 && event.getButton() == MouseButton.PRIMARY) { this.keyTriggerMapping.triggerAction(DefaultTextEditActions.SELECT_WORD, new Context(getControl())); event.consume(); } if (event.getClickCount() == 3 && event.getButton() == MouseButton.PRIMARY) { this.keyTriggerMapping.triggerAction(DefaultTextEditActions.SELECT_LINE, new Context(getControl())); event.consume(); } } if (event.isShortcutDown()) { Optional<QuickLinkable> linkable = getControl().getQuickLinkCallback().apply(event.getOffset()); linkable.ifPresent((l) -> { if (l.getLinks().size() == 1) { doLink(l.getLinks().get(0)); } else { // TODO handle case of multiple links } }); } }
private void onKeyTyped(KeyEvent event) { if (getControl().getEditable()) { String character = event.getCharacter(); if (character.length() == 0) { return; } // check the modifiers // - OS-X: ALT+L ==> @ // - win32/linux: ALTGR+Q ==> @ if (event.isControlDown() || event.isAltDown() || (Util.isMacOS() && event.isMetaDown())) { if (!((event.isControlDown() || Util.isMacOS()) && event.isAltDown())) return; } if (character.charAt(0) > 31 // No ascii control chars && character.charAt(0) != 127 // no delete key && !event.isMetaDown()) { getControl().insert(character); // check for typed char action if( this.keyTriggerMapping.exists(character.charAt(0)) ) { getControl().fireEvent(UndoHintEvent.createBeginCompoundChangeEvent()); try { this.keyTriggerMapping.triggerAction(character.charAt(0), new Context(getControl())); } finally { getControl().fireEvent(UndoHintEvent.createEndCompoundChangeEvent()); } } } } }
getControl().fireEvent(UndoHintEvent.createBeginCompoundChangeEvent()); try { boolean handled = this.keyTriggerMapping.triggerAction(event, new Context(getControl())); if (handled) { event.consume();