public static int getPreviousWord(JTextComponent c, int offset) throws BadLocationException { return getPreviousWord((BaseDocument) c.getDocument(), offset); }
public static int getPreviousWord(JTextComponent c, int offset) throws BadLocationException { int prevWordOffset = getPreviousWord((BaseDocument)c.getDocument(), offset); int nextVisualPosition = c.getUI().getNextVisualPositionFrom(c, prevWordOffset, null, javax.swing.SwingConstants.WEST, null); return (nextVisualPosition + 1 == prevWordOffset) ? prevWordOffset : nextVisualPosition + 1; }
protected boolean canFilter(final JTextComponent component) { filterPrefix = null; try { final int ancor = Utilities.getPreviousWord(component, component.getCaret().getDot()); filterPrefix = component.getDocument().getText(ancor, component.getCaret().getDot() - ancor); if (PREFIX.equals(filterPrefix)) filterPrefix = ""; else if (!canBeValidDirective(filterPrefix) || "".equals(filterPrefix)) filterPrefix = null; } catch (BadLocationException e) { // filterPrefix stays null -> no filtering } return (filterPrefix != null); }
protected boolean canFilter(final JTextComponent component) { filterPrefix = null; try { final int ancor = Utilities.getPreviousWord(component, component.getCaret().getDot()); final String origFilterPrefix = component.getDocument().getText(ancor, component.getCaret().getDot() - ancor); filterPrefix = origFilterPrefix.trim();
public void actionPerformed(ActionEvent evt, JTextComponent target) { if (target != null) { if (!target.isEditable() || !target.isEnabled()) { target.getToolkit().beep(); return; } Caret caret = target.getCaret(); try { BaseDocument doc = (BaseDocument)target.getDocument(); int dotPos = caret.getDot(); int bolPos = Utilities.getRowStart(doc, dotPos); int wsPos = Utilities.getPreviousWord(target, dotPos); wsPos = (dotPos == bolPos) ? wsPos : Math.max(bolPos, wsPos); doc.remove(wsPos, dotPos - wsPos); } catch (BadLocationException e) { target.getToolkit().beep(); } } } }
public void actionPerformed(ActionEvent evt, JTextComponent target) { if (target != null) { if (!target.isEditable() || !target.isEnabled()) { target.getToolkit().beep(); return; } Caret caret = target.getCaret(); try { BaseDocument doc = (BaseDocument) target.getDocument(); int dotPos = caret.getDot(); int bolPos = Utilities.getRowStart(doc, dotPos); int wsPos = Utilities.getPreviousWord(target, dotPos); wsPos = (dotPos == bolPos) ? wsPos : Math.max(bolPos, wsPos); doc.remove(wsPos, dotPos - wsPos); } catch (BadLocationException e) { target.getToolkit().beep(); } } } }
public void actionPerformed(ActionEvent evt, JTextComponent target) { if (target != null) { Caret caret = target.getCaret(); try { int dot = Utilities.getPreviousWord(target, caret.getDot()); if (select) { caret.moveDot(dot); } else { caret.setDot(dot); } } catch (BadLocationException ex) { target.getToolkit().beep(); } } } }
protected void query(final CompletionResultSet resultSet, @SuppressWarnings("unused") final Document doc, final int caretOffset) { try { final int ancor = Utilities.getPreviousWord(this.component, caretOffset); if (canFilter(this.component)) { this.ancor = ancor; resultSet.setTitle(NbBundle.getMessage(PPCompletionProvider.class, "DESC_TITLE_DIRE_CC")); resultSet.setAnchorOffset(ancor); resultSet.addAllItems(getFilteredData(this.directiveItems, filterPrefix)); } } catch (BadLocationException ble) { } resultSet.finish(); }
static int previousCamelCasePosition(JTextComponent textComponent) { int offset = textComponent.getCaretPosition(); // Are we at the beginning of the document? if (offset == 0) { return -1; } final Document doc = textComponent.getDocument(); KeystrokeHandler bc = GsfEditorKitFactory.getBracketCompletion(doc, offset); if (bc != null) { int nextOffset = bc.getNextWordOffset( doc, offset, true); if (nextOffset != -1) { return nextOffset; } } try { return Utilities.getPreviousWord(textComponent, offset); } catch (BadLocationException ble) { ErrorManager.getDefault().notify(ble); } return -1; }
final int ancor = org.netbeans.editor.Utilities.getPreviousWord(component, offset); final String word = component.getDocument().getText(ancor, offset - ancor); if (canBeValidDirective(word)) {
return Utilities.getPreviousWord(textComponent, offset);
public void actionPerformed(ActionEvent evt, JTextComponent target) { if (target != null) { Caret caret = target.getCaret(); try { int dot = Utilities.getPreviousWord(target, caret.getDot()); if (caret instanceof BaseCaret){ BaseCaret bCaret = (BaseCaret) caret; if (select) { bCaret.moveDot(dot); } else { bCaret.setDot(dot, false); } }else { if (select) { caret.moveDot(dot); } else { caret.setDot(dot); } } } catch (BadLocationException ex) { target.getToolkit().beep(); } } } }
protected void query(final CompletionResultSet resultSet, @SuppressWarnings("unused") final Document doc, final int caretOffset) { try { final int ancor = Utilities.getPreviousWord(this.component, caretOffset); final PPToken tok = new PreprocessorScanner(new StringReader(org.netbeans.modules.mobility.editor.Utilities.getLine(this.component))).nextToken(); if (canFilter(this.component)) { this.ancor = ancor; resultSet.setTitle(NbBundle.getMessage(PPCompletionProvider.class, "DESC_TITLE_VAR_CC")); resultSet.setAnchorOffset(ancor); //see what the previous directive word is and offer completion items accordingly if (tok.getType() == LineParserTokens.COMMAND_DEBUG || tok.getType() == LineParserTokens.COMMAND_MDEBUG) resultSet.addAllItems(getFilteredData(this.debugItems, filterPrefix)); else resultSet.addAllItems(getFilteredData(this.variableItems, filterPrefix)); } else Completion.get().hideCompletion(); } catch (BadLocationException ble) { } catch (IOException ioe) { } resultSet.finish(); }