ui.setExitPolicy(new ExitPolicy(')', document)); ui.setDoContextInfo(true); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT);
@Override public ExitFlags doExit(LinkedModeModel model2, VerifyEvent event, int offset2, int length) { if (event.character == ',') { for (int i= 0; i < fPositions.length - 1; i++) { // not for the last one Position position= fPositions[i]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { try { ITypedRegion partition= TextUtilities.getPartition(document, IJavaPartitions.JAVA_PARTITIONING, offset2 + length, false); if (IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) || offset2 + length == partition.getOffset() + partition.getLength()) { event.character= '\t'; event.keyCode= SWT.TAB; return null; } } catch (BadLocationException e) { // continue; not serious enough to log } } } } else if (event.character == ')' && exitChar != ')') { // exit from link mode when user is in the last ')' position. Position position= fPositions[fPositions.length - 1]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } } return super.doExit(model2, event, offset2, length); } });
ui.setExitPolicy(new ExitPolicy(withParentheses ? ')' : '>', document)); ui.setExitPosition(getTextViewer(), replacementOffset + replacementString.length(), 0, Integer.MAX_VALUE); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(withParentheses ? ')' : '>', document)); ui.setExitPosition(getTextViewer(), replacementOffset + replacementString.length(), 0, Integer.MAX_VALUE); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setDoContextInfo(true); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT);
ui.setExitPolicy(new ExitPolicy(withParentheses ? ')' : '>', document)); ui.setExitPosition(getTextViewer(), replacementOffset + replacementString.length(), 0, Integer.MAX_VALUE); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setDoContextInfo(true); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT);
ui.setExitPolicy(new ExitPolicy(withParentheses ? ')' : '>', document)); ui.setExitPosition(getTextViewer(), replacementOffset + replacementString.length(), 0, Integer.MAX_VALUE); ui.setDoContextInfo(true);
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setDoContextInfo(true); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT);
ui.setExitPolicy(new ExitPolicy(withParentheses ? ')' : '>', document)); ui.setExitPosition(getTextViewer(), replacementOffset + replacementString.length(), 0, Integer.MAX_VALUE); ui.setDoContextInfo(true);
/** * Sets up a simple linked mode at {@link #getCursorPosition()} and an exit policy that will * exit the mode when <code>closingCharacter</code> is typed and an exit position at * <code>getCursorPosition() + 1</code>. * * @param document the document * @param closingCharacter the exit character */ protected void setUpLinkedMode(IDocument document, char closingCharacter) { if (getTextViewer() != null && autocloseBrackets()) { int offset= getReplacementOffset() + getCursorPosition(); int exit= getReplacementOffset() + getReplacementString().length(); try { LinkedPositionGroup group= new LinkedPositionGroup(); group.addPosition(new LinkedPosition(document, offset, 0, LinkedPositionGroup.NO_STOP)); LinkedModeModel model= new LinkedModeModel(); model.addGroup(group); model.forceInstall(); LinkedModeUI ui= new EditorLinkedModeUI(model, getTextViewer()); ui.setSimpleMode(true); ui.setExitPolicy(new ExitPolicy(closingCharacter, document)); ui.setExitPosition(getTextViewer(), exit, 0, Integer.MAX_VALUE); ui.setCyclingMode(LinkedModeUI.CYCLE_NEVER); ui.enter(); } catch (BadLocationException x) { JavaPlugin.log(x); } } }
ui.setExitPolicy(new ExitPolicy(closingCharacter, document)); ui.setExitPosition(getTextViewer(), exit, 0, Integer.MAX_VALUE); ui.setCyclingMode(LinkedModeUI.CYCLE_NEVER);
/** * Sets up a simple linked mode at {@link #getCursorPosition()} and an exit policy that will * exit the mode when <code>closingCharacter</code> is typed and an exit position at * <code>getCursorPosition() + 1</code>. * * @param document the document * @param closingCharacter the exit character */ protected void setUpLinkedMode(IDocument document, char closingCharacter) { if (getTextViewer() != null && autocloseBrackets()) { int offset= getReplacementOffset() + getCursorPosition(); int exit= getReplacementOffset() + getReplacementString().length(); try { LinkedPositionGroup group= new LinkedPositionGroup(); group.addPosition(new LinkedPosition(document, offset, 0, LinkedPositionGroup.NO_STOP)); LinkedModeModel model= new LinkedModeModel(); model.addGroup(group); model.forceInstall(); LinkedModeUI ui= new EditorLinkedModeUI(model, getTextViewer()); ui.setSimpleMode(true); ui.setExitPolicy(new ExitPolicy(closingCharacter, document)); ui.setExitPosition(getTextViewer(), exit, 0, Integer.MAX_VALUE); ui.setCyclingMode(LinkedModeUI.CYCLE_NEVER); ui.enter(); } catch (BadLocationException x) { JavaPlugin.log(x); } } }
ui.setExitPolicy(new ExitPolicy(')', document)); ui.setDoContextInfo(true); ui.setCyclingMode(LinkedModeUI.CYCLE_WHEN_NO_PARENT);
@Override public ExitFlags doExit(LinkedModeModel model2, VerifyEvent event, int offset2, int length) { if (event.character == ',') { for (int i= 0; i < fPositions.length - 1; i++) { // not for the last one Position position= fPositions[i]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { try { ITypedRegion partition= TextUtilities.getPartition(document, IJavaPartitions.JAVA_PARTITIONING, offset2 + length, false); if (IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) || offset2 + length == partition.getOffset() + partition.getLength()) { event.character= '\t'; event.keyCode= SWT.TAB; return null; } } catch (BadLocationException e) { // continue; not serious enough to log } } } } else if (event.character == ')' && exitChar != ')') { // exit from link mode when user is in the last ')' position. Position position= fPositions[fPositions.length - 1]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } } return super.doExit(model2, event, offset2, length); } });