@Override public void run() { textArea.setText(content); restoreScrollPosition(scrollPercent); } });
public RSyntaxScriptEditor() { // remove the default popup: textArea.setPopupMenu(null); // Anti-aliased: textArea.setAntiAliasingEnabled(true); }
@Override public void onAppend(final String logStr) { SwingUtilities.invokeLater(() -> textPane.append(logStr)); } });
@Nullable private Token concatTokensUntil(Token start, String endText) { StringBuilder sb = new StringBuilder(); Token current = start; while (current != null && current.getType() != TokenTypes.NULL) { String text = current.getLexeme(); if (text != null) { sb.append(text); if (text.equals(endText)) { char[] line = sb.toString().toCharArray(); TokenImpl token = new TokenImpl(line, 0, line.length - 1, start.getOffset(), start.getType(), start.getLanguageIndex()); token.setNextToken(current.getNextToken()); return token; } } current = current.getNextToken(); } return null; } }
public static void loadCommonSettings(MainWindow mainWindow, RSyntaxTextArea area) { area.setAntiAliasingEnabled(true); mainWindow.getEditorTheme().apply(area); JadxSettings settings = mainWindow.getSettings(); area.setFont(settings.getFont()); }
@Override public String getText() { return textArea.getText(); }
public static RSyntaxTextArea getDefaultArea(MainWindow mainWindow) { RSyntaxTextArea area = new RSyntaxTextArea(); loadCommonSettings(mainWindow, area); return area; }
public ResultsTableCellRenderer() { RSyntaxTextArea area = CodeArea.getDefaultArea(mainWindow); this.font = area.getFont(); this.codeSelectedColor = area.getSelectionColor(); this.codeBackground = area.getBackground(); }
@Override public void setCaretPosition(int offset) { textArea.setCaretPosition(offset); }
private void processTokens(Token tokens) { Token prev = null; Token current = tokens; while (current != null) { if (prev != null) { int tokenType = current.getType(); if (tokenType == TokenTypes.IDENTIFIER) { current = mergeLongClassNames(prev, current, false); } else if (tokenType == TokenTypes.ANNOTATION) { current = mergeLongClassNames(prev, current, true); } } prev = current; current = current.getNextToken(); } }
@Override public void setEditable(boolean editable) { textArea.setEditable(editable); }
@Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { Token tokens = super.getTokenList(text, initialTokenType, startOffset); if (startOffset > 0 && tokens.getType() != TokenTypes.NULL) { try { processTokens(tokens); } catch (Exception e) { LOG.error("Process tokens failed for text: {}", text, e); } } return tokens; }
@Override public void setEnabled(boolean enabled) { textArea.setEnabled(enabled); }
@Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { node = null; Point pos = codeArea.getMousePosition(); if (pos != null) { Token token = codeArea.viewToToken(pos); if (token != null) { node = codeArea.getJavaNodeAtOffset(jCls, token.getOffset()); } } setEnabled(node != null); }
@Override public void setPopupMenu(final JPopupMenu menu) { textArea.setPopupMenu(menu); } }
public boolean toggle() { boolean visible = !isVisible(); setVisible(visible); if (visible) { searchField.requestFocus(); searchField.selectAll(); } else { rTextArea.requestFocus(); } return visible; }
public void setContent(String content) { textArea.setText(content); }
@Override public String getViewText() { return textArea.getText(); }
@Override public void setViewText(String text) { textArea.setText(text); }
private void registerLogListener() { LogCollector logCollector = LogCollector.getInstance(); logCollector.resetListener(); textPane.setText(""); logCollector.registerListener(new ILogListener() { @Override public Level getFilterLevel() { return level; } @Override public void onAppend(final String logStr) { SwingUtilities.invokeLater(() -> textPane.append(logStr)); } }); }