@Override public List<ErrorDescription> run(CompilationInfo info, TreePath treePath) { Tree t = treePath.getLeaf(); JTextComponent editor = EditorRegistry.lastFocusedComponent(); Document doc = editor.getDocument(); SourcePositions sp = info.getTrees().getSourcePositions(); int start = (int) sp.getStartPosition(info.getCompilationUnit(), t); int end = (int) sp.getEndPosition(info.getCompilationUnit(), t); int endLine = info.getText().indexOf("\n", start); String line = info.getText().substring(start, endLine).trim(); if (!Suppression.isSuppressed(line)) { return Collections.<ErrorDescription>singletonList( ErrorDescriptionFactory.createErrorDescription( Severity.HINT, ERROR_DESCRIPTION, createFixes(doc, start, endLine), info.getFileObject(), start, end)); } else { return null; } }
@Override public void run() { JTextComponent component = EditorRegistry.focusedComponent(); if (component != null) { DocumentPreprocessor.updateBlockChain( (NbEditorDocument) component.getDocument()); } }
@Override protected final void actionPerformed(PhpModule phpModule) { // called via shortcut if (!CakePhpUtils.isCakePHP(phpModule)) { return; } JTextComponent editor = EditorRegistry.lastFocusedComponent(); if (editor == null) { return; } Document document = editor.getDocument(); if (document == null) { return; } FileObject fileObject = NbEditorUtilities.getFileObject(document); if (fileObject == null) { return; } // get go to files CakePhpGoToStatusFactory factory = CakePhpGoToStatusFactory.getInstance(); CakePhpGoToStatus status = factory.create(fileObject, editor.getCaretPosition()); final List<GoToItem> items = getGoToItems(status); if (items == null || items.isEmpty()) { return; } // if there are multiple items, show popup list if (items.size() == 1 && !CakePreferences.isShowPopupForOneItem(phpModule)) { for (GoToItem item : items) { UiUtils.open(item.getFileObject(), item.getOffset()); return; } } // show popup try { Rectangle rectangle = editor.modelToView(editor.getCaretPosition()); final Point point = new Point(rectangle.x, rectangle.y + rectangle.height); SwingUtilities.convertPointToScreen(point, editor); SwingUtilities.invokeLater( new Runnable() { @Override public void run() { String title = getPopupTitle(); if (title == null) { title = ""; // NOI18N } PopupUtil.showPopup(new GoToPopup(title, items), title, point.x, point.y, true, 0); } }); } catch (BadLocationException ex) { Exceptions.printStackTrace(ex); } }
public void propertyChange(PropertyChangeEvent evt) { JTextComponent last = EditorRegistry.lastFocusedComponent(); if (last != null) { final NbEditorDocument doc = (NbEditorDocument) last.getDocument(); doc.getDocumentProperties().remove(TextSwitcher.TEXT_SWITCH_SUPPORT); doc.removeDocumentListener(dl); } JTextComponent current = EditorRegistry.focusedComponent(); if (current != null) { final NbEditorDocument doc = (NbEditorDocument) current.getDocument(); doc.addDocumentListener(dl); doc.getDocumentProperties() .put( TextSwitcher.TEXT_SWITCH_SUPPORT, new ChangeListener() { public void stateChanged( @SuppressWarnings("unused") // NOI18N final ChangeEvent e) { restartTimer(); } }); restartTimer(); } }
/* * Main constructor to parse Javascript file * @param input. The string containing the file data */ public VariableNameComboModel() throws FileNotFoundException { String input = EditorRegistry.lastFocusedComponent().getText(); String replaceInput = removeComment(input).replaceAll("[)(;+}={,.]", ""); // enter entries (split) by whitespace String words[] = replaceInput.split("\\s+"); int counter = 0; // while there are still words, add them to the variableNamesArray ArrayList for (int i = 0; i < words.length; i++) { if (words[i].equals("var")) { variableNamesArray.add(words[i + 1]); } else { } counter++; } counter = 1; while (counter < words.length) { if (words[counter - 1].equals("function")) { functionNamesArray.add(" " + words[counter]); } counter++; } counter = 1; while (counter < words.length) { if (words[counter - 1].equals("class")) { classNamesArray.add(" " + words[counter]); } counter++; } int i = 0; // convert the arraylist to an array if (!variableNamesArray.isEmpty()) { MyList.add("Variables"); MyList.addAll(variableNamesArray); } if (!functionNamesArray.isEmpty()) { MyList.add("Functions"); MyList.addAll(functionNamesArray); } if (!classNamesArray.isEmpty()) { MyList.add("Classes"); MyList.addAll(classNamesArray); } this.variableNames = (String[]) MyList.toArray(new String[0]); }
protected synchronized Dialog createGotoDialog() { if (gotoDialog == null) { gotoDialog = DialogSupport.createDialog( NbBundle.getBundle(org.netbeans.editor.BaseKit.class) .getString("goto-title"), // NOI18N gotoPanel, false, // non-modal gotoButtons, false, // sidebuttons, 0, // defaultIndex = 0 => gotoButton 1, // cancelIndex = 1 => cancelButton this // listener ); gotoDialog.pack(); // Position the dialog according to the history Rectangle lastBounds = (Rectangle) EditorState.get(BOUNDS_KEY); if (lastBounds != null) { gotoDialog.setBounds(lastBounds); } else { // no history, center it on the screen Dimension dim = gotoDialog.getPreferredSize(); int x; int y; JTextComponent c = EditorRegistry.lastFocusedComponent(); Window w = c != null ? SwingUtilities.getWindowAncestor(c) : null; if (w != null) { x = Math.max(0, w.getX() + (w.getWidth() - dim.width) / 2); y = Math.max(0, w.getY() + (w.getHeight() - dim.height) / 2); } else { Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); x = Math.max(0, (screen.width - dim.width) / 2); y = Math.max(0, (screen.height - dim.height) / 2); } gotoDialog.setLocation(x, y); } return gotoDialog; } else { gotoDialog.setVisible(true); gotoDialog.toFront(); return null; } }
public DocumentPreprocessor() { dl = new DL(); JTextComponent component = EditorRegistry.focusedComponent(); if (component != null) { updateBlockChain((NbEditorDocument) component.getDocument()); final NbEditorDocument doc = (NbEditorDocument) component.getDocument(); doc.addDocumentListener(dl); doc.getDocumentProperties() .put( TextSwitcher.TEXT_SWITCH_SUPPORT, new ChangeListener() { public void stateChanged(@SuppressWarnings("unused") final ChangeEvent e) { updateBlockChain(doc); } }); } }
/** * Perform the goto operation. * * @return whether the dialog should be made invisible or not */ protected boolean performGoto() { JTextComponent c = EditorRegistry.lastFocusedComponent(); if (c != null) { try { int line = Integer.parseInt(getGotoValueText()); // issue 188976 if (line == 0) line = 1; // end of issue 188976 BaseDocument doc = Utilities.getDocument(c); if (doc != null) { int rowCount = Utilities.getRowCount(doc); if (line > rowCount) line = rowCount; // Obtain the offset where to jump int pos = Utilities.getRowStartFromLineOffset(doc, line - 1); BaseKit kit = Utilities.getKit(c); if (kit != null) { Action a = kit.getActionByName(ExtKit.gotoAction); if (a instanceof ExtKit.GotoAction) { pos = ((ExtKit.GotoAction) a).getOffsetFromLine(doc, line - 1); } } if (pos != -1) { Caret caret = c.getCaret(); caret.setDot(pos); } else { c.getToolkit().beep(); return false; } } } catch (NumberFormatException e) { c.getToolkit().beep(); return false; } } return true; }