From cab27b14c5a40b368bc2ba985112fb31cfdf5221 Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:04:08 -0300 Subject: [PATCH 01/29] removing files from the old editor --- .../processing/app/syntax/CTokenMarker.java | 273 -- .../app/syntax/DefaultInputHandler.java | 373 --- .../processing/app/syntax/InputHandler.java | 1135 -------- .../processing/app/syntax/JEditTextArea.java | 2448 ----------------- app/src/processing/app/syntax/KeywordMap.java | 139 - .../app/syntax/PdeTextAreaDefaults.java | 211 -- .../processing/app/syntax/SyntaxDocument.java | 165 -- .../processing/app/syntax/SyntaxStyle.java | 163 -- .../app/syntax/SyntaxUtilities.java | 226 -- .../app/syntax/TextAreaDefaults.java | 90 - .../app/syntax/TextAreaLineNumbers.java | 106 - .../app/syntax/TextAreaPainter.java | 787 ------ .../processing/app/syntax/TextUtilities.java | 183 -- .../processing/app/syntax/TokenMarker.java | 341 --- .../app/syntax/im/CompositionTextManager.java | 198 -- .../app/syntax/im/CompositionTextPainter.java | 124 - .../app/syntax/im/InputMethodSupport.java | 120 - app/src/processing/app/syntax/readme.txt | 46 - .../helpers/JEditTextAreaComponentDriver.java | 108 - .../JEditTextAreaComponentMatcher.java | 49 - .../app/helpers/JEditTextAreaFixture.java | 81 - 21 files changed, 7366 deletions(-) delete mode 100644 app/src/processing/app/syntax/CTokenMarker.java delete mode 100644 app/src/processing/app/syntax/DefaultInputHandler.java delete mode 100644 app/src/processing/app/syntax/InputHandler.java delete mode 100644 app/src/processing/app/syntax/JEditTextArea.java delete mode 100644 app/src/processing/app/syntax/KeywordMap.java delete mode 100644 app/src/processing/app/syntax/PdeTextAreaDefaults.java delete mode 100644 app/src/processing/app/syntax/SyntaxDocument.java delete mode 100644 app/src/processing/app/syntax/SyntaxStyle.java delete mode 100644 app/src/processing/app/syntax/SyntaxUtilities.java delete mode 100644 app/src/processing/app/syntax/TextAreaDefaults.java delete mode 100644 app/src/processing/app/syntax/TextAreaLineNumbers.java delete mode 100644 app/src/processing/app/syntax/TextAreaPainter.java delete mode 100644 app/src/processing/app/syntax/TextUtilities.java delete mode 100644 app/src/processing/app/syntax/TokenMarker.java delete mode 100644 app/src/processing/app/syntax/im/CompositionTextManager.java delete mode 100644 app/src/processing/app/syntax/im/CompositionTextPainter.java delete mode 100644 app/src/processing/app/syntax/im/InputMethodSupport.java delete mode 100644 app/src/processing/app/syntax/readme.txt delete mode 100644 app/test/processing/app/helpers/JEditTextAreaComponentDriver.java delete mode 100644 app/test/processing/app/helpers/JEditTextAreaComponentMatcher.java delete mode 100644 app/test/processing/app/helpers/JEditTextAreaFixture.java diff --git a/app/src/processing/app/syntax/CTokenMarker.java b/app/src/processing/app/syntax/CTokenMarker.java deleted file mode 100644 index ccb9b0b4822..00000000000 --- a/app/src/processing/app/syntax/CTokenMarker.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * CTokenMarker.java - C token marker - * Copyright (C) 1998, 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.text.Segment; - -/** - * C token marker. - * - * @author Slava Pestov - */ -public class CTokenMarker extends TokenMarker -{ - public CTokenMarker() - { - this(true,getKeywords()); - } - - public CTokenMarker(boolean cpp, KeywordMap keywords) - { - this.cpp = cpp; - this.keywords = keywords; - } - - public byte markTokensImpl(byte token, Segment line, int lineIndex) - { - char[] array = line.array; - int offset = line.offset; - lastOffset = offset; - lastKeyword = offset; - int mlength = line.count + offset; - boolean backslash = false; - -loop: for(int i = offset; i < mlength; i++) - { - int i1 = (i+1); - - char c = array[i]; - if(c == '\\') - { - backslash = !backslash; - continue; - } - - switch(token) - { - case Token.NULL: - switch(c) - { - case '#': - if(backslash) - backslash = false; - else if(cpp) - { - if(doKeyword(line,i,c)) - break; - addToken(i - lastOffset,token); - addToken(mlength - i,Token.KEYWORD2); - lastOffset = lastKeyword = mlength; - break loop; - } - break; - case '"': - doKeyword(line,i,c); - if(backslash) - backslash = false; - else - { - addToken(i - lastOffset,token); - token = Token.LITERAL1; - lastOffset = lastKeyword = i; - } - break; - case '\'': - doKeyword(line,i,c); - if(backslash) - backslash = false; - else - { - addToken(i - lastOffset,token); - token = Token.LITERAL2; - lastOffset = lastKeyword = i; - } - break; - case ':': - if(lastKeyword == offset) - { - if(doKeyword(line,i,c)) - break; - backslash = false; - addToken(i1 - lastOffset,Token.LABEL); - lastOffset = lastKeyword = i1; - } - else if(doKeyword(line,i,c)) - break; - break; - case '/': - backslash = false; - doKeyword(line,i,c); - if(mlength - i > 1) - { - switch(array[i1]) - { - case '*': - addToken(i - lastOffset,token); - lastOffset = lastKeyword = i; - if(mlength - i > 2 && array[i+2] == '*') - token = Token.COMMENT2; - else - token = Token.COMMENT1; - break; - case '/': - addToken(i - lastOffset,token); - addToken(mlength - i,Token.COMMENT1); - lastOffset = lastKeyword = mlength; - break loop; - } - } - break; - default: - backslash = false; - if(!Character.isLetterOrDigit(c) - && c != '_') - doKeyword(line,i,c); - break; - } - break; - case Token.COMMENT1: - case Token.COMMENT2: - backslash = false; - if(c == '*' && mlength - i > 1) - { - if(array[i1] == '/') - { - i++; - addToken((i+1) - lastOffset,token); - token = Token.NULL; - lastOffset = lastKeyword = i+1; - } - } - break; - case Token.LITERAL1: - if(backslash) - backslash = false; - else if(c == '"') - { - addToken(i1 - lastOffset,token); - token = Token.NULL; - lastOffset = lastKeyword = i1; - } - break; - case Token.LITERAL2: - if(backslash) - backslash = false; - else if(c == '\'') - { - addToken(i1 - lastOffset,Token.LITERAL1); - token = Token.NULL; - lastOffset = lastKeyword = i1; - } - break; - default: - throw new InternalError("Invalid state: " - + token); - } - } - - if(token == Token.NULL) - doKeyword(line,mlength,'\0'); - - switch(token) - { - case Token.LITERAL1: - case Token.LITERAL2: - addToken(mlength - lastOffset,Token.INVALID); - token = Token.NULL; - break; - case Token.KEYWORD2: - addToken(mlength - lastOffset,token); - if (!backslash) token = Token.NULL; - addToken(mlength - lastOffset,token); - break; - default: - addToken(mlength - lastOffset,token); - break; - } - - return token; - } - - public static KeywordMap getKeywords() - { - if(cKeywords == null) - { - cKeywords = new KeywordMap(false); - cKeywords.add("char",Token.KEYWORD3); - cKeywords.add("double",Token.KEYWORD3); - cKeywords.add("enum",Token.KEYWORD3); - cKeywords.add("float",Token.KEYWORD3); - cKeywords.add("int",Token.KEYWORD3); - cKeywords.add("long",Token.KEYWORD3); - cKeywords.add("short",Token.KEYWORD3); - cKeywords.add("signed",Token.KEYWORD3); - cKeywords.add("struct",Token.KEYWORD3); - cKeywords.add("typedef",Token.KEYWORD3); - cKeywords.add("union",Token.KEYWORD3); - cKeywords.add("unsigned",Token.KEYWORD3); - cKeywords.add("void",Token.KEYWORD3); - cKeywords.add("auto",Token.KEYWORD1); - cKeywords.add("const",Token.KEYWORD1); - cKeywords.add("extern",Token.KEYWORD1); - cKeywords.add("register",Token.KEYWORD1); - cKeywords.add("static",Token.KEYWORD1); - cKeywords.add("volatile",Token.KEYWORD1); - cKeywords.add("break",Token.KEYWORD1); - cKeywords.add("case",Token.KEYWORD1); - cKeywords.add("continue",Token.KEYWORD1); - cKeywords.add("default",Token.KEYWORD1); - cKeywords.add("do",Token.KEYWORD1); - cKeywords.add("else",Token.KEYWORD1); - cKeywords.add("for",Token.KEYWORD1); - cKeywords.add("goto",Token.KEYWORD1); - cKeywords.add("if",Token.KEYWORD1); - cKeywords.add("return",Token.KEYWORD1); - cKeywords.add("sizeof",Token.KEYWORD1); - cKeywords.add("switch",Token.KEYWORD1); - cKeywords.add("while",Token.KEYWORD1); - cKeywords.add("asm",Token.KEYWORD2); - cKeywords.add("asmlinkage",Token.KEYWORD2); - cKeywords.add("far",Token.KEYWORD2); - cKeywords.add("huge",Token.KEYWORD2); - cKeywords.add("inline",Token.KEYWORD2); - cKeywords.add("near",Token.KEYWORD2); - cKeywords.add("pascal",Token.KEYWORD2); - cKeywords.add("true",Token.LITERAL2); - cKeywords.add("false",Token.LITERAL2); - cKeywords.add("NULL",Token.LITERAL2); - } - return cKeywords; - } - - // private members - private static KeywordMap cKeywords; - - private boolean cpp; - private KeywordMap keywords; - private int lastOffset; - private int lastKeyword; - - private boolean doKeyword(Segment line, int i, char c) - { - int i1 = i+1; - - int len = i - lastKeyword; - byte id = keywords.lookup(line,lastKeyword,len); - if(id != Token.NULL) - { - if(lastKeyword != lastOffset) - addToken(lastKeyword - lastOffset,Token.NULL); - addToken(len,id); - lastOffset = i; - } - lastKeyword = i1; - return false; - } -} diff --git a/app/src/processing/app/syntax/DefaultInputHandler.java b/app/src/processing/app/syntax/DefaultInputHandler.java deleted file mode 100644 index e9e23fea12d..00000000000 --- a/app/src/processing/app/syntax/DefaultInputHandler.java +++ /dev/null @@ -1,373 +0,0 @@ -/* - * DefaultInputHandler.java - Default implementation of an input handler - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.KeyStroke; -import java.awt.event.*; -import java.awt.Toolkit; -import java.util.Hashtable; -import java.util.StringTokenizer; - -/** - * The default input handler. It maps sequences of keystrokes into actions - * and inserts key typed events into the text area. - * @author Slava Pestov - */ -public class DefaultInputHandler extends InputHandler -{ - /** - * Creates a new input handler with no key bindings defined. - */ - public DefaultInputHandler() - { - bindings = currentBindings = new Hashtable(); - } - - /** - * Sets up the default key bindings. - */ - public void addDefaultKeyBindings() - { - addKeyBinding("BACK_SPACE",BACKSPACE); - addKeyBinding("C+BACK_SPACE",BACKSPACE_WORD); - addKeyBinding("DELETE",DELETE); - addKeyBinding("C+DELETE",DELETE_WORD); - - addKeyBinding("ENTER",INSERT_BREAK); - addKeyBinding("TAB",INSERT_TAB); - - addKeyBinding("INSERT",OVERWRITE); - addKeyBinding("C+\\",TOGGLE_RECT); - - addKeyBinding("HOME",HOME); - addKeyBinding("END",END); - addKeyBinding("S+HOME",SELECT_HOME); - addKeyBinding("S+END",SELECT_END); - addKeyBinding("C+HOME",DOCUMENT_HOME); - addKeyBinding("C+END",DOCUMENT_END); - addKeyBinding("CS+HOME",SELECT_DOC_HOME); - addKeyBinding("CS+END",SELECT_DOC_END); - - addKeyBinding("PAGE_UP",PREV_PAGE); - addKeyBinding("PAGE_DOWN",NEXT_PAGE); - addKeyBinding("S+PAGE_UP",SELECT_PREV_PAGE); - addKeyBinding("S+PAGE_DOWN",SELECT_NEXT_PAGE); - - addKeyBinding("LEFT",PREV_CHAR); - addKeyBinding("S+LEFT",SELECT_PREV_CHAR); - addKeyBinding("C+LEFT",PREV_WORD); - addKeyBinding("CS+LEFT",SELECT_PREV_WORD); - addKeyBinding("RIGHT",NEXT_CHAR); - addKeyBinding("S+RIGHT",SELECT_NEXT_CHAR); - addKeyBinding("C+RIGHT",NEXT_WORD); - addKeyBinding("CS+RIGHT",SELECT_NEXT_WORD); - addKeyBinding("UP",PREV_LINE); - addKeyBinding("S+UP",SELECT_PREV_LINE); - addKeyBinding("DOWN",NEXT_LINE); - addKeyBinding("S+DOWN",SELECT_NEXT_LINE); - - addKeyBinding("C+ENTER",REPEAT); - } - - /** - * Adds a key binding to this input handler. The key binding is - * a list of white space separated key strokes of the form - * [modifiers+]key where modifier is C for Control, A for Alt, - * or S for Shift, and key is either a character (a-z) or a field - * name in the KeyEvent class prefixed with VK_ (e.g., BACK_SPACE) - * @param keyBinding The key binding - * @param action The action - */ - public void addKeyBinding(String keyBinding, ActionListener action) - { - Hashtable current = bindings; - - StringTokenizer st = new StringTokenizer(keyBinding); - while(st.hasMoreTokens()) - { - KeyStroke keyStroke = parseKeyStroke(st.nextToken()); - if(keyStroke == null) - return; - - if(st.hasMoreTokens()) - { - Object o = current.get(keyStroke); - if(o instanceof Hashtable) - current = (Hashtable)o; - else - { - o = new Hashtable(); - current.put(keyStroke,o); - current = (Hashtable)o; - } - } - else - current.put(keyStroke,action); - } - } - - /** - * Removes a key binding from this input handler. This is not yet - * implemented. - * @param keyBinding The key binding - */ - public void removeKeyBinding(String keyBinding) - { - throw new InternalError("Not yet implemented"); - } - - /** - * Removes all key bindings from this input handler. - */ - public void removeAllKeyBindings() - { - bindings.clear(); - } - - /** - * Returns a copy of this input handler that shares the same - * key bindings. Setting key bindings in the copy will also - * set them in the original. - */ - public InputHandler copy() - { - return new DefaultInputHandler(this); - } - - /** - * Handle a key pressed event. This will look up the binding for - * the key stroke and execute it. - */ - public void keyPressed(KeyEvent evt) - { - int keyCode = evt.getKeyCode(); - int modifiers = evt.getModifiers(); - - // moved this earlier so it doesn't get random meta clicks - if (keyCode == KeyEvent.VK_CONTROL || - keyCode == KeyEvent.VK_SHIFT || - keyCode == KeyEvent.VK_ALT || - keyCode == KeyEvent.VK_META) { - return; - } - - // don't get command-s or other menu key equivs on mac - // unless it's something that's specifically bound (cmd-left or right) - //if ((modifiers & KeyEvent.META_MASK) != 0) return; - if ((modifiers & KeyEvent.META_MASK) != 0) { - KeyStroke keyStroke = KeyStroke.getKeyStroke(keyCode, modifiers); - if (currentBindings.get(keyStroke) == null) { - return; - } - } - - /* - char keyChar = evt.getKeyChar(); - System.out.println("code=" + keyCode + " char=" + keyChar + - " charint=" + ((int)keyChar)); - System.out.println("other codes " + KeyEvent.VK_ALT + " " + - KeyEvent.VK_META); - */ - - if((modifiers & ~KeyEvent.SHIFT_MASK) != 0 - || evt.isActionKey() - || keyCode == KeyEvent.VK_BACK_SPACE - || keyCode == KeyEvent.VK_DELETE - || keyCode == KeyEvent.VK_ENTER - || keyCode == KeyEvent.VK_TAB - || keyCode == KeyEvent.VK_ESCAPE) - { - if(grabAction != null) - { - handleGrabAction(evt); - return; - } - - KeyStroke keyStroke = KeyStroke.getKeyStroke(keyCode, - modifiers); - Object o = currentBindings.get(keyStroke); - if(o == null) - { - // Don't beep if the user presses some - // key we don't know about unless a - // prefix is active. Otherwise it will - // beep when caps lock is pressed, etc. - if(currentBindings != bindings) - { - Toolkit.getDefaultToolkit().beep(); - // F10 should be passed on, but C+e F10 - // shouldn't - repeatCount = 0; - repeat = false; - evt.consume(); - } - currentBindings = bindings; - return; - } - else if(o instanceof ActionListener) - { - currentBindings = bindings; - - executeAction(((ActionListener)o), - evt.getSource(),null); - - evt.consume(); - return; - } - else if(o instanceof Hashtable) - { - currentBindings = (Hashtable)o; - evt.consume(); - return; - } - } - } - - /** - * Handle a key typed event. This inserts the key into the text area. - */ - public void keyTyped(KeyEvent evt) - { - int modifiers = evt.getModifiers(); - char c = evt.getKeyChar(); - - // this is the apple/cmd key on macosx.. so menu commands - // were being passed through as legit keys.. added this line - // in an attempt to prevent. - if ((modifiers & KeyEvent.META_MASK) != 0) return; - - if (c != KeyEvent.CHAR_UNDEFINED) // && - // (modifiers & KeyEvent.ALT_MASK) == 0) - { - if(c >= 0x20 && c != 0x7f) - { - KeyStroke keyStroke = KeyStroke.getKeyStroke( - Character.toUpperCase(c)); - Object o = currentBindings.get(keyStroke); - - if(o instanceof Hashtable) - { - currentBindings = (Hashtable)o; - return; - } - else if(o instanceof ActionListener) - { - currentBindings = bindings; - executeAction((ActionListener)o, - evt.getSource(), - String.valueOf(c)); - return; - } - - currentBindings = bindings; - - if(grabAction != null) - { - handleGrabAction(evt); - return; - } - - // 0-9 adds another 'digit' to the repeat number - if(repeat && Character.isDigit(c)) - { - repeatCount *= 10; - repeatCount += (c - '0'); - return; - } - - executeAction(INSERT_CHAR,evt.getSource(), - String.valueOf(evt.getKeyChar())); - - repeatCount = 0; - repeat = false; - } - } - } - - /** - * Converts a string to a keystroke. The string should be of the - * form modifiers+shortcut where modifiers - * is any combination of A for Alt, C for Control, S for Shift - * or M for Meta, and shortcut is either a single character, - * or a keycode name from the KeyEvent class, without - * the VK_ prefix. - * @param keyStroke A string description of the key stroke - */ - public static KeyStroke parseKeyStroke(String keyStroke) - { - if(keyStroke == null) - return null; - int modifiers = 0; - int index = keyStroke.indexOf('+'); - if(index != -1) - { - for(int i = 0; i < index; i++) - { - switch(Character.toUpperCase(keyStroke - .charAt(i))) - { - case 'A': - modifiers |= InputEvent.ALT_MASK; - break; - case 'C': - modifiers |= InputEvent.CTRL_MASK; - break; - case 'M': - modifiers |= InputEvent.META_MASK; - break; - case 'S': - modifiers |= InputEvent.SHIFT_MASK; - break; - } - } - } - String key = keyStroke.substring(index + 1); - if(key.length() == 1) - { - char ch = Character.toUpperCase(key.charAt(0)); - if(modifiers == 0) - return KeyStroke.getKeyStroke(ch); - else - return KeyStroke.getKeyStroke(ch,modifiers); - } - else if(key.length() == 0) - { - System.err.println("Invalid key stroke: " + keyStroke); - return null; - } - else - { - int ch; - - try - { - ch = KeyEvent.class.getField("VK_".concat(key)) - .getInt(null); - } - catch(Exception e) - { - System.err.println("Invalid key stroke: " - + keyStroke); - return null; - } - - return KeyStroke.getKeyStroke(ch,modifiers); - } - } - - // private members - private Hashtable bindings; - private Hashtable currentBindings; - - private DefaultInputHandler(DefaultInputHandler copy) - { - bindings = currentBindings = copy.bindings; - } -} diff --git a/app/src/processing/app/syntax/InputHandler.java b/app/src/processing/app/syntax/InputHandler.java deleted file mode 100644 index e146713484b..00000000000 --- a/app/src/processing/app/syntax/InputHandler.java +++ /dev/null @@ -1,1135 +0,0 @@ -/* - * InputHandler.java - Manages key bindings and executes actions - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.text.*; -import javax.swing.JPopupMenu; -import java.awt.event.*; -import java.awt.Component; -import java.util.*; - -/** - * An input handler converts the user's key strokes into concrete actions. - * It also takes care of macro recording and action repetition.

- * - * This class provides all the necessary support code for an input - * handler, but doesn't actually do any key binding logic. It is up - * to the implementations of this class to do so. - * - * @author Slava Pestov - */ -public abstract class InputHandler extends KeyAdapter -{ - /** - * If this client property is set to Boolean.TRUE on the text area, - * the home/end keys will support 'smart' BRIEF-like behaviour - * (one press = start/end of line, two presses = start/end of - * viewscreen, three presses = start/end of document). By default, - * this property is not set. - */ - public static final String SMART_HOME_END_PROPERTY = "InputHandler.homeEnd"; - - public static final ActionListener BACKSPACE = new backspace(); - public static final ActionListener BACKSPACE_WORD = new backspace_word(); - public static final ActionListener DELETE = new delete(); - public static final ActionListener DELETE_WORD = new delete_word(); - public static final ActionListener END = new end(false); - public static final ActionListener DOCUMENT_END = new document_end(false); - public static final ActionListener SELECT_END = new end(true); - public static final ActionListener SELECT_DOC_END = new document_end(true); - public static final ActionListener INSERT_BREAK = new insert_break(); - public static final ActionListener INSERT_TAB = new insert_tab(); - public static final ActionListener HOME = new home(false); - public static final ActionListener DOCUMENT_HOME = new document_home(false); - public static final ActionListener SELECT_HOME = new home(true); - public static final ActionListener SELECT_DOC_HOME = new document_home(true); - public static final ActionListener NEXT_CHAR = new next_char(false); - public static final ActionListener NEXT_LINE = new next_line(false); - public static final ActionListener NEXT_PAGE = new next_page(false); - public static final ActionListener NEXT_WORD = new next_word(false); - public static final ActionListener SELECT_NEXT_CHAR = new next_char(true); - public static final ActionListener SELECT_NEXT_LINE = new next_line(true); - public static final ActionListener SELECT_NEXT_PAGE = new next_page(true); - public static final ActionListener SELECT_NEXT_WORD = new next_word(true); - public static final ActionListener OVERWRITE = new overwrite(); - public static final ActionListener PREV_CHAR = new prev_char(false); - public static final ActionListener PREV_LINE = new prev_line(false); - public static final ActionListener PREV_PAGE = new prev_page(false); - public static final ActionListener PREV_WORD = new prev_word(false); - public static final ActionListener SELECT_PREV_CHAR = new prev_char(true); - public static final ActionListener SELECT_PREV_LINE = new prev_line(true); - public static final ActionListener SELECT_PREV_PAGE = new prev_page(true); - public static final ActionListener SELECT_PREV_WORD = new prev_word(true); - public static final ActionListener REPEAT = new repeat(); - public static final ActionListener TOGGLE_RECT = new toggle_rect(); - public static final ActionListener CLIPBOARD_CUT = new clipboard_cut(); // [fry] - public static final ActionListener CLIPBOARD_COPY = new clipboard_copy(); - public static final ActionListener CLIPBOARD_PASTE = new clipboard_paste(); - - // Default action - public static final ActionListener INSERT_CHAR = new insert_char(); - - private static Hashtable actions; - - static - { - actions = new Hashtable(); - actions.put("backspace",BACKSPACE); - actions.put("backspace-word",BACKSPACE_WORD); - actions.put("delete",DELETE); - actions.put("delete-word",DELETE_WORD); - actions.put("end",END); - actions.put("select-end",SELECT_END); - actions.put("document-end",DOCUMENT_END); - actions.put("select-doc-end",SELECT_DOC_END); - actions.put("insert-break",INSERT_BREAK); - actions.put("insert-tab",INSERT_TAB); - actions.put("home",HOME); - actions.put("select-home",SELECT_HOME); - actions.put("document-home",DOCUMENT_HOME); - actions.put("select-doc-home",SELECT_DOC_HOME); - actions.put("next-char",NEXT_CHAR); - actions.put("next-line",NEXT_LINE); - actions.put("next-page",NEXT_PAGE); - actions.put("next-word",NEXT_WORD); - actions.put("select-next-char",SELECT_NEXT_CHAR); - actions.put("select-next-line",SELECT_NEXT_LINE); - actions.put("select-next-page",SELECT_NEXT_PAGE); - actions.put("select-next-word",SELECT_NEXT_WORD); - actions.put("overwrite",OVERWRITE); - actions.put("prev-char",PREV_CHAR); - actions.put("prev-line",PREV_LINE); - actions.put("prev-page",PREV_PAGE); - actions.put("prev-word",PREV_WORD); - actions.put("select-prev-char",SELECT_PREV_CHAR); - actions.put("select-prev-line",SELECT_PREV_LINE); - actions.put("select-prev-page",SELECT_PREV_PAGE); - actions.put("select-prev-word",SELECT_PREV_WORD); - actions.put("repeat",REPEAT); - actions.put("toggle-rect",TOGGLE_RECT); - actions.put("insert-char",INSERT_CHAR); - actions.put("clipboard-cut",CLIPBOARD_CUT); - actions.put("clipboard-copy",CLIPBOARD_COPY); - actions.put("clipboard-paste",CLIPBOARD_PASTE); - } - - /** - * Returns a named text area action. - * @param name The action name - */ - public static ActionListener getAction(String name) - { - return (ActionListener)actions.get(name); - } - - /** - * Returns the name of the specified text area action. - * @param listener The action - */ - public static String getActionName(ActionListener listener) - { - Enumeration en = getActions(); - while(en.hasMoreElements()) - { - String name = (String)en.nextElement(); - ActionListener _listener = getAction(name); - if(_listener == listener) { - return name; - } - } - return null; - } - - /** - * Returns an enumeration of all available actions. - */ - public static Enumeration getActions() - { - return actions.keys(); - } - - /** - * Adds the default key bindings to this input handler. - * This should not be called in the constructor of this - * input handler, because applications might load the - * key bindings from a file, etc. - */ - public abstract void addDefaultKeyBindings(); - - /** - * Adds a key binding to this input handler. - * @param keyBinding The key binding (the format of this is - * input-handler specific) - * @param action The action - */ - public abstract void addKeyBinding(String keyBinding, ActionListener action); - - /** - * Removes a key binding from this input handler. - * @param keyBinding The key binding - */ - public abstract void removeKeyBinding(String keyBinding); - - /** - * Removes all key bindings from this input handler. - */ - public abstract void removeAllKeyBindings(); - - /** - * Grabs the next key typed event and invokes the specified - * action with the key as a the action command. - */ - public void grabNextKeyStroke(ActionListener listener) - { - grabAction = listener; - } - - /** - * Returns if repeating is enabled. When repeating is enabled, - * actions will be executed multiple times. This is usually - * invoked with a special key stroke in the input handler. - */ - public boolean isRepeatEnabled() - { - return repeat; - } - - /** - * Enables repeating. When repeating is enabled, actions will be - * executed multiple times. Once repeating is enabled, the input - * handler should read a number from the keyboard. - */ - public void setRepeatEnabled(boolean repeat) - { - this.repeat = repeat; - } - - /** - * Returns the number of times the next action will be repeated. - */ - public int getRepeatCount() - { - return (repeat ? Math.max(1,repeatCount) : 1); - } - - /** - * Sets the number of times the next action will be repeated. - * @param repeatCount The repeat count - */ - public void setRepeatCount(int repeatCount) - { - this.repeatCount = repeatCount; - } - - /** - * Returns the macro recorder. If this is non-null, all executed - * actions should be forwarded to the recorder. - */ - public InputHandler.MacroRecorder getMacroRecorder() - { - return recorder; - } - - /** - * Sets the macro recorder. If this is non-null, all executed - * actions should be forwarded to the recorder. - * @param recorder The macro recorder - */ - public void setMacroRecorder(InputHandler.MacroRecorder recorder) - { - this.recorder = recorder; - } - - /** - * Returns a copy of this input handler that shares the same - * key bindings. Setting key bindings in the copy will also - * set them in the original. - */ - public abstract InputHandler copy(); - - /** - * Executes the specified action, repeating and recording it as - * necessary. - * @param listener The action listener - * @param source The event source - * @param actionCommand The action command - */ - public void executeAction(ActionListener listener, Object source, - String actionCommand) - { - // create event - ActionEvent evt = new ActionEvent(source, - ActionEvent.ACTION_PERFORMED, - actionCommand); - - // don't do anything if the action is a wrapper - // (like EditAction.Wrapper) - if(listener instanceof Wrapper) - { - listener.actionPerformed(evt); - return; - } - - // remember old values, in case action changes them - boolean _repeat = repeat; - int _repeatCount = getRepeatCount(); - - // execute the action - if(listener instanceof InputHandler.NonRepeatable) - listener.actionPerformed(evt); - else - { - for(int i = 0; i < Math.max(1,repeatCount); i++) - listener.actionPerformed(evt); - } - - // do recording. Notice that we do no recording whatsoever - // for actions that grab keys - if(grabAction == null) - { - if(recorder != null) - { - if(!(listener instanceof InputHandler.NonRecordable)) - { - if(_repeatCount != 1) - recorder.actionPerformed(REPEAT,String.valueOf(_repeatCount)); - - recorder.actionPerformed(listener,actionCommand); - } - } - - // If repeat was true originally, clear it - // Otherwise it might have been set by the action, etc - if(_repeat) - { - repeat = false; - repeatCount = 0; - } - } - } - - /** - * Returns the text area that fired the specified event. - * @param evt The event - */ - public static JEditTextArea getTextArea(EventObject evt) - { - if(evt != null) - { - Object o = evt.getSource(); - if(o instanceof Component) - { - // find the parent text area - Component c = (Component)o; - for(;;) - { - if(c instanceof JEditTextArea) - return (JEditTextArea)c; - else if(c == null) - break; - if(c instanceof JPopupMenu) - c = ((JPopupMenu)c) - .getInvoker(); - else - c = c.getParent(); - } - } - } - - // this shouldn't happen - System.err.println("BUG: getTextArea() returning null"); - System.err.println("Report this to Slava Pestov "); - return null; - } - - // protected members - - /** - * If a key is being grabbed, this method should be called with - * the appropriate key event. It executes the grab action with - * the typed character as the parameter. - */ - protected void handleGrabAction(KeyEvent evt) - { - // Clear it *before* it is executed so that executeAction() - // resets the repeat count - ActionListener _grabAction = grabAction; - grabAction = null; - executeAction(_grabAction,evt.getSource(), - String.valueOf(evt.getKeyChar())); - } - - // protected members - protected ActionListener grabAction; - protected boolean repeat; - protected int repeatCount; - protected InputHandler.MacroRecorder recorder; - - /** - * If an action implements this interface, it should not be repeated. - * Instead, it will handle the repetition itself. - */ - public interface NonRepeatable {} - - /** - * If an action implements this interface, it should not be recorded - * by the macro recorder. Instead, it will do its own recording. - */ - public interface NonRecordable {} - - /** - * For use by EditAction.Wrapper only. - * @since jEdit 2.2final - */ - public interface Wrapper {} - - /** - * Macro recorder. - */ - public interface MacroRecorder - { - void actionPerformed(ActionListener listener, - String actionCommand); - } - - public static class backspace implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - - if(!textArea.isEditable()) - { - textArea.getToolkit().beep(); - return; - } - - if(textArea.getSelectionStart() - != textArea.getSelectionStop()) - { - textArea.setSelectedText(""); - } - else - { - int caret = textArea.getCaretPosition(); - if(caret == 0) - { - textArea.getToolkit().beep(); - return; - } - try - { - textArea.getDocument().remove(caret - 1,1); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - } - } - } - - public static class backspace_word implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int start = textArea.getSelectionStart(); - if(start != textArea.getSelectionStop()) - { - textArea.setSelectedText(""); - } - - int line = textArea.getCaretLine(); - int lineStart = textArea.getLineStartOffset(line); - int caret = start - lineStart; - - String lineText = textArea.getLineText(textArea - .getCaretLine()); - - if(caret == 0) - { - if(lineStart == 0) - { - textArea.getToolkit().beep(); - return; - } - caret--; - } - else - { - String noWordSep = (String)textArea.getDocument().getProperty("noWordSep"); - caret = TextUtilities.findWordStart(lineText,caret,noWordSep); - } - - try - { - textArea.getDocument().remove( - caret + lineStart, - start - (caret + lineStart)); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - } - } - - public static class delete implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - - if(!textArea.isEditable()) - { - textArea.getToolkit().beep(); - return; - } - - if(textArea.getSelectionStart() - != textArea.getSelectionStop()) - { - textArea.setSelectedText(""); - } - else - { - int caret = textArea.getCaretPosition(); - if(caret == textArea.getDocumentLength()) - { - textArea.getToolkit().beep(); - return; - } - try - { - textArea.getDocument().remove(caret,1); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - } - } - } - - public static class delete_word implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int start = textArea.getSelectionStart(); - if(start != textArea.getSelectionStop()) - { - textArea.setSelectedText(""); - } - - int line = textArea.getCaretLine(); - int lineStart = textArea.getLineStartOffset(line); - int caret = start - lineStart; - - String lineText = textArea.getLineText(textArea - .getCaretLine()); - - if(caret == lineText.length()) - { - if(lineStart + caret == textArea.getDocumentLength()) - { - textArea.getToolkit().beep(); - return; - } - caret++; - } - else - { - String noWordSep = (String)textArea.getDocument().getProperty("noWordSep"); - caret = TextUtilities.findWordEnd(lineText,caret,noWordSep); - } - - try - { - textArea.getDocument().remove(start, - (caret + lineStart) - start); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - } - } - - public static class end implements ActionListener - { - private boolean select; - - public end(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - - int caret = textArea.getCaretPosition(); - - int lastOfLine = textArea.getLineStopOffset( - textArea.getCaretLine()) - 1; - int lastVisibleLine = textArea.getFirstLine() - + textArea.getVisibleLines(); - if(lastVisibleLine >= textArea.getLineCount()) - { - lastVisibleLine = Math.min(textArea.getLineCount() - 1, - lastVisibleLine); - } - else - lastVisibleLine -= (textArea.getElectricScroll() + 1); - - int lastVisible = textArea.getLineStopOffset(lastVisibleLine) - 1; - int lastDocument = textArea.getDocumentLength(); - - if(caret == lastDocument) - { - textArea.getToolkit().beep(); - return; - } - else if(!Boolean.TRUE.equals(textArea.getClientProperty( - SMART_HOME_END_PROPERTY))) - caret = lastOfLine; - else if(caret == lastVisible) - caret = lastDocument; - else if(caret == lastOfLine) - caret = lastVisible; - else - caret = lastOfLine; - - if(select) - textArea.select(textArea.getMarkPosition(),caret); - else - textArea.setCaretPosition(caret); - } - } - - public static class document_end implements ActionListener - { - private boolean select; - - public document_end(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - if(select) - textArea.select(textArea.getMarkPosition(), - textArea.getDocumentLength()); - else - textArea.setCaretPosition(textArea - .getDocumentLength()); - } - } - - public static class home implements ActionListener - { - private boolean select; - - public home(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - - int caret = textArea.getCaretPosition(); - - int firstLine = textArea.getFirstLine(); - - int firstOfLine = textArea.getLineStartOffset( - textArea.getCaretLine()); - int firstVisibleLine = (firstLine == 0 ? 0 : - firstLine + textArea.getElectricScroll()); - int firstVisible = textArea.getLineStartOffset( - firstVisibleLine); - - if(caret == 0) - { - textArea.getToolkit().beep(); - return; - } - else if(!Boolean.TRUE.equals(textArea.getClientProperty( - SMART_HOME_END_PROPERTY))) - caret = firstOfLine; - else if(caret == firstVisible) - caret = 0; - else if(caret == firstOfLine) - caret = firstVisible; - else - caret = firstOfLine; - - if(select) - textArea.select(textArea.getMarkPosition(),caret); - else - textArea.setCaretPosition(caret); - } - } - - public static class document_home implements ActionListener - { - private boolean select; - - public document_home(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - if(select) - textArea.select(textArea.getMarkPosition(),0); - else - textArea.setCaretPosition(0); - } - } - - public static class insert_break implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - - if(!textArea.isEditable()) - { - textArea.getToolkit().beep(); - return; - } - - textArea.setSelectedText("\n"); - } - } - - public static class insert_tab implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - - if(!textArea.isEditable()) - { - textArea.getToolkit().beep(); - return; - } - - textArea.overwriteSetSelectedText("\t"); - } - } - - public static class next_char implements ActionListener - { - private boolean select; - - public next_char(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int caret = textArea.getCaretPosition(); - - if(caret == textArea.getDocumentLength()) - { - if (textArea.getSelectionStart() != - textArea.getSelectionStop()) { - // just move to the end of the selection - textArea.select(caret, caret); - } else { - // beep at the user for being annoying - textArea.getToolkit().beep(); - } - - } else if (select) { - textArea.select(textArea.getMarkPosition(), caret+1); - - } else { - int start = textArea.getSelectionStart(); - int end = textArea.getSelectionStop(); - if (start != end) { - textArea.select(end, end); - } else { - textArea.setCaretPosition(caret + 1); - } - } - } - } - - public static class next_line implements ActionListener - { - private boolean select; - - public next_line(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int caret = textArea.getCaretPosition(); - int line = textArea.getCaretLine(); - - if(line == textArea.getLineCount() - 1) - { - //textArea.getToolkit().beep(); - int doc = textArea.getDocumentLength(); - if (select) { - textArea.select(textArea.getMarkPosition(), doc); - } else { - textArea.setCaretPosition(doc); - } - return; - } - - int magic = textArea.getMagicCaretPosition(); - if(magic == -1) - { - magic = textArea.offsetToX(line, - caret - textArea.getLineStartOffset(line)); - } - - caret = textArea.getLineStartOffset(line + 1) - + textArea.xToOffset(line + 1,magic); - if(select) - textArea.select(textArea.getMarkPosition(),caret); - else - textArea.setCaretPosition(caret); - textArea.setMagicCaretPosition(magic); - } - } - - public static class next_page implements ActionListener - { - private boolean select; - - public next_page(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int lineCount = textArea.getLineCount(); - int firstLine = textArea.getFirstLine(); - int visibleLines = textArea.getVisibleLines(); - int line = textArea.getCaretLine(); - - firstLine += visibleLines; - - if(firstLine + visibleLines >= lineCount - 1) - firstLine = lineCount - visibleLines; - - textArea.setFirstLine(firstLine); - - int caret = textArea.getLineStartOffset( - Math.min(textArea.getLineCount() - 1, - line + visibleLines)); - if(select) - textArea.select(textArea.getMarkPosition(),caret); - else - textArea.setCaretPosition(caret); - } - } - - public static class next_word implements ActionListener - { - private boolean select; - - public next_word(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int caret = textArea.getCaretPosition(); - int line = textArea.getCaretLine(); - int lineStart = textArea.getLineStartOffset(line); - caret -= lineStart; - - String lineText = textArea.getLineText(textArea - .getCaretLine()); - - if(caret == lineText.length()) - { - if(lineStart + caret == textArea.getDocumentLength()) - { - textArea.getToolkit().beep(); - return; - } - caret++; - } - else - { - String noWordSep = (String)textArea.getDocument().getProperty("noWordSep"); - caret = TextUtilities.findWordEnd(lineText,caret,noWordSep); - } - - if(select) - textArea.select(textArea.getMarkPosition(), - lineStart + caret); - else - textArea.setCaretPosition(lineStart + caret); - } - } - - public static class overwrite implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - textArea.setOverwriteEnabled( - !textArea.isOverwriteEnabled()); - } - } - - public static class prev_char implements ActionListener - { - private boolean select; - - public prev_char(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int caret = textArea.getCaretPosition(); - if(caret == 0) - { - textArea.getToolkit().beep(); - return; - } - - if (select) { - textArea.select(textArea.getMarkPosition(), caret-1); - } else { - int start = textArea.getSelectionStart(); - int end = textArea.getSelectionStop(); - if (start != end) { - textArea.select(start, start); - } else { - textArea.setCaretPosition(caret - 1); - } - } - } - } - - public static class prev_line implements ActionListener - { - private boolean select; - - public prev_line(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int caret = textArea.getCaretPosition(); - int line = textArea.getCaretLine(); - - if(line == 0) - { - if (select) { - if (textArea.getSelectionStart() != 0) { - textArea.select(textArea.getMarkPosition(), 0); - } - } else { - textArea.setCaretPosition(0); - } - //textArea.getToolkit().beep(); - return; - } - - int magic = textArea.getMagicCaretPosition(); - if(magic == -1) - { - magic = textArea.offsetToX(line, - caret - textArea.getLineStartOffset(line)); - } - - caret = textArea.getLineStartOffset(line - 1) - + textArea.xToOffset(line - 1,magic); - if(select) - textArea.select(textArea.getMarkPosition(),caret); - else - textArea.setCaretPosition(caret); - textArea.setMagicCaretPosition(magic); - } - } - - public static class prev_page implements ActionListener - { - private boolean select; - - public prev_page(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int firstLine = textArea.getFirstLine(); - int visibleLines = textArea.getVisibleLines(); - int line = textArea.getCaretLine(); - - if(firstLine < visibleLines) - firstLine = visibleLines; - - textArea.setFirstLine(firstLine - visibleLines); - - int caret = textArea.getLineStartOffset( - Math.max(0,line - visibleLines)); - if(select) - textArea.select(textArea.getMarkPosition(),caret); - else - textArea.setCaretPosition(caret); - } - } - - public static class prev_word implements ActionListener - { - private boolean select; - - public prev_word(boolean select) - { - this.select = select; - } - - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - int caret = textArea.getCaretPosition(); - int line = textArea.getCaretLine(); - int lineStart = textArea.getLineStartOffset(line); - caret -= lineStart; - - String lineText = textArea.getLineText(textArea - .getCaretLine()); - - if(caret == 0) - { - if(lineStart == 0) - { - textArea.getToolkit().beep(); - return; - } - caret--; - } - else - { - String noWordSep = (String)textArea.getDocument().getProperty("noWordSep"); - caret = TextUtilities.findWordStart(lineText,caret,noWordSep); - } - - if(select) - textArea.select(textArea.getMarkPosition(), - lineStart + caret); - else - textArea.setCaretPosition(lineStart + caret); - } - } - - public static class repeat implements ActionListener, - InputHandler.NonRecordable - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - textArea.getInputHandler().setRepeatEnabled(true); - String actionCommand = evt.getActionCommand(); - if(actionCommand != null) - { - textArea.getInputHandler().setRepeatCount( - Integer.parseInt(actionCommand)); - } - } - } - - public static class toggle_rect implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - textArea.setSelectionRectangular( - !textArea.isSelectionRectangular()); - } - } - - - public static class clipboard_cut implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - getTextArea(evt).cut(); - } - } - - - public static class clipboard_copy implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - getTextArea(evt).copy(); - } - } - - - public static class clipboard_paste implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - getTextArea(evt).paste(); - } - } - - - public static class insert_char implements ActionListener, - InputHandler.NonRepeatable - { - public void actionPerformed(ActionEvent evt) - { - JEditTextArea textArea = getTextArea(evt); - String str = evt.getActionCommand(); - int repeatCount = textArea.getInputHandler().getRepeatCount(); - - if(textArea.isEditable()) - { - StringBuffer buf = new StringBuffer(); - for(int i = 0; i < repeatCount; i++) - buf.append(str); - textArea.overwriteSetSelectedText(buf.toString()); - } - else - { - textArea.getToolkit().beep(); - } - } - } -} diff --git a/app/src/processing/app/syntax/JEditTextArea.java b/app/src/processing/app/syntax/JEditTextArea.java deleted file mode 100644 index c12102038c8..00000000000 --- a/app/src/processing/app/syntax/JEditTextArea.java +++ /dev/null @@ -1,2448 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - * JEditTextArea.java - jEdit's text component - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import processing.app.*; - -import javax.swing.event.*; -import javax.swing.text.*; -import javax.swing.undo.*; -import javax.swing.*; - -import java.awt.datatransfer.*; -import java.awt.event.*; -import java.awt.*; -import java.util.Enumeration; -import java.util.Vector; -import java.awt.im.InputMethodRequests; - -import processing.app.syntax.im.InputMethodSupport; - -/** - * jEdit's text area component. It is more suited for editing program - * source code than JEditorPane, because it drops the unnecessary features - * (images, variable-width lines, and so on) and adds a whole bunch of - * useful goodies such as: - *

- * It is also faster and doesn't have as many problems. It can be used - * in other applications; the only other part of jEdit it depends on is - * the syntax package.

- * - * To use it in your app, treat it like any other component, for example: - *

JEditTextArea ta = new JEditTextArea();
- * ta.setTokenMarker(new JavaTokenMarker());
- * ta.setText("public class Test {\n"
- *     + "    public static void main(String[] args) {\n"
- *     + "        System.out.println(\"Hello World\");\n"
- *     + "    }\n"
- *     + "}");
- * - * @author Slava Pestov - */ -public class JEditTextArea extends JComponent -{ - /** - * Adding components with this name to the text area will place - * them left of the horizontal scroll bar. In jEdit, the status - * bar is added this way. - */ - public static String LEFT_OF_SCROLLBAR = "los"; - - /** - * Creates a new JEditTextArea with the default settings. - */ - /* - public JEditTextArea() - { - this(TextAreaDefaults.getDefaults()); - } - */ - - /** - * Creates a new JEditTextArea with the specified settings. - * @param defaults The default settings - */ - public JEditTextArea(TextAreaDefaults defaults) - { - // Enable the necessary events - enableEvents(AWTEvent.KEY_EVENT_MASK); - - // Initialize some misc. stuff - painter = new TextAreaPainter(this,defaults); - editorLineNumbers = new TextAreaLineNumbers(this,defaults); - documentHandler = new DocumentHandler(); - eventListenerList = new EventListenerList(); - caretEvent = new MutableCaretEvent(); - lineSegment = new Segment(); - bracketLine = bracketPosition = -1; - blink = true; - - // Initialize the GUI - setLayout(new ScrollLayout()); - add(LEFT, editorLineNumbers); - add(CENTER, painter); - add(RIGHT, vertical = new JScrollBar(JScrollBar.VERTICAL)); - add(BOTTOM, horizontal = new JScrollBar(JScrollBar.HORIZONTAL)); - - // Add some event listeners - vertical.addAdjustmentListener(new AdjustHandler()); - horizontal.addAdjustmentListener(new AdjustHandler()); - painter.addComponentListener(new ComponentHandler()); - painter.addMouseListener(new MouseHandler()); - painter.addMouseMotionListener(new DragHandler()); - addFocusListener(new FocusHandler()); - // send tab keys through to the text area - // http://dev.processing.org/bugs/show_bug.cgi?id=1267 - setFocusTraversalKeysEnabled(false); - - // Load the defaults - setInputHandler(defaults.inputHandler); - setDocument(defaults.document); - editable = defaults.editable; - caretVisible = defaults.caretVisible; - caretBlinks = defaults.caretBlinks; - electricScroll = defaults.electricScroll; - - // We don't seem to get the initial focus event? - focusedComponent = this; - - addMouseWheelListener(new MouseWheelListener() { - public void mouseWheelMoved(MouseWheelEvent e) { - if (!scrollBarsInitialized) return; - int amt = e.getWheelRotation(); - vertical.setValue(vertical.getValue() + amt * 3); - } - }); - } - - /** - * Inline Input Method Support for Japanese. - */ - private InputMethodSupport inputMethodSupport = null; - public InputMethodRequests getInputMethodRequests() { - if (inputMethodSupport == null) { - inputMethodSupport = new InputMethodSupport(this); - } - return inputMethodSupport; - } - - /** - * Get current position of the vertical scroll bar. [fry] - */ - public int getScrollPosition() { - return vertical.getValue(); - } - - - /** - * Set position of the vertical scroll bar. [fry] - */ - public void setScrollPosition(int what) { - vertical.setValue(what); - } - - - /** - * Returns if this component can be traversed by pressing - * the Tab key. This returns false. - */ -// public final boolean isManagingFocus() { -// return true; -// } - - /** - * Returns the object responsible for painting this text area. - */ - public final TextAreaPainter getPainter() { - return painter; - } - - /** - * Returns the input handler. - */ - public final InputHandler getInputHandler() { - return inputHandler; - } - - /** - * Sets the input handler. - * @param inputHandler The new input handler - */ - public void setInputHandler(InputHandler inputHandler) { - this.inputHandler = inputHandler; - } - - /** - * Returns true if the caret is blinking, false otherwise. - */ - public final boolean isCaretBlinkEnabled() { - return caretBlinks; - } - - /** - * Toggles caret blinking. - * @param caretBlinks True if the caret should blink, false otherwise - */ - public void setCaretBlinkEnabled(boolean caretBlinks) { - this.caretBlinks = caretBlinks; - if(!caretBlinks) - blink = false; - - painter.invalidateSelectedLines(); - } - - /** - * Returns true if the caret is visible, false otherwise. - */ - public final boolean isCaretVisible() { - return (!caretBlinks || blink) && caretVisible; - } - - /** - * Sets if the caret should be visible. - * @param caretVisible True if the caret should be visible, false - * otherwise - */ - public void setCaretVisible(boolean caretVisible) { - this.caretVisible = caretVisible; - blink = true; - - painter.invalidateSelectedLines(); - } - - /** - * Blinks the caret. - */ - public final void blinkCaret() { - if (caretBlinks) { - blink = !blink; - painter.invalidateSelectedLines(); - } else { - blink = true; - } - } - - /** - * Returns the number of lines from the top and button of the - * text area that are always visible. - */ - public final int getElectricScroll() { - return electricScroll; - } - - /** - * Sets the number of lines from the top and bottom of the text - * area that are always visible - * @param electricScroll The number of lines always visible from - * the top or bottom - */ - public final void setElectricScroll(int electricScroll) { - this.electricScroll = electricScroll; - } - - - /** - * Updates the state of the scroll bars. This should be called - * if the number of lines in the document changes, or when the - * size of the text are changes. - */ - public void updateScrollBars() { - if (vertical != null && visibleLines != 0) { - vertical.setValues(firstLine,visibleLines,0,getLineCount()); - vertical.setUnitIncrement(2); - vertical.setBlockIncrement(visibleLines); - } - - //if (horizontal != null && width != 0) { - if ((horizontal != null) && (painter.getWidth() != 0)) { - //int value = horizontal.getValue(); - //System.out.println("updateScrollBars"); - //int width = painter.getWidth(); - int lineCount = getLineCount(); - int maxLineLength = 0; - for (int i = 0; i < lineCount; i++) { - int lineLength = getLineLength(i); - if (lineLength > maxLineLength) { - maxLineLength = lineLength; - } - } - int charWidth = painter.getFontMetrics().charWidth('w'); - int width = maxLineLength * charWidth; - int painterWidth = painter.getWidth(); - //System.out.println("max line len " + maxLineLength); - //System.out.println("width " + width); - //System.out.println("text area width " + painter.getWidth()); - - // this was the default, but it's enormous - //horizontal.setValues(-horizontalOffset,width,0,width * 5); - - // something more reasonable, though this is a bad solution - //horizontal.setValues(-horizontalOffset,width,0,width * 2); - - // in general.. time to start looking at that other syntax pkg - // since most code should fit the window horizontally, just use - // the default settings for the width, this is a nicer solution - // until a better update mechanism can be implemented [fry] - - //horizontal.setValues(0, width, 0, width); - //0, width - horizontalOffset); - // works, from pre-75 versions of p5 - //horizontal.setValues(-horizontalOffset, width, 0, width); - - // gets weird when writing to the end of lines - //horizontal.setValues(value, painterWidth, 0, width); - - // seems to work, implemented for 0075 - horizontal.setValues(-horizontalOffset, painterWidth, 0, width); - - //horizontal.setUnitIncrement(painter.getFontMetrics().charWidth('w')); - horizontal.setUnitIncrement(charWidth); - horizontal.setBlockIncrement(width / 2); - } - updateLineNumbers(); - } - - private void updateLineNumbers() { - if (editorLineNumbers != null) { - editorLineNumbers.updateLineNumbers(getFirstLine() + 1, Math.min(getFirstLine() + getVisibleLines() + 1, getLineCount())); - editorLineNumbers.updateWidthForNumDigits(String.valueOf(getLineCount()).length()); - } - } - - /** - * Returns the line displayed at the text area's origin. - */ - public final int getFirstLine() { - return firstLine; - } - - /** - * Sets the line displayed at the text area's origin without - * updating the scroll bars. - */ - public void setFirstLine(int firstLine) { - if (firstLine == this.firstLine) return; - - this.firstLine = firstLine; - if (firstLine != vertical.getValue()) { - updateScrollBars(); - } - repaintEditor(); - } - - /** - * Returns the number of lines visible in this text area. - */ - public final int getVisibleLines() { - return visibleLines; - } - - /** - * Recalculates the number of visible lines. This should not - * be called directly. - */ - public final void recalculateVisibleLines() { - if (painter == null) return; - - int height = painter.getHeight(); - int lineHeight = painter.getFontMetrics().getHeight(); - visibleLines = height / lineHeight; - updateScrollBars(); - } - - /** - * Returns the horizontal offset of drawn lines. - */ - public final int getHorizontalOffset() { - return horizontalOffset; - } - - /** - * Sets the horizontal offset of drawn lines. This can be used to - * implement horizontal scrolling. - * @param horizontalOffset offset The new horizontal offset - */ - public void setHorizontalOffset(int horizontalOffset) - { - if(horizontalOffset == this.horizontalOffset) - return; - this.horizontalOffset = horizontalOffset; - if(horizontalOffset != horizontal.getValue()) - updateScrollBars(); - repaintEditor(); - } - - /** - * A fast way of changing both the first line and horizontal - * offset. - * @param firstLine The new first line - * @param horizontalOffset The new horizontal offset - * @return True if any of the values were changed, false otherwise - */ - public boolean setOrigin(int firstLine, int horizontalOffset) - { - boolean changed = false; - //int oldFirstLine = this.firstLine; - - if(horizontalOffset != this.horizontalOffset) - { - this.horizontalOffset = horizontalOffset; - changed = true; - } - - if(firstLine != this.firstLine) - { - this.firstLine = firstLine; - changed = true; - } - - if(changed) - { - updateScrollBars(); - repaintEditor(); - } - - return changed; - } - - private void repaintEditor() { - painter.repaint(); - updateLineNumbers(); - } - - /** - * Ensures that the caret is visible by scrolling the text area if - * necessary. - * @return True if scrolling was actually performed, false if the - * caret was already visible - */ - public boolean scrollToCaret() - { - int line = getCaretLine(); - int lineStart = getLineStartOffset(line); - int offset = Math.max(0,Math.min(getLineLength(line) - 1, - getCaretPosition() - lineStart)); - - return scrollTo(line,offset); - } - - /** - * Ensures that the specified line and offset is visible by scrolling - * the text area if necessary. - * @param line The line to scroll to - * @param offset The offset in the line to scroll to - * @return True if scrolling was actually performed, false if the - * line and offset was already visible - */ - public boolean scrollTo(int line, int offset) - { - // visibleLines == 0 before the component is realized - // we can't do any proper scrolling then, so we have - // this hack... - if (visibleLines == 0) { - setFirstLine(Math.max(0,line - electricScroll)); - return true; - } - - int newFirstLine = firstLine; - int newHorizontalOffset = horizontalOffset; - - if(line < firstLine + electricScroll) { - newFirstLine = Math.max(0,line - electricScroll); - - } else if(line + electricScroll >= firstLine + visibleLines) { - newFirstLine = (line - visibleLines) + electricScroll + 1; - if(newFirstLine + visibleLines >= getLineCount()) - newFirstLine = getLineCount() - visibleLines; - if(newFirstLine < 0) - newFirstLine = 0; - } - - int x = _offsetToX(line,offset); - int width = painter.getFontMetrics().charWidth('w'); - - if(x < 0) { - newHorizontalOffset = Math.min(0,horizontalOffset - x + width + 5); - } else if(x + width >= painter.getWidth()) { - newHorizontalOffset = horizontalOffset + - (painter.getWidth() - x) - width - 5; - } - - return setOrigin(newFirstLine,newHorizontalOffset); - } - - /** - * Converts a line index to a y co-ordinate. - * @param line The line - */ - public int lineToY(int line) - { - FontMetrics fm = painter.getFontMetrics(); - return (line - firstLine) * fm.getHeight() - - (fm.getLeading() + fm.getMaxDescent()); - } - - /** - * Converts a y co-ordinate to a line index. - * @param y The y co-ordinate - */ - public int yToLine(int y) - { - FontMetrics fm = painter.getFontMetrics(); - int height = fm.getHeight(); - return Math.max(0,Math.min(getLineCount() - 1, - y / height + firstLine)); - } - - /** - * Converts an offset in a line into an x co-ordinate. This is a - * slow version that can be used any time. - * @param line The line - * @param offset The offset, from the start of the line - */ - public final int offsetToX(int line, int offset) - { - // don't use cached tokens - painter.currentLineTokens = null; - return _offsetToX(line,offset); - } - - /** - * Converts an offset in a line into an x co-ordinate. This is a - * fast version that should only be used if no changes were made - * to the text since the last repaint. - * @param line The line - * @param offset The offset, from the start of the line - */ - public int _offsetToX(int line, int offset) - { - TokenMarker tokenMarker = getTokenMarker(); - - /* Use painter's cached info for speed */ - FontMetrics fm = painter.getFontMetrics(); - - getLineText(line,lineSegment); - - int segmentOffset = lineSegment.offset; - int x = horizontalOffset; - - /* If syntax coloring is disabled, do simple translation */ - if(tokenMarker == null) - { - lineSegment.count = offset; - return x + Utilities.getTabbedTextWidth(lineSegment, - fm,x,painter,0); - } - /* If syntax coloring is enabled, we have to do this because - * tokens can vary in width */ - else - { - Token tokens; - if(painter.currentLineIndex == line - && painter.currentLineTokens != null) - tokens = painter.currentLineTokens; - else - { - painter.currentLineIndex = line; - tokens = painter.currentLineTokens - = tokenMarker.markTokens(lineSegment,line); - } - - //Toolkit toolkit = painter.getToolkit(); - Font defaultFont = painter.getFont(); - SyntaxStyle[] styles = painter.getStyles(); - - for(;;) - { - byte id = tokens.id; - if(id == Token.END) - { - return x; - } - - if(id == Token.NULL) - fm = painter.getFontMetrics(); - else - fm = styles[id].getFontMetrics(defaultFont, this); - - int length = tokens.length; - - if(offset + segmentOffset < lineSegment.offset + length) - { - lineSegment.count = offset - (lineSegment.offset - segmentOffset); - return x + Utilities.getTabbedTextWidth( - lineSegment,fm,x,painter,0); - } - else - { - lineSegment.count = length; - x += Utilities.getTabbedTextWidth( - lineSegment,fm,x,painter,0); - lineSegment.offset += length; - } - tokens = tokens.next; - } - } - } - - /** - * Converts an x co-ordinate to an offset within a line. - * @param line The line - * @param x The x co-ordinate - */ - public int xToOffset(int line, int x) - { - TokenMarker tokenMarker = getTokenMarker(); - - /* Use painter's cached info for speed */ - FontMetrics fm = painter.getFontMetrics(); - - getLineText(line,lineSegment); - - char[] segmentArray = lineSegment.array; - int segmentOffset = lineSegment.offset; - int segmentCount = lineSegment.count; - - int width = horizontalOffset; - - if(tokenMarker == null) - { - for(int i = 0; i < segmentCount; i++) - { - char c = segmentArray[i + segmentOffset]; - int charWidth; - if(c == '\t') - charWidth = (int)painter.nextTabStop(width,i) - - width; - else - charWidth = fm.charWidth(c); - - if(painter.isBlockCaretEnabled()) - { - if(x - charWidth <= width) - return i; - } - else - { - if(x - charWidth / 2 <= width) - return i; - } - - width += charWidth; - } - - return segmentCount; - } - else - { - Token tokens; - if(painter.currentLineIndex == line && painter - .currentLineTokens != null) - tokens = painter.currentLineTokens; - else - { - painter.currentLineIndex = line; - tokens = painter.currentLineTokens - = tokenMarker.markTokens(lineSegment,line); - } - - int offset = 0; - //Toolkit toolkit = painter.getToolkit(); - Font defaultFont = painter.getFont(); - SyntaxStyle[] styles = painter.getStyles(); - - for(;;) - { - byte id = tokens.id; - if(id == Token.END) - return offset; - - if(id == Token.NULL) - fm = painter.getFontMetrics(); - else - fm = styles[id].getFontMetrics(defaultFont, this); - - int length = tokens.length; - - for(int i = 0; i < length; i++) - { - char c = segmentArray[segmentOffset + offset + i]; - int charWidth; - if(c == '\t') - charWidth = (int)painter.nextTabStop(width,offset + i) - - width; - else - charWidth = fm.charWidth(c); - - if(painter.isBlockCaretEnabled()) - { - if(x - charWidth <= width) - return offset + i; - } - else - { - if(x - charWidth / 2 <= width) - return offset + i; - } - - width += charWidth; - } - - offset += length; - tokens = tokens.next; - } - } - } - - /** - * Converts a point to an offset, from the start of the text. - * @param x The x co-ordinate of the point - * @param y The y co-ordinate of the point - */ - public int xyToOffset(int x, int y) - { - int line = yToLine(y); - int start = getLineStartOffset(line); - return start + xToOffset(line,x); - } - - /** - * Returns the document this text area is editing. - */ - public final SyntaxDocument getDocument() - { - return document; - } - - /** - * Sets the document this text area is editing. - * @param document The document - */ - public void setDocument(SyntaxDocument document) { - if (this.document == document) - return; - if (this.document != null) - this.document.removeDocumentListener(documentHandler); - this.document = document; - - document.addDocumentListener(documentHandler); - - select(0, 0); - updateScrollBars(); - repaintEditor(); - } - - - /** - * Set document with a twist, includes the old caret - * and scroll positions, added for p5. [fry] - */ - public void setDocument(SyntaxDocument document, - int start, int stop, int scroll) { - if (this.document == document) - return; - if (this.document != null) - this.document.removeDocumentListener(documentHandler); - this.document = document; - - document.addDocumentListener(documentHandler); - - select(start, stop); - updateScrollBars(); - setScrollPosition(scroll); - repaintEditor(); - } - - - /** - * Returns the document's token marker. Equivalent to calling - * getDocument().getTokenMarker(). - */ - public final TokenMarker getTokenMarker() - { - return document.getTokenMarker(); - } - - /** - * Sets the document's token marker. Equivalent to caling - * getDocument().setTokenMarker(). - * @param tokenMarker The token marker - */ - public final void setTokenMarker(TokenMarker tokenMarker) - { - document.setTokenMarker(tokenMarker); - } - - /** - * Returns the length of the document. Equivalent to calling - * getDocument().getLength(). - */ - public final int getDocumentLength() - { - return document.getLength(); - } - - /** - * Returns the number of lines in the document. - */ - public final int getLineCount() - { - if (document != null) { - return document.getDefaultRootElement().getElementCount(); - } else { - return 0; - } - } - - /** - * Returns the line containing the specified offset. - * @param offset The offset - */ - public final int getLineOfOffset(int offset) - { - return document.getDefaultRootElement().getElementIndex(offset); - } - - /** - * Returns the start offset of the specified line. - * @param line The line - * @return The start offset of the specified line, or -1 if the line is - * invalid - */ - public int getLineStartOffset(int line) - { - Element lineElement = document.getDefaultRootElement() - .getElement(line); - if(lineElement == null) - return -1; - else - return lineElement.getStartOffset(); - } - - /** - * Returns the end offset of the specified line. - * @param line The line - * @return The end offset of the specified line, or -1 if the line is - * invalid. - */ - public int getLineStopOffset(int line) - { - Element lineElement = document.getDefaultRootElement() - .getElement(line); - if(lineElement == null) - return -1; - else - return lineElement.getEndOffset(); - } - - /** - * Returns the end offset of the specified line, but not past the end of the text - * @param line The line - * @return The end offset of the specified line, safe to use for a selection, or -1 if the line is - * invalid. - */ - public int getSafeLineStopOffset(int line) - { - return Math.min(getLineStopOffset(line),getDocumentLength()); - } - - /** - * Returns the length of the specified line. - * @param line The line - */ - public int getLineLength(int line) - { - Element lineElement = document.getDefaultRootElement() - .getElement(line); - if(lineElement == null) - return -1; - else - return lineElement.getEndOffset() - - lineElement.getStartOffset() - 1; - } - - /** - * Returns the entire text of this text area. - */ - public String getText() - { - try - { - return document.getText(0,document.getLength()); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - return null; - } - } - - - /** - * Sets the entire text of this text area. - */ - public void setText(String text) - { - try { - document.beginCompoundEdit(); - document.remove(0,document.getLength()); - document.insertString(0,text,null); - - } catch (BadLocationException bl) { - bl.printStackTrace(); - - } finally { - document.endCompoundEdit(); - } - } - - - /** - * Returns the specified substring of the document. - * @param start The start offset - * @param len The length of the substring - * @return The substring, or null if the offsets are invalid - */ - public final String getText(int start, int len) - { - try - { - return document.getText(start,len); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - return null; - } - } - - /** - * Copies the specified substring of the document into a segment. - * If the offsets are invalid, the segment will contain a null string. - * @param start The start offset - * @param len The length of the substring - * @param segment The segment - */ - public final void getText(int start, int len, Segment segment) - { - try - { - document.getText(start,len,segment); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - segment.offset = segment.count = 0; - } - } - - /** - * Returns the text on the specified line. - * @param lineIndex The line - * @return The text, or null if the line is invalid - */ - public final String getLineText(int lineIndex) - { - int start = getLineStartOffset(lineIndex); - return getText(start,getLineStopOffset(lineIndex) - start - 1); - } - - /** - * Copies the text on the specified line into a segment. If the line - * is invalid, the segment will contain a null string. - * @param lineIndex The line - */ - public final void getLineText(int lineIndex, Segment segment) - { - int start = getLineStartOffset(lineIndex); - getText(start,getLineStopOffset(lineIndex) - start - 1,segment); - } - - /** - * Returns the selection start offset. - */ - public final int getSelectionStart() - { - return selectionStart; - } - - /** - * Returns the offset where the selection starts on the specified - * line. - */ - public int getSelectionStart(int line) - { - if(line == selectionStartLine) - return selectionStart; - else if(rectSelect) - { - Element map = document.getDefaultRootElement(); - int start = selectionStart - map.getElement(selectionStartLine) - .getStartOffset(); - - Element lineElement = map.getElement(line); - int lineStart = lineElement.getStartOffset(); - int lineEnd = lineElement.getEndOffset() - 1; - return Math.min(lineEnd,lineStart + start); - } - else - return getLineStartOffset(line); - } - - /** - * Returns the selection start line. - */ - public final int getSelectionStartLine() - { - return selectionStartLine; - } - - /** - * Sets the selection start. The new selection will be the new - * selection start and the old selection end. - * @param selectionStart The selection start - * @see #select(int,int) - */ - public final void setSelectionStart(int selectionStart) - { - select(selectionStart,selectionEnd); - } - - /** - * Returns the selection end offset. - */ - public final int getSelectionStop() - { - return selectionEnd; - } - - /** - * Returns the offset where the selection ends on the specified - * line. - */ - public int getSelectionStop(int line) - { - if(line == selectionEndLine) - return selectionEnd; - else if(rectSelect) - { - Element map = document.getDefaultRootElement(); - int end = selectionEnd - map.getElement(selectionEndLine) - .getStartOffset(); - - Element lineElement = map.getElement(line); - int lineStart = lineElement.getStartOffset(); - int lineEnd = lineElement.getEndOffset() - 1; - return Math.min(lineEnd,lineStart + end); - } - else - return getLineStopOffset(line) - 1; - } - - /** - * Returns the selection end line. - */ - public final int getSelectionStopLine() - { - return selectionEndLine; - } - - /** - * Sets the selection end. The new selection will be the old - * selection start and the bew selection end. - * @param selectionEnd The selection end - * @see #select(int,int) - */ - public final void setSelectionEnd(int selectionEnd) - { - select(selectionStart,selectionEnd); - } - - - public final boolean isSelectionActive() - { - return(selectionStart != selectionEnd); - } - - /** - * Returns the caret position. This will either be the selection - * start or the selection end, depending on which direction the - * selection was made in. - */ - public final int getCaretPosition() - { - return (biasLeft ? selectionStart : selectionEnd); - } - - /** - * Returns the caret line. - */ - public final int getCaretLine() - { - return (biasLeft ? selectionStartLine : selectionEndLine); - } - - /** - * Returns the mark position. This will be the opposite selection - * bound to the caret position. - * @see #getCaretPosition() - */ - public final int getMarkPosition() - { - return (biasLeft ? selectionEnd : selectionStart); - } - - /** - * Returns the mark line. - */ - public final int getMarkLine() - { - return (biasLeft ? selectionEndLine : selectionStartLine); - } - - /** - * Sets the caret position. The new selection will consist of the - * caret position only (hence no text will be selected) - * @param caret The caret position - * @see #select(int,int) - */ - public final void setCaretPosition(int caret) - { - select(caret,caret); - } - - /** - * Selects all text in the document. - */ - public final void selectAll() - { - select(0,getDocumentLength()); - } - - /** - * Moves the mark to the caret position. - */ - public final void selectNone() - { - select(getCaretPosition(),getCaretPosition()); - } - - /** - * Selects from the start offset to the end offset. This is the - * general selection method used by all other selecting methods. - * The caret position will be start if start < end, and end - * if end > start. - * @param start The start offset - * @param end The end offset - */ - public void select(int start, int end) - { - int newStart, newEnd; - boolean newBias; - if(start <= end) - { - newStart = start; - newEnd = end; - newBias = false; - } - else - { - newStart = end; - newEnd = start; - newBias = true; - } - - if (newEnd > getDocumentLength()) { - newEnd = getDocumentLength(); - } - - if(newStart < 0) - { - throw new IllegalArgumentException("Bounds out of" - + " range: " + newStart + "," + - newEnd + " [" + getDocumentLength() + "]"); - } - - // If the new position is the same as the old, we don't - // do all this crap, however we still do the stuff at - // the end (clearing magic position, scrolling) - if(newStart != selectionStart || newEnd != selectionEnd - || newBias != biasLeft) - { - int newStartLine = getLineOfOffset(newStart); - int newEndLine = getLineOfOffset(newEnd); - - if(painter.isBracketHighlightEnabled()) - { - if(bracketLine != -1) - painter.invalidateLine(bracketLine); - updateBracketHighlight(end); - if(bracketLine != -1) - painter.invalidateLine(bracketLine); - } - - painter.invalidateLineRange(selectionStartLine,selectionEndLine); - painter.invalidateLineRange(newStartLine,newEndLine); - - document.addUndoableEdit(new CaretUndo(selectionStart,selectionEnd)); - - selectionStart = newStart; - selectionEnd = newEnd; - selectionStartLine = newStartLine; - selectionEndLine = newEndLine; - biasLeft = newBias; - - if (newStart != newEnd) { - Clipboard unixclipboard = getToolkit().getSystemSelection(); - if (unixclipboard != null) { - String selection = getSelectedText(); - if (selection != null) { - unixclipboard.setContents(new StringSelection(selection), null); - } - } - } - - fireCaretEvent(); - } - - // When the user is typing, etc, we don't want the caret - // to blink - blink = true; - caretTimer.restart(); - - // Disable rectangle select if selection start = selection end - if(selectionStart == selectionEnd) - rectSelect = false; - - // Clear the `magic' caret position used by up/down - magicCaret = -1; - - scrollToCaret(); - - // notify the line number feller - if (editorLineStatus != null) { - editorLineStatus.set(selectionStartLine, selectionEndLine); - //System.out.println("why " + selectionStartLine + " " + selectionEndLine); - //System.out.println(getLineOfOffset(start) + " " + - // getLineOfOffset(end)); - } - } - - private boolean isWordCharacter( char ch, String noWordSep ) - { - return Character.isLetterOrDigit(ch) || ch=='_' || noWordSep.indexOf(ch) != -1; - } - - protected void setNewSelectionWord( int line, int offset ) - { - if (getLineLength(line) == 0) { - newSelectionStart = getLineStartOffset(line); - newSelectionEnd = newSelectionStart; - return; - } - - String noWordSep = (String)document.getProperty("noWordSep"); - if(noWordSep == null) - noWordSep = ""; - - String lineText = getLineText(line); - - int wordStart = 0; - int wordEnd = lineText.length(); - - char ch = lineText.charAt(Math.max(0,offset - 1)); - - // special case for whitespace (fry 0122, bug #348) - // this is really nasty.. turns out that double-clicking any non-letter - // or digit char gets lumped together.. sooo, this quickly gets messy, - // because really it needs to check whether the chars are of the same - // type.. so a double space or double - might be grouped together, - // but what about a +=1? do + and - get grouped but not the 1? blech, - // coming back to this later. it's not a difficult fix, just a - // time-consuming one to track down all the proper cases. - /* - if (ch == ' ') { - //System.out.println("yeehaa"); - - for(int i = offset - 1; i >= 0; i--) { - if (lineText.charAt(i) == ' ') { - wordStart = i; - } else { - break; - } - } - for(int i = offset; i < lineText.length(); i++) { - if (lineText.charAt(i) == ' ') { - wordEnd = i + 1; - } else { - break; - } - } - - } else { - */ - - // If the user clicked on a non-letter char, - // we select the surrounding non-letters - boolean selectNoLetter = !isWordCharacter(ch,noWordSep); - - for(int i = offset - 1; i >= 0; i--) { - ch = lineText.charAt(i); - if (selectNoLetter ^ !isWordCharacter(ch,noWordSep)) { - wordStart = i + 1; - break; - } - } - - for(int i = offset; i < lineText.length(); i++) { - ch = lineText.charAt(i); - if(selectNoLetter ^ !isWordCharacter(ch,noWordSep)) { - wordEnd = i; - break; - } - } - //} - int lineStart = getLineStartOffset(line); - - newSelectionStart = lineStart + wordStart; - newSelectionEnd = lineStart + wordEnd; - } - - - /** - * Returns the selected text, or null if no selection is active. - */ - public final String getSelectedText() - { - if(selectionStart == selectionEnd) - return null; - - if(rectSelect) - { - // Return each row of the selection on a new line - - Element map = document.getDefaultRootElement(); - - int start = selectionStart - map.getElement(selectionStartLine) - .getStartOffset(); - int end = selectionEnd - map.getElement(selectionEndLine) - .getStartOffset(); - - // Certain rectangles satisfy this condition... - if(end < start) - { - int tmp = end; - end = start; - start = tmp; - } - - StringBuffer buf = new StringBuffer(); - Segment seg = new Segment(); - - for(int i = selectionStartLine; i <= selectionEndLine; i++) - { - Element lineElement = map.getElement(i); - int lineStart = lineElement.getStartOffset(); - int lineEnd = lineElement.getEndOffset() - 1; - int lineLen = lineEnd - lineStart; - - lineStart = Math.min(lineStart + start,lineEnd); - lineLen = Math.min(end - start,lineEnd - lineStart); - - getText(lineStart,lineLen,seg); - buf.append(seg.array,seg.offset,seg.count); - - if(i != selectionEndLine) - buf.append('\n'); - } - - return buf.toString(); - } - else - { - return getText(selectionStart, - selectionEnd - selectionStart); - } - } - - /** - * Replaces the selection with the specified text. - * @param selectedText The replacement text for the selection - */ - public void setSelectedText(String selectedText) - { - if(!editable) - { - throw new InternalError("Text component" - + " read only"); - } - - document.beginCompoundEdit(); - - try - { - if(rectSelect) - { - Element map = document.getDefaultRootElement(); - - int start = selectionStart - map.getElement(selectionStartLine) - .getStartOffset(); - int end = selectionEnd - map.getElement(selectionEndLine) - .getStartOffset(); - - // Certain rectangles satisfy this condition... - if(end < start) - { - int tmp = end; - end = start; - start = tmp; - } - - int lastNewline = 0; - int currNewline = 0; - - for(int i = selectionStartLine; i <= selectionEndLine; i++) - { - Element lineElement = map.getElement(i); - int lineStart = lineElement.getStartOffset(); - int lineEnd = lineElement.getEndOffset() - 1; - int rectStart = Math.min(lineEnd,lineStart + start); - - document.remove(rectStart,Math.min(lineEnd - rectStart, - end - start)); - - if(selectedText == null) - continue; - - currNewline = selectedText.indexOf('\n',lastNewline); - if(currNewline == -1) - currNewline = selectedText.length(); - - document.insertString(rectStart,selectedText - .substring(lastNewline,currNewline),null); - - lastNewline = Math.min(selectedText.length(), - currNewline + 1); - } - - if(selectedText != null && - currNewline != selectedText.length()) - { - int offset = map.getElement(selectionEndLine) - .getEndOffset() - 1; - document.insertString(offset,"\n",null); - document.insertString(offset + 1,selectedText - .substring(currNewline + 1),null); - } - } - else - { - document.remove(selectionStart, - selectionEnd - selectionStart); - if(selectedText != null) - { - document.insertString(selectionStart, - selectedText,null); - } - } - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - throw new InternalError("Cannot replace" - + " selection"); - } - // No matter what happends... stops us from leaving document - // in a bad state - finally - { - document.endCompoundEdit(); - } - - setCaretPosition(selectionEnd); - } - - /** - * Returns true if this text area is editable, false otherwise. - */ - public final boolean isEditable() - { - return editable; - } - - /** - * Sets if this component is editable. - * @param editable True if this text area should be editable, - * false otherwise - */ - public final void setEditable(boolean editable) - { - this.editable = editable; - } - - /** - * Returns the right click popup menu. - */ - public final JPopupMenu getRightClickPopup() - { - return popup; - } - - /** - * Sets the right click popup menu. - * @param popup The popup - */ - //public final void setRightClickPopup(EditPopupMenu popup) - public final void setRightClickPopup(JPopupMenu popup) - { - this.popup = popup; - } - - - /** - * Returns the `magic' caret position. This can be used to preserve - * the column position when moving up and down lines. - */ - public final int getMagicCaretPosition() - { - return magicCaret; - } - - /** - * Sets the `magic' caret position. This can be used to preserve - * the column position when moving up and down lines. - * @param magicCaret The magic caret position - */ - public final void setMagicCaretPosition(int magicCaret) - { - this.magicCaret = magicCaret; - } - - /** - * Similar to setSelectedText(), but overstrikes the - * appropriate number of characters if overwrite mode is enabled. - * @param str The string - * @see #setSelectedText(String) - * @see #isOverwriteEnabled() - */ - public void overwriteSetSelectedText(String str) - { - // Don't overstrike if there is a selection - if(!overwrite || selectionStart != selectionEnd) - { - setSelectedText(str); - return; - } - - // Don't overstrike if we're on the end of - // the line - int caret = getCaretPosition(); - int caretLineEnd = getLineStopOffset(getCaretLine()); - if(caretLineEnd - caret <= str.length()) - { - setSelectedText(str); - return; - } - - document.beginCompoundEdit(); - - try - { - document.remove(caret,str.length()); - document.insertString(caret,str,null); - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - finally - { - document.endCompoundEdit(); - } - } - - /** - * Returns true if overwrite mode is enabled, false otherwise. - */ - public final boolean isOverwriteEnabled() - { - return overwrite; - } - - /** - * Sets if overwrite mode should be enabled. - * @param overwrite True if overwrite mode should be enabled, - * false otherwise. - */ - public final void setOverwriteEnabled(boolean overwrite) - { - this.overwrite = overwrite; - painter.invalidateSelectedLines(); - } - - /** - * Returns true if the selection is rectangular, false otherwise. - */ - public final boolean isSelectionRectangular() - { - return rectSelect; - } - - /** - * Sets if the selection should be rectangular. - * @param rectSelect True if the selection should be rectangular, - * false otherwise. - */ - public final void setSelectionRectangular(boolean rectSelect) - { - this.rectSelect = rectSelect; - painter.invalidateSelectedLines(); - } - - /** - * Returns the position of the highlighted bracket (the bracket - * matching the one before the caret) - */ - public final int getBracketPosition() - { - return bracketPosition; - } - - /** - * Returns the line of the highlighted bracket (the bracket - * matching the one before the caret) - */ - public final int getBracketLine() - { - return bracketLine; - } - - /** - * Adds a caret change listener to this text area. - * @param listener The listener - */ - public final void addCaretListener(CaretListener listener) - { - eventListenerList.add(CaretListener.class,listener); - } - - /** - * Removes a caret change listener from this text area. - * @param listener The listener - */ - public final void removeCaretListener(CaretListener listener) - { - eventListenerList.remove(CaretListener.class,listener); - } - - /** - * Deletes the selected text from the text area and places it - * into the clipboard. - */ - public void cut() - { - if(editable) - { - copy(); - setSelectedText(""); - } - } - - /** - * Places the selected text into the clipboard. - */ - public void copy() - { - if(selectionStart != selectionEnd) - { - Clipboard clipboard = getToolkit().getSystemClipboard(); - - String selection = getSelectedText(); - - int repeatCount = inputHandler.getRepeatCount(); - StringBuffer buf = new StringBuffer(); - for(int i = 0; i < repeatCount; i++) - buf.append(selection); - - Transferable t = new StringSelection(buf.toString()); - clipboard.setContents(t, null); - - Clipboard unixclipboard = getToolkit().getSystemSelection(); - if (unixclipboard != null) unixclipboard.setContents(t, null); - } - } - - /** - * Inserts the clipboard contents into the text. - */ - public void paste() { - if (editable) { - Clipboard clipboard = getToolkit().getSystemClipboard(); - try { - // The MacOS MRJ doesn't convert \r to \n, so do it here - String selection = ((String)clipboard.getContents(this).getTransferData(DataFlavor.stringFlavor)).replace('\r','\n'); - - // particularly on macosx when pasting from safari, - // replace unicode x00A0 (non-breaking space) - // with just a plain space. [fry 030929] - selection = selection.replace('\u00A0', ' '); - - int repeatCount = inputHandler.getRepeatCount(); - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < repeatCount; i++) - buf.append(selection); - selection = buf.toString(); - setSelectedText(selection); - - } catch(Exception e) { - getToolkit().beep(); - System.err.println("Clipboard does not contain a string"); - } - } - } - - /** - * Called by the AWT when this component is removed from it's parent. - * This stops clears the currently focused component. - */ - public void removeNotify() - { - super.removeNotify(); - if(focusedComponent == this) - focusedComponent = null; - } - - /** - * Forwards key events directly to the input handler. - * This is slightly faster than using a KeyListener - * because some Swing overhead is avoided. - */ - public EditorListener editorListener; - - /** - * The component that tracks the current line number. - */ - public EditorLineStatus editorLineStatus; - - - public void processKeyEvent(KeyEvent evt) { - // this had to be added in Processing 007X, because the menu key - // events weren't making it up to the frame. - super.processKeyEvent(evt); - - //System.out.println("jedittextarea: " + evt); - //System.out.println(); - if (inputHandler == null) return; - - switch(evt.getID()) { - case KeyEvent.KEY_TYPED: - if ((editorListener == null) || !editorListener.keyTyped(evt)) { - inputHandler.keyTyped(evt); - } - break; - case KeyEvent.KEY_PRESSED: - if ((editorListener == null) || !editorListener.keyPressed(evt)) { - inputHandler.keyPressed(evt); - } - break; - case KeyEvent.KEY_RELEASED: - inputHandler.keyReleased(evt); - break; - } - } - - // protected members - protected static String LEFT = "left"; - protected static String CENTER = "center"; - protected static String RIGHT = "right"; - protected static String BOTTOM = "bottom"; - - protected static JEditTextArea focusedComponent; - protected static Timer caretTimer; - - protected TextAreaPainter painter; - protected TextAreaLineNumbers editorLineNumbers; - - //protected EditPopupMenu popup; - protected JPopupMenu popup; - - protected EventListenerList eventListenerList; - protected MutableCaretEvent caretEvent; - - protected boolean caretBlinks; - protected boolean caretVisible; - protected boolean blink; - - protected boolean editable; - - protected int firstLine; - protected int visibleLines; - protected int electricScroll; - - protected int horizontalOffset; - - protected JScrollBar vertical; - protected JScrollBar horizontal; - protected boolean scrollBarsInitialized; - - protected InputHandler inputHandler; - protected SyntaxDocument document; - protected DocumentHandler documentHandler; - - protected Segment lineSegment; - - protected int selectionStart; - protected int selectionStartLine; - protected int selectionEnd; - protected int selectionEndLine; - protected boolean biasLeft; - - protected int newSelectionStart; // hack to get around lack of multiple returns in Java - protected int newSelectionEnd; - - protected boolean selectWord; - protected boolean selectLine; - protected int selectionAncorStart; - protected int selectionAncorEnd; - - protected int bracketPosition; - protected int bracketLine; - - protected int magicCaret; - protected boolean overwrite; - protected boolean rectSelect; - - - protected void fireCaretEvent() - { - Object[] listeners = eventListenerList.getListenerList(); - for(int i = listeners.length - 2; i >= 0; i--) - { - if(listeners[i] == CaretListener.class) - { - ((CaretListener)listeners[i+1]).caretUpdate(caretEvent); - } - } - } - - protected void updateBracketHighlight(int newCaretPosition) - { - if(newCaretPosition == 0) - { - bracketPosition = bracketLine = -1; - return; - } - - try - { - int offset = TextUtilities.findMatchingBracket( - document,newCaretPosition - 1); - if(offset != -1) - { - bracketLine = getLineOfOffset(offset); - bracketPosition = offset - getLineStartOffset(bracketLine); - return; - } - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - - bracketLine = bracketPosition = -1; - } - - protected void documentChanged(DocumentEvent evt) - { - DocumentEvent.ElementChange ch = - evt.getChange(document.getDefaultRootElement()); - - int count; - if(ch == null) - count = 0; - else - count = ch.getChildrenAdded().length - - ch.getChildrenRemoved().length; - - int line = getLineOfOffset(evt.getOffset()); - if(count == 0) - { - painter.invalidateLine(line); - } - // do magic stuff - else if(line < firstLine) - { - setFirstLine(firstLine + count); - } - // end of magic stuff - else - { - painter.invalidateLineRange(line,firstLine + visibleLines); - updateScrollBars(); - } - } - - class ScrollLayout implements LayoutManager - { - //final int LEFT_EXTRA = 5; - - public void addLayoutComponent(String name, Component comp) - { - if(name.equals(LEFT)) - left = comp; - else if(name.equals(CENTER)) - center = comp; - else if(name.equals(RIGHT)) - right = comp; - else if(name.equals(BOTTOM)) - bottom = comp; - else if(name.equals(LEFT_OF_SCROLLBAR)) - leftOfScrollBar.addElement(comp); - } - - public void removeLayoutComponent(Component comp) - { - if(left == comp) - left = null; - if(center == comp) - center = null; - if(right == comp) - right = null; - if(bottom == comp) - bottom = null; - else - leftOfScrollBar.removeElement(comp); - } - - public Dimension preferredLayoutSize(Container parent) - { - Dimension dim = new Dimension(); - Insets insets = getInsets(); - dim.width = insets.left + insets.right; - dim.height = insets.top + insets.bottom; - - Dimension centerPref = center.getPreferredSize(); - dim.width += centerPref.width; - dim.height += centerPref.height; - Dimension leftPref = left.getPreferredSize(); - dim.width += leftPref.width; - Dimension rightPref = right.getPreferredSize(); - dim.width += rightPref.width; - Dimension bottomPref = bottom.getPreferredSize(); - dim.height += bottomPref.height; - - return dim; - } - - public Dimension minimumLayoutSize(Container parent) - { - Dimension dim = new Dimension(); - Insets insets = getInsets(); - dim.width = insets.left + insets.right; - dim.height = insets.top + insets.bottom; - - Dimension centerPref = center.getMinimumSize(); - dim.width += centerPref.width; - dim.height += centerPref.height; - Dimension leftPref = left.getMinimumSize(); - dim.width += leftPref.width; - Dimension rightPref = right.getMinimumSize(); - dim.width += rightPref.width; - Dimension bottomPref = bottom.getMinimumSize(); - dim.height += bottomPref.height; - - dim.height += 5; - - return dim; - } - - public void layoutContainer(Container parent) - { - Dimension size = parent.getSize(); - Insets insets = parent.getInsets(); - int itop = insets.top; - int ileft = insets.left; - int ibottom = insets.bottom; - int iright = insets.right; - - int leftWidth = left.getSize().width; - int rightWidth = right.getPreferredSize().width; - int bottomHeight = bottom.getPreferredSize().height; - int centerWidth = size.width - leftWidth - rightWidth - ileft - iright; - int centerHeight = size.height - bottomHeight - itop - ibottom; - - left.setBounds(ileft, - itop, - leftWidth, - centerHeight); - - ileft += leftWidth; - - center.setBounds(ileft, // + LEFT_EXTRA, - itop, - centerWidth, // - LEFT_EXTRA, - centerHeight); - - right.setBounds(ileft + centerWidth, - itop, - rightWidth, - centerHeight); - - // Lay out all status components, in order - Enumeration status = leftOfScrollBar.elements(); - while (status.hasMoreElements()) { - Component comp = (Component)status.nextElement(); - Dimension dim = comp.getPreferredSize(); - comp.setBounds(ileft, - itop + centerHeight, - dim.width, - bottomHeight); - ileft += dim.width; - } - - bottom.setBounds(ileft, - itop + centerHeight, - size.width - rightWidth - ileft - iright, - bottomHeight); - } - - // private members - private Component left; - private Component center; - private Component right; - private Component bottom; - private Vector leftOfScrollBar = new Vector(); - } - - static class CaretBlinker implements ActionListener - { - public void actionPerformed(ActionEvent evt) - { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - if(focusedComponent != null - && focusedComponent.hasFocus()) - focusedComponent.blinkCaret(); - } - }); - } - } - - class MutableCaretEvent extends CaretEvent - { - MutableCaretEvent() - { - super(JEditTextArea.this); - } - - public int getDot() - { - return getCaretPosition(); - } - - public int getMark() - { - return getMarkPosition(); - } - } - -/* -#ifdef JDK14 - class WheelHandler implements MouseWheelListener { - - public void mouseWheelMoved(MouseWheelEvent e) { - if (!scrollBarsInitialized) return; - - int amt = e.getWheelRotation(); - //System.out.println(amt); - vertical.setValue(vertical.getValue() + amt * wheelMultiplier); - } - } -#endif -*/ - - class AdjustHandler implements AdjustmentListener - { - public void adjustmentValueChanged(final AdjustmentEvent evt) - { - if(!scrollBarsInitialized) - return; - - // If this is not done, mousePressed events accumilate - // and the result is that scrolling doesn't stop after - // the mouse is released - SwingUtilities.invokeLater(new Runnable() { - public void run() - { - if(evt.getAdjustable() == vertical) - setFirstLine(vertical.getValue()); - else - setHorizontalOffset(-horizontal.getValue()); - } - }); - } - } - - class ComponentHandler extends ComponentAdapter - { - public void componentResized(ComponentEvent evt) - { - recalculateVisibleLines(); - scrollBarsInitialized = true; - } - } - - class DocumentHandler implements DocumentListener - { - public void insertUpdate(DocumentEvent evt) - { - documentChanged(evt); - - int offset = evt.getOffset(); - int length = evt.getLength(); - - int newStart; - int newEnd; - - if (selectionStart > offset || - (selectionStart == selectionEnd && selectionStart == offset)) - newStart = selectionStart + length; - else - newStart = selectionStart; - - if(selectionEnd >= offset) - newEnd = selectionEnd + length; - else - newEnd = selectionEnd; - - select(newStart,newEnd); - } - - public void removeUpdate(DocumentEvent evt) - { - documentChanged(evt); - - int offset = evt.getOffset(); - int length = evt.getLength(); - - int newStart; - int newEnd; - - if(selectionStart > offset) - { - if(selectionStart > offset + length) - newStart = selectionStart - length; - else - newStart = offset; - } - else - newStart = selectionStart; - - if(selectionEnd > offset) - { - if(selectionEnd > offset + length) - newEnd = selectionEnd - length; - else - newEnd = offset; - } - else - newEnd = selectionEnd; - - select(newStart,newEnd); - } - - public void changedUpdate(DocumentEvent evt) - { - } - } - - class DragHandler implements MouseMotionListener - { - public void mouseDragged(MouseEvent evt) - { - if (popup != null && popup.isVisible()) return; - - if ( !selectWord && !selectLine ) { - setSelectionRectangular((evt.getModifiers() - & InputEvent.CTRL_MASK) != 0); - select(getMarkPosition(),xyToOffset(evt.getX(),evt.getY())); - } else { - int line = yToLine(evt.getY()); - if ( selectWord ) { - setNewSelectionWord( line, xToOffset(line,evt.getX()) ); - } else { - newSelectionStart = getLineStartOffset(line); - newSelectionEnd = getSafeLineStopOffset(line); - } - if ( newSelectionStart < selectionAncorStart ) { - select(newSelectionStart,selectionAncorEnd); - } else if ( newSelectionEnd > selectionAncorEnd ) { - select(selectionAncorStart,newSelectionEnd); - } else { - select(newSelectionStart,newSelectionEnd); - } - } - } - - final Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); - final Cursor handCursor = new Cursor(Cursor.HAND_CURSOR); - - public void mouseMoved(MouseEvent evt) { - int line = yToLine(evt.getY()); - int offset = xToOffset(line, evt.getX()); - boolean wantHandCursor = checkClickedURL(getLineText(line), offset) != null; - JComponent src = (JComponent) evt.getSource(); - if (wantHandCursor) - src.setCursor(handCursor); - else - src.setCursor(normalCursor); - } - } - - class FocusHandler implements FocusListener - { - public void focusGained(FocusEvent evt) - { - //System.out.println("JEditTextArea: focusGained"); - setCaretVisible(true); - focusedComponent = JEditTextArea.this; - } - - public void focusLost(FocusEvent evt) - { - //System.out.println("JEditTextArea: focusLost"); - setCaretVisible(false); - focusedComponent = null; - } - } - - public String checkClickedURL(String line, int offset) { - String[] parse = SyntaxUtilities.parseCommentUrls(line); - if (parse==null) - return null; - int start = parse[0].length(); - int stop = start + parse[1].length(); - if (offsetstop) - return null; - return parse[1]; - } - - class MouseHandler extends MouseAdapter - { - public void mousePressed(MouseEvent evt) - { - requestFocus(); - - // Focus events not fired sometimes? - setCaretVisible(true); - focusedComponent = JEditTextArea.this; - - // isPopupTrigger wasn't working for danh on windows - boolean trigger = (evt.getModifiers() & InputEvent.BUTTON3_MASK) != 0; - // but it's required for macosx, since control-click does - // the same thing as a right-mouse click - if (!trigger && evt.isPopupTrigger()) trigger = true; - - if (trigger && (popup != null)) { - popup.show(painter,evt.getX(),evt.getY()); - return; - } - - // on Linux, middle button pastes selected text - if ((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0) { - Clipboard unixclipboard = getToolkit().getSystemSelection(); - if (unixclipboard != null) { - Transferable t = unixclipboard.getContents(null); - if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { - try { - String s = (String)t.getTransferData(DataFlavor.stringFlavor); - s = s.replace('\u00A0', ' '); - if (editable) setSelectedText(s); - } catch (Exception e) { - System.err.println(e); - e.printStackTrace(); - } - } - return; - } - } - - int line = yToLine(evt.getY()); - int offset = xToOffset(line,evt.getX()); - int dot = getLineStartOffset(line) + offset; - - selectLine = false; - selectWord = false; - - switch(evt.getClickCount()) { - - case 1: - doSingleClick(evt,line,offset,dot); - break; - - case 2: - // It uses the bracket matching stuff, so - // it can throw a BLE - try { - doDoubleClick(evt,line,offset,dot); - } catch(BadLocationException bl) { - bl.printStackTrace(); - } - break; - - case 3: - doTripleClick(evt,line,offset,dot); - break; - } - } - - - private void doSingleClick(MouseEvent evt, int line, - int offset, int dot) { - // Check for click on urls - String clickedURL = checkClickedURL(getLineText(line), offset); - if (clickedURL != null) { - Base.openURL(clickedURL); - return; - } - - if ((evt.getModifiers() & InputEvent.SHIFT_MASK) != 0) { - rectSelect = (evt.getModifiers() & InputEvent.CTRL_MASK) != 0; - select(getMarkPosition(),dot); - } else { - setCaretPosition(dot); - } - } - - - private void doDoubleClick(MouseEvent evt, int line, - int offset, int dot) throws BadLocationException - { - // Ignore empty lines - if (getLineLength(line) == 0) - return; - - try { - int bracket = TextUtilities.findMatchingBracket(document, - Math.max(0,dot - 1)); - if (bracket != -1) { - int mark = getMarkPosition(); - // Hack - if (bracket > mark) { - bracket++; - mark--; - } - select(mark,bracket); - return; - } - } catch(BadLocationException bl) { - bl.printStackTrace(); - } - - setNewSelectionWord( line, offset ); - select(newSelectionStart,newSelectionEnd); - selectWord = true; - selectionAncorStart = selectionStart; - selectionAncorEnd = selectionEnd; - - /* - String lineText = getLineText(line); - String noWordSep = (String)document.getProperty("noWordSep"); - int wordStart = TextUtilities.findWordStart(lineText,offset,noWordSep); - int wordEnd = TextUtilities.findWordEnd(lineText,offset,noWordSep); - - int lineStart = getLineStartOffset(line); - select(lineStart + wordStart,lineStart + wordEnd); - */ - } - - private void doTripleClick(MouseEvent evt, int line, - int offset, int dot) - { - selectLine = true; - select(getLineStartOffset(line),getSafeLineStopOffset(line)); - selectionAncorStart = selectionStart; - selectionAncorEnd = selectionEnd; - } - } - - class CaretUndo extends AbstractUndoableEdit - { - private int start; - private int end; - - CaretUndo(int start, int end) - { - this.start = start; - this.end = end; - } - - public boolean isSignificant() - { - return false; - } - - public String getPresentationName() - { - return "caret move"; - } - - public void undo() throws CannotUndoException - { - super.undo(); - - select(start,end); - } - - public void redo() throws CannotRedoException - { - super.redo(); - - select(start,end); - } - - public boolean addEdit(UndoableEdit edit) - { - if(edit instanceof CaretUndo) - { - CaretUndo cedit = (CaretUndo)edit; - start = cedit.start; - end = cedit.end; - cedit.die(); - - return true; - } - else - return false; - } - } - - static - { - caretTimer = new Timer(500,new CaretBlinker()); - caretTimer.setInitialDelay(500); - caretTimer.start(); - } - - public void setDisplayLineNumbers(boolean displayLineNumbers) { - editorLineNumbers.setDisplayLineNumbers(displayLineNumbers); - } -} diff --git a/app/src/processing/app/syntax/KeywordMap.java b/app/src/processing/app/syntax/KeywordMap.java deleted file mode 100644 index 27d225f8c0d..00000000000 --- a/app/src/processing/app/syntax/KeywordMap.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * KeywordMap.java - Fast keyword->id map - * Copyright (C) 1998, 1999 Slava Pestov - * Copyright (C) 1999 Mike Dillon - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.text.Segment; - -/** - * A KeywordMap is similar to a hashtable in that it maps keys - * to values. However, the `keys' are Swing segments. This allows lookups of - * text substrings without the overhead of creating a new string object. - *

- * This class is used by CTokenMarker to map keywords to ids. - * - * @author Slava Pestov, Mike Dillon - */ -public class KeywordMap -{ - /** - * Creates a new KeywordMap. - * @param ignoreCase True if keys are case insensitive - */ - public KeywordMap(boolean ignoreCase) - { - this(ignoreCase, 52); - this.ignoreCase = ignoreCase; - } - - /** - * Creates a new KeywordMap. - * @param ignoreCase True if the keys are case insensitive - * @param mapLength The number of `buckets' to create. - * A value of 52 will give good performance for most maps. - */ - public KeywordMap(boolean ignoreCase, int mapLength) - { - this.mapLength = mapLength; - this.ignoreCase = ignoreCase; - map = new Keyword[mapLength]; - } - - /** - * Looks up a key. - * @param text The text segment - * @param offset The offset of the substring within the text segment - * @param length The length of the substring - */ - public byte lookup(Segment text, int offset, int length) - { - if(length == 0) - return Token.NULL; - Keyword k = map[getSegmentMapKey(text, offset, length)]; - while(k != null) - { - if(length != k.keyword.length) - { - k = k.next; - continue; - } - if(SyntaxUtilities.regionMatches(ignoreCase,text,offset, - k.keyword)) - return k.id; - k = k.next; - } - return Token.NULL; - } - - /** - * Adds a key-value mapping. - * @param keyword The key - * @param id The value - */ - public void add(String keyword, byte id) - { - int key = getStringMapKey(keyword); - map[key] = new Keyword(keyword.toCharArray(),id,map[key]); - } - - /** - * Returns true if the keyword map is set to be case insensitive, - * false otherwise. - */ - public boolean getIgnoreCase() - { - return ignoreCase; - } - - /** - * Sets if the keyword map should be case insensitive. - * @param ignoreCase True if the keyword map should be case - * insensitive, false otherwise - */ - public void setIgnoreCase(boolean ignoreCase) - { - this.ignoreCase = ignoreCase; - } - - // protected members - protected int mapLength; - - protected int getStringMapKey(String s) - { - return (Character.toUpperCase(s.charAt(0)) + - Character.toUpperCase(s.charAt(s.length()-1))) - % mapLength; - } - - protected int getSegmentMapKey(Segment s, int off, int len) - { - return (Character.toUpperCase(s.array[off]) + - Character.toUpperCase(s.array[off + len - 1])) - % mapLength; - } - - // private members - class Keyword - { - public Keyword(char[] keyword, byte id, Keyword next) - { - this.keyword = keyword; - this.id = id; - this.next = next; - } - - public char[] keyword; - public byte id; - public Keyword next; - } - - private Keyword[] map; - private boolean ignoreCase; -} diff --git a/app/src/processing/app/syntax/PdeTextAreaDefaults.java b/app/src/processing/app/syntax/PdeTextAreaDefaults.java deleted file mode 100644 index 391416f5ca1..00000000000 --- a/app/src/processing/app/syntax/PdeTextAreaDefaults.java +++ /dev/null @@ -1,211 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - PdeTextAreaDefaults - grabs font/color settings for the editor - Part of the Processing project - http://processing.org - - Copyright (c) 2004-06 Ben Fry and Casey Reas - Copyright (c) 2001-03 Massachusetts Institute of Technology - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -package processing.app.syntax; - -import processing.app.*; -import processing.app.helpers.OSUtils; - - -public class PdeTextAreaDefaults extends TextAreaDefaults { - - public PdeTextAreaDefaults() { - - inputHandler = new DefaultInputHandler(); - //inputHandler.addDefaultKeyBindings(); // 0122 - - // use option on mac for text edit controls that are ctrl on windows/linux - String mod = OSUtils.isMacOS() ? "A" : "C"; - - // right now, ctrl-up/down is select up/down, but mod should be - // used instead, because the mac expects it to be option(alt) - - inputHandler.addKeyBinding("BACK_SPACE", InputHandler.BACKSPACE); - // for 0122, shift-backspace is delete, for 0176, it's now a preference, - // to prevent holy warriors from attacking me for it. - if (PreferencesData.getBoolean("editor.keys.shift_backspace_is_delete")) { - inputHandler.addKeyBinding("S+BACK_SPACE", InputHandler.DELETE); - } else { - inputHandler.addKeyBinding("S+BACK_SPACE", InputHandler.BACKSPACE); - } - - inputHandler.addKeyBinding("DELETE", InputHandler.DELETE); - inputHandler.addKeyBinding("S+DELETE", InputHandler.DELETE); - - // the following two were changing for 0122 for better mac/pc compatability - inputHandler.addKeyBinding(mod+"+BACK_SPACE", InputHandler.BACKSPACE_WORD); - inputHandler.addKeyBinding(mod+"+DELETE", InputHandler.DELETE_WORD); - - // handled by listener, don't bother here - //inputHandler.addKeyBinding("ENTER", InputHandler.INSERT_BREAK); - //inputHandler.addKeyBinding("TAB", InputHandler.INSERT_TAB); - - inputHandler.addKeyBinding("INSERT", InputHandler.OVERWRITE); - - // http://dev.processing.org/bugs/show_bug.cgi?id=162 - // added for 0176, though the bindings do not appear relevant for osx - if (PreferencesData.getBoolean("editor.keys.alternative_cut_copy_paste")) { - inputHandler.addKeyBinding("C+INSERT", InputHandler.CLIPBOARD_COPY); - inputHandler.addKeyBinding("S+INSERT", InputHandler.CLIPBOARD_PASTE); - inputHandler.addKeyBinding("S+DELETE", InputHandler.CLIPBOARD_CUT); - } - - // disabling for 0122, not sure what this does - //inputHandler.addKeyBinding("C+\\", InputHandler.TOGGLE_RECT); - - // for 0122, these have been changed for better compatibility - // HOME and END now mean the beginning/end of the document - // for 0176 changed this to a preference so that the Mac OS X people - // can get the "normal" behavior as well if they prefer. - if (PreferencesData.getBoolean("editor.keys.home_and_end_travel_far")) { - inputHandler.addKeyBinding("HOME", InputHandler.DOCUMENT_HOME); - inputHandler.addKeyBinding("END", InputHandler.DOCUMENT_END); - inputHandler.addKeyBinding("S+HOME", InputHandler.SELECT_DOC_HOME); - inputHandler.addKeyBinding("S+END", InputHandler.SELECT_DOC_END); - } else { - // for 0123 added the proper windows defaults - inputHandler.addKeyBinding("HOME", InputHandler.HOME); - inputHandler.addKeyBinding("END", InputHandler.END); - inputHandler.addKeyBinding("S+HOME", InputHandler.SELECT_HOME); - inputHandler.addKeyBinding("S+END", InputHandler.SELECT_END); - inputHandler.addKeyBinding("C+HOME", InputHandler.DOCUMENT_HOME); - inputHandler.addKeyBinding("C+END", InputHandler.DOCUMENT_END); - inputHandler.addKeyBinding("CS+HOME", InputHandler.SELECT_DOC_HOME); - inputHandler.addKeyBinding("CS+END", InputHandler.SELECT_DOC_END); - } - - if (OSUtils.isMacOS()) { - inputHandler.addKeyBinding("M+LEFT", InputHandler.HOME); - inputHandler.addKeyBinding("M+RIGHT", InputHandler.END); - inputHandler.addKeyBinding("MS+LEFT", InputHandler.SELECT_HOME); // 0122 - inputHandler.addKeyBinding("MS+RIGHT", InputHandler.SELECT_END); // 0122 - } else { - inputHandler.addKeyBinding("C+LEFT", InputHandler.HOME); // 0122 - inputHandler.addKeyBinding("C+RIGHT", InputHandler.END); // 0122 - inputHandler.addKeyBinding("CS+HOME", InputHandler.SELECT_HOME); // 0122 - inputHandler.addKeyBinding("CS+END", InputHandler.SELECT_END); // 0122 - } - - inputHandler.addKeyBinding("PAGE_UP", InputHandler.PREV_PAGE); - inputHandler.addKeyBinding("PAGE_DOWN", InputHandler.NEXT_PAGE); - inputHandler.addKeyBinding("S+PAGE_UP", InputHandler.SELECT_PREV_PAGE); - inputHandler.addKeyBinding("S+PAGE_DOWN", InputHandler.SELECT_NEXT_PAGE); - - inputHandler.addKeyBinding("LEFT", InputHandler.PREV_CHAR); - inputHandler.addKeyBinding("S+LEFT", InputHandler.SELECT_PREV_CHAR); - inputHandler.addKeyBinding(mod + "+LEFT", InputHandler.PREV_WORD); - inputHandler.addKeyBinding(mod + "S+LEFT", InputHandler.SELECT_PREV_WORD); - inputHandler.addKeyBinding("RIGHT", InputHandler.NEXT_CHAR); - inputHandler.addKeyBinding("S+RIGHT", InputHandler.SELECT_NEXT_CHAR); - inputHandler.addKeyBinding(mod + "+RIGHT", InputHandler.NEXT_WORD); - inputHandler.addKeyBinding(mod + "S+RIGHT", InputHandler.SELECT_NEXT_WORD); - - inputHandler.addKeyBinding("UP", InputHandler.PREV_LINE); - inputHandler.addKeyBinding(mod + "+UP", InputHandler.PREV_LINE); // p5 - inputHandler.addKeyBinding("S+UP", InputHandler.SELECT_PREV_LINE); - inputHandler.addKeyBinding("DOWN", InputHandler.NEXT_LINE); - inputHandler.addKeyBinding(mod + "+DOWN", InputHandler.NEXT_LINE); // p5 - inputHandler.addKeyBinding("S+DOWN", InputHandler.SELECT_NEXT_LINE); - - inputHandler.addKeyBinding("MS+UP", InputHandler.SELECT_DOC_HOME); - inputHandler.addKeyBinding("CS+UP", InputHandler.SELECT_DOC_HOME); - inputHandler.addKeyBinding("MS+DOWN", InputHandler.SELECT_DOC_END); - inputHandler.addKeyBinding("CS+DOWN", InputHandler.SELECT_DOC_END); - - inputHandler.addKeyBinding(mod + "+ENTER", InputHandler.REPEAT); - - document = new SyntaxDocument(); - editable = true; - electricScroll = 3; - - cols = 80; - rows = 15; - - - // moved from SyntaxUtilities - //DEFAULTS.styles = SyntaxUtilities.getDefaultSyntaxStyles(); - - styles = new SyntaxStyle[Token.ID_COUNT]; - - // comments - styles[Token.COMMENT1] = Theme.getStyle("comment1"); - styles[Token.COMMENT2] = Theme.getStyle("comment2"); - - // abstract, final, private - styles[Token.KEYWORD1] = Theme.getStyle("keyword1"); - - // beginShape, point, line - styles[Token.KEYWORD2] = Theme.getStyle("keyword2"); - - // byte, char, short, color - styles[Token.KEYWORD3] = Theme.getStyle("keyword3"); - - // constants: null, true, this, RGB, TWO_PI - styles[Token.LITERAL1] = Theme.getStyle("literal1"); - - // p5 built in variables: mouseX, width, pixels - styles[Token.LITERAL2] = Theme.getStyle("literal2"); - - // ?? - styles[Token.LABEL] = Theme.getStyle("label"); - - // http://arduino.cc/ - styles[Token.URL] = Theme.getStyle("url"); - - // + - = / - styles[Token.OPERATOR] = Theme.getStyle("operator"); - - // area that's not in use by the text (replaced with tildes) - styles[Token.INVALID] = Theme.getStyle("invalid"); - - - // moved from TextAreaPainter - - font = PreferencesData.getFont("editor.font"); - - fgcolor = Theme.getColor("editor.fgcolor"); - bgcolor = Theme.getColor("editor.bgcolor"); - - caretVisible = true; - caretBlinks = PreferencesData.getBoolean("editor.caret.blink"); - caretColor = Theme.getColor("editor.caret.color"); - - selectionColor = Theme.getColor("editor.selection.color"); - - lineHighlight = - Theme.getBoolean("editor.linehighlight"); - lineHighlightColor = - Theme.getColor("editor.linehighlight.color"); - - bracketHighlight = - Theme.getBoolean("editor.brackethighlight"); - bracketHighlightColor = - Theme.getColor("editor.brackethighlight.color"); - - eolMarkers = Theme.getBoolean("editor.eolmarkers"); - eolMarkerColor = Theme.getColor("editor.eolmarkers.color"); - - paintInvalid = Theme.getBoolean("editor.invalid"); - } -} diff --git a/app/src/processing/app/syntax/SyntaxDocument.java b/app/src/processing/app/syntax/SyntaxDocument.java deleted file mode 100644 index 2a1c3103ce9..00000000000 --- a/app/src/processing/app/syntax/SyntaxDocument.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * SyntaxDocument.java - Document that can be tokenized - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.event.*; -import javax.swing.text.*; -import javax.swing.undo.UndoableEdit; - -/** - * A document implementation that can be tokenized by the syntax highlighting - * system. - * - * @author Slava Pestov - */ -public class SyntaxDocument extends PlainDocument -{ - /** - * Returns the token marker that is to be used to split lines - * of this document up into tokens. May return null if this - * document is not to be colorized. - */ - public TokenMarker getTokenMarker() - { - return tokenMarker; - } - - /** - * Sets the token marker that is to be used to split lines of - * this document up into tokens. May throw an exception if - * this is not supported for this type of document. - * @param tm The new token marker - */ - public void setTokenMarker(TokenMarker tm) - { - tokenMarker = tm; - if(tm == null) - return; - tokenMarker.insertLines(0,getDefaultRootElement() - .getElementCount()); - tokenizeLines(); - } - - /** - * Reparses the document, by passing all lines to the token - * marker. This should be called after the document is first - * loaded. - */ - public void tokenizeLines() - { - tokenizeLines(0,getDefaultRootElement().getElementCount()); - } - - /** - * Reparses the document, by passing the specified lines to the - * token marker. This should be called after a large quantity of - * text is first inserted. - * @param start The first line to parse - * @param len The number of lines, after the first one to parse - */ - public void tokenizeLines(int start, int len) - { - if(tokenMarker == null || !tokenMarker.supportsMultilineTokens()) - return; - - Segment lineSegment = new Segment(); - Element map = getDefaultRootElement(); - - len += start; - - try - { - for(int i = start; i < len; i++) - { - Element lineElement = map.getElement(i); - int lineStart = lineElement.getStartOffset(); - getText(lineStart,lineElement.getEndOffset() - - lineStart - 1,lineSegment); - tokenMarker.markTokens(lineSegment,i); - } - } - catch(BadLocationException bl) - { - bl.printStackTrace(); - } - } - - /** - * Starts a compound edit that can be undone in one operation. - * Subclasses that implement undo should override this method; - * this class has no undo functionality so this method is - * empty. - */ - public void beginCompoundEdit() {} - - /** - * Ends a compound edit that can be undone in one operation. - * Subclasses that implement undo should override this method; - * this class has no undo functionality so this method is - * empty. - */ - public void endCompoundEdit() {} - - /** - * Adds an undoable edit to this document's undo list. The edit - * should be ignored if something is currently being undone. - * @param edit The undoable edit - * - * @since jEdit 2.2pre1 - */ - public void addUndoableEdit(UndoableEdit edit) {} - - // protected members - protected TokenMarker tokenMarker; - - /** - * We overwrite this method to update the token marker - * state immediately so that any event listeners get a - * consistent token marker. - */ - protected void fireInsertUpdate(DocumentEvent evt) - { - if(tokenMarker != null) - { - DocumentEvent.ElementChange ch = evt.getChange( - getDefaultRootElement()); - if(ch != null) - { - tokenMarker.insertLines(ch.getIndex() + 1, - ch.getChildrenAdded().length - - ch.getChildrenRemoved().length); - } - } - - super.fireInsertUpdate(evt); - } - - /** - * We overwrite this method to update the token marker - * state immediately so that any event listeners get a - * consistent token marker. - */ - protected void fireRemoveUpdate(DocumentEvent evt) - { - if(tokenMarker != null) - { - DocumentEvent.ElementChange ch = evt.getChange( - getDefaultRootElement()); - if(ch != null) - { - tokenMarker.deleteLines(ch.getIndex() + 1, - ch.getChildrenRemoved().length - - ch.getChildrenAdded().length); - } - } - - super.fireRemoveUpdate(evt); - } -} diff --git a/app/src/processing/app/syntax/SyntaxStyle.java b/app/src/processing/app/syntax/SyntaxStyle.java deleted file mode 100644 index 23a7c71b0a0..00000000000 --- a/app/src/processing/app/syntax/SyntaxStyle.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * SyntaxStyle.java - A simple text style class - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import java.awt.*; -import java.awt.font.TextAttribute; -import java.util.Hashtable; -import java.util.Map; - -import javax.swing.JComponent; - - -/** - * A simple text style class. It can specify the color, italic flag, - * and bold flag of a run of text. - * @author Slava Pestov - */ -public class SyntaxStyle -{ - /** - * Creates a new SyntaxStyle. - * @param color The text color - * @param italic True if the text should be italics - * @param bold True if the text should be bold - */ - public SyntaxStyle(Color color, boolean italic, boolean bold, boolean underlined) - { - this.color = color; - this.italic = italic; - this.bold = bold; - this.underlined = underlined; - } - - /** - * Returns the color specified in this style. - */ - public Color getColor() - { - return color; - } - - /** - * Returns true if no font styles are enabled. - */ - public boolean isPlain() - { - return !(bold || italic || underlined); - } - - /** - * Returns true if italics is enabled for this style. - */ - public boolean isItalic() - { - return italic; - } - - /** - * Returns true if boldface is enabled for this style. - */ - public boolean isBold() - { - return bold; - } - - /** - * @return true if underline is enabled for this style. - */ - public boolean isUnderlined() { - return underlined; - } - - /** - * Returns the specified font, but with the style's bold, underline and - * italic flags applied. - */ - public Font getStyledFont(Font font) - { - if(font == null) - throw new NullPointerException("font param must not" - + " be null"); - if(font.equals(lastFont)) - return lastStyledFont; - lastFont = font; - - lastStyledFont = new Font(font.getFamily(), - (bold ? Font.BOLD : 0) - | (italic ? Font.ITALIC : 0), - font.getSize()); - if (underlined) { - Map attr = new Hashtable(); - attr.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); - lastStyledFont = lastStyledFont.deriveFont(attr); - } - return lastStyledFont; - } - - /** - * Returns the font metrics for the styled font. - */ - public FontMetrics getFontMetrics(Font font, JComponent comp) - { - if(font == null) - throw new NullPointerException("font param must not" - + " be null"); - if(font.equals(lastFont) && fontMetrics != null) - return fontMetrics; - lastFont = font; - lastStyledFont = new Font(font.getFamily(), - (bold ? Font.BOLD : 0) - | (italic ? Font.ITALIC : 0), - font.getSize()); - if (underlined) { - Map attr = new Hashtable(); - attr.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); - lastStyledFont = lastStyledFont.deriveFont(attr); - } - //fontMetrics = Toolkit.getDefaultToolkit().getFontMetrics(lastStyledFont); - fontMetrics = comp.getFontMetrics(lastStyledFont); - return fontMetrics; - } - - /** - * Sets the foreground color and font of the specified graphics - * context to that specified in this style. - * @param gfx The graphics context - * @param font The font to add the styles to - */ - public void setGraphicsFlags(Graphics gfx, Font font) - { - Font _font = getStyledFont(font); - gfx.setFont(_font); - gfx.setColor(color); - } - - /** - * Returns a string representation of this object. - */ - public String toString() - { - return getClass().getName() + "[color=" + color + - (italic ? ",italic" : "") + - (bold ? ",bold" : "") + - (underlined ? ",underlined" : "") + - "]"; - } - - // private members - private Color color; - private boolean italic; - private boolean bold; - private boolean underlined; - private Font lastFont; - private Font lastStyledFont; - private FontMetrics fontMetrics; -} diff --git a/app/src/processing/app/syntax/SyntaxUtilities.java b/app/src/processing/app/syntax/SyntaxUtilities.java deleted file mode 100644 index 6eef977a08b..00000000000 --- a/app/src/processing/app/syntax/SyntaxUtilities.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * SyntaxUtilities.java - Utility functions used by syntax colorizing - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.text.*; -import java.awt.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - - -/** - * Class with several utility functions used by jEdit's syntax colorizing - * subsystem. - * - * @author Slava Pestov - */ -public class SyntaxUtilities -{ - /** - * Checks if a subregion of a Segment is equal to a - * string. - * @param ignoreCase True if case should be ignored, false otherwise - * @param text The segment - * @param offset The offset into the segment - * @param match The string to match - */ - public static boolean regionMatches(boolean ignoreCase, Segment text, - int offset, String match) - { - int length = offset + match.length(); - char[] textArray = text.array; - if(length > text.offset + text.count) - return false; - for(int i = offset, j = 0; i < length; i++, j++) - { - char c1 = textArray[i]; - char c2 = match.charAt(j); - if(ignoreCase) - { - c1 = Character.toUpperCase(c1); - c2 = Character.toUpperCase(c2); - } - if(c1 != c2) - return false; - } - return true; - } - - - /** - * Checks if a subregion of a Segment is equal to a - * character array. - * @param ignoreCase True if case should be ignored, false otherwise - * @param text The segment - * @param offset The offset into the segment - * @param match The character array to match - */ - public static boolean regionMatches(boolean ignoreCase, Segment text, - int offset, char[] match) - { - int length = offset + match.length; - char[] textArray = text.array; - if(length > text.offset + text.count) - return false; - for(int i = offset, j = 0; i < length; i++, j++) - { - char c1 = textArray[i]; - char c2 = match[j]; - if(ignoreCase) - { - c1 = Character.toUpperCase(c1); - c2 = Character.toUpperCase(c2); - } - if(c1 != c2) - return false; - } - return true; - } - - - /** - * Returns the default style table. This can be passed to the - * setStyles() method of SyntaxDocument - * to use the default syntax styles. - */ - public static SyntaxStyle[] getDefaultSyntaxStyles() - { - SyntaxStyle[] styles = new SyntaxStyle[Token.ID_COUNT]; - - styles[Token.COMMENT1] = new SyntaxStyle(Color.black,true,false,false); - styles[Token.COMMENT2] = new SyntaxStyle(new Color(0x990033),true,false,false); - styles[Token.KEYWORD1] = new SyntaxStyle(Color.black,false,true,false); - styles[Token.KEYWORD2] = new SyntaxStyle(Color.magenta,false,false,false); - styles[Token.KEYWORD3] = new SyntaxStyle(new Color(0x009600),false,false,false); - styles[Token.LITERAL1] = new SyntaxStyle(new Color(0x650099),false,false,false); - styles[Token.LITERAL2] = new SyntaxStyle(new Color(0x650099),false,true,false); - styles[Token.LABEL] = new SyntaxStyle(new Color(0x990033),false,true,false); - styles[Token.OPERATOR] = new SyntaxStyle(Color.black,false,true,false); - styles[Token.URL] = new SyntaxStyle(Color.blue,true,false,false); - styles[Token.INVALID] = new SyntaxStyle(Color.red,false,true,false); - - return styles; - } - - - /** - * Paints the specified line onto the graphics context. Note that this - * method munges the offset and count values of the segment. - * @param line The line segment - * @param tokens The token list for the line - * @param styles The syntax style list - * @param expander The tab expander used to determine tab stops. May - * be null - * @param gfx The graphics context - * @param x The x co-ordinate - * @param y The y co-ordinate - * @return The x co-ordinate, plus the width of the painted string - */ - public static int paintSyntaxLine(Segment line, Token tokens, - SyntaxStyle[] styles, - TabExpander expander, Graphics gfx, - int x, int y) - { - Font defaultFont = gfx.getFont(); - Color defaultColor = gfx.getColor(); - - for(;;) - { - byte id = tokens.id; - if(id == Token.END) - break; - - int length = tokens.length; - if(id == Token.NULL) - { - if(!defaultColor.equals(gfx.getColor())) - gfx.setColor(defaultColor); - if(!defaultFont.equals(gfx.getFont())) - gfx.setFont(defaultFont); - } - else - styles[id].setGraphicsFlags(gfx,defaultFont); - - line.count = length; - if (id == Token.COMMENT1 || id == Token.COMMENT2) - x = drawTabbedCommentsText(line, x, y, gfx, expander, styles, styles[id]); - else - x = Utilities.drawTabbedText(line, x, y, gfx, expander, 0); - line.offset += length; - - tokens = tokens.next; - } - - return x; - } - - /** - * Parse comments and identify "@schematics <something>" pattern. - * - * @param line - * A string to parse - * @return null if the pattern is not found, otherwise an array of - * String is returned: the elements with index 0, 1 and 2 are - * respectively the preamble, the <something> stuff, and - * the remaining part of the string. - */ - public static String[] parseCommentUrls(String line) { - Matcher m = urlPattern.matcher(line.toString()); - if (!m.find()) - return null; - - String res[] = new String[3]; - res[0] = line.substring(0, m.start(1)); - res[1] = line.substring(m.start(1), m.end(1)); - res[2] = line.substring(m.end(1)); - // System.out.println("0 =>"+res[0]+"<\n1 =>"+res[1]+"< \n2 =>"+res[2]+"<"); - return res; - } - - static private Pattern urlPattern = Pattern.compile( - "((?:https?|ftp)://" + // ( Protocol - "(?:(?:[\\w_\\-]+:)?[\\w_\\-]+@)?" + // Username and password - "(?:[\\w_\\-]+\\.)+[\\w_\\-]+" + // Domain name - "(?::[0-9]{1,5})?" + // Port - "(?:/[\\w_\\-./?%&=+]*)?)" + // Path ) - "(?:\\s|$)"); // whitespace or EOL - - public static Segment stringToSegment(String v) { - return new Segment(v.toCharArray(), 0, v.length()); - } - - private static int drawTabbedCommentsText(Segment line, int x, int y, - Graphics gfx, TabExpander expander, SyntaxStyle[] styles, - SyntaxStyle commentStyle) { - - String parse[] = parseCommentUrls(line.toString()); - if (parse == null) - // Revert to plain writing. - return Utilities.drawTabbedText(line, x, y, gfx, expander, 0); - Segment pre = stringToSegment(parse[0]); - Segment tag = stringToSegment(parse[1]); - Segment post = stringToSegment(parse[2]); - - if (pre.count>0) - x = Utilities.drawTabbedText(pre, x, y, gfx, expander, 0); - - Font f = gfx.getFont(); - styles[Token.URL].setGraphicsFlags(gfx, f); - x = Utilities.drawTabbedText(tag, x, y, gfx, expander, 0); - - commentStyle.setGraphicsFlags(gfx, f); - if (post.count>0) - x = Utilities.drawTabbedText(post, x, y, gfx, expander, 0); - return x; - } - - // private members - private SyntaxUtilities() {} -} diff --git a/app/src/processing/app/syntax/TextAreaDefaults.java b/app/src/processing/app/syntax/TextAreaDefaults.java deleted file mode 100644 index c2e878578db..00000000000 --- a/app/src/processing/app/syntax/TextAreaDefaults.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * TextAreaDefaults.java - Encapsulates default values for various settings - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import java.awt.*; -//import javax.swing.JPopupMenu; - -/** - * Encapsulates default settings for a text area. This can be passed - * to the constructor once the necessary fields have been filled out. - * The advantage of doing this over calling lots of set() methods after - * creating the text area is that this method is faster. - */ -public class TextAreaDefaults -{ - private static TextAreaDefaults DEFAULTS; - - public InputHandler inputHandler; - public SyntaxDocument document; - public boolean editable; - - public boolean caretVisible; - public boolean caretBlinks; - public boolean blockCaret; - public int electricScroll; - - public int cols; - public int rows; - public SyntaxStyle[] styles; - public Color caretColor; - public Color selectionColor; - public Color lineHighlightColor; - public boolean lineHighlight; - public Color bracketHighlightColor; - public boolean bracketHighlight; - public Color eolMarkerColor; - public boolean eolMarkers; - public boolean paintInvalid; - - - // moved from TextAreaPainter [fry] - public Font font; - public Color fgcolor; - public Color bgcolor; - - //public JPopupMenu popup; - - - /** - * Returns a new TextAreaDefaults object with the default values filled - * in. - */ - public static TextAreaDefaults getDefaults() - { - if (DEFAULTS == null) { - DEFAULTS = new TextAreaDefaults(); - - DEFAULTS.inputHandler = new DefaultInputHandler(); - DEFAULTS.inputHandler.addDefaultKeyBindings(); - DEFAULTS.document = new SyntaxDocument(); - DEFAULTS.editable = true; - - DEFAULTS.caretVisible = true; - DEFAULTS.caretBlinks = true; - DEFAULTS.electricScroll = 3; - - DEFAULTS.cols = 80; - DEFAULTS.rows = 25; - DEFAULTS.styles = SyntaxUtilities.getDefaultSyntaxStyles(); - DEFAULTS.caretColor = Color.red; - DEFAULTS.selectionColor = new Color(0xccccff); - DEFAULTS.lineHighlightColor = new Color(0xe0e0e0); - DEFAULTS.lineHighlight = true; - DEFAULTS.bracketHighlightColor = Color.black; - DEFAULTS.bracketHighlight = true; - DEFAULTS.eolMarkerColor = new Color(0x009999); - DEFAULTS.eolMarkers = true; - DEFAULTS.paintInvalid = true; - } - - return DEFAULTS; - } -} diff --git a/app/src/processing/app/syntax/TextAreaLineNumbers.java b/app/src/processing/app/syntax/TextAreaLineNumbers.java deleted file mode 100644 index 39f7438f281..00000000000 --- a/app/src/processing/app/syntax/TextAreaLineNumbers.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * TextAreaLineNumbers.java - Show line numbers for the open file in the editor - * Copyright (C) 2013 Cayci Gorlitsky - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Rectangle; - -import javax.swing.border.MatteBorder; - -public class TextAreaLineNumbers extends TextAreaPainter { - - private final int LEFT_INDENT = 6; - private final int RIGHT_INDENT = 6; - private final int RIGHT_BORDER_WIDTH = 1; - private final int PADDING_WIDTH = LEFT_INDENT + RIGHT_INDENT + RIGHT_BORDER_WIDTH; - - private final int MIN_WIDTH; - private final int DIGIT_WIDTH; - private final int MIN_NUM_DIGITS = 2; - - private int currStartNum = 0; - private int currEndNum = 0; - private int currNumDigits = MIN_NUM_DIGITS; - - - - public TextAreaLineNumbers(JEditTextArea textArea, TextAreaDefaults defaults) { - super(textArea, defaults); - DIGIT_WIDTH = getFontMetrics(getFont()).stringWidth("0"); - MIN_WIDTH = DIGIT_WIDTH * MIN_NUM_DIGITS + PADDING_WIDTH; - setEnabled(false); - setBorder(new MatteBorder(0, 0, 0, RIGHT_BORDER_WIDTH, new Color(240, 240, 240))); - } - - public void updateLineNumbers(int startNum, int endNum) { - if (currStartNum == startNum && currEndNum == endNum) { - return; - } - currStartNum = startNum; - currEndNum = endNum; - - invalidate(); - repaint(); - } - - @Override - public void paint(Graphics gfx) { - super.paint(gfx); - getBorder().paintBorder(this, gfx, 0, 0, getSize().width, getSize().height); - } - - @Override - protected void paintLine(Graphics gfx, TokenMarker tokenMarker, - int line, int x) - { - currentLineIndex = line; - gfx.setFont(getFont()); - gfx.setColor(Color.GRAY); - int y = textArea.lineToY(line); - int startX = getBounds().x + getBounds().width; - if (line >= 0 && line < textArea.getLineCount()) { - String lineNumberString = String.valueOf(line+1); - int lineStartX = startX - RIGHT_BORDER_WIDTH - RIGHT_INDENT - fm.stringWidth(lineNumberString); - gfx.drawString(lineNumberString,lineStartX,y + fm.getHeight()); - } - } - - public void updateWidthForNumDigits(int numDigits) { - if (currNumDigits == numDigits) { - return; - } - currNumDigits = numDigits; - - if (isVisible()) { - updateBounds(); - invalidate(); - repaint(); - } - } - - public void setDisplayLineNumbers(boolean displayLineNumbers) { - setVisible(displayLineNumbers); - if (displayLineNumbers) { - updateBounds(); - } else { - setBounds(new Rectangle(0, getHeight())); - } - invalidate(); - repaint(); - } - - private void updateBounds() { - if (isVisible()) { - setBounds(new Rectangle(Math.max(MIN_WIDTH, DIGIT_WIDTH * currNumDigits + PADDING_WIDTH), getHeight())); - textArea.validate(); - } - } -} diff --git a/app/src/processing/app/syntax/TextAreaPainter.java b/app/src/processing/app/syntax/TextAreaPainter.java deleted file mode 100644 index 3607c46fa72..00000000000 --- a/app/src/processing/app/syntax/TextAreaPainter.java +++ /dev/null @@ -1,787 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - * TextAreaPainter.java - Paints the text area - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import processing.app.*; -import processing.app.syntax.im.CompositionTextPainter; - -import javax.swing.ToolTipManager; -import javax.swing.text.*; -import javax.swing.JComponent; -import java.awt.event.MouseEvent; -import java.awt.*; -import java.awt.print.*; - -/** - * The text area repaint manager. It performs double buffering and paints - * lines of text. - * @author Slava Pestov - */ -public class TextAreaPainter extends JComponent -implements TabExpander, Printable -{ - /** True if inside printing, will handle disabling the highlight */ - boolean printing; - /** Current setting for editor.antialias preference */ - boolean antialias; - - /** A specific painter composed by the InputMethod.*/ - protected CompositionTextPainter compositionTextPainter; - - /** - * Creates a new repaint manager. This should be not be called - * directly. - */ - public TextAreaPainter(JEditTextArea textArea, TextAreaDefaults defaults) - { - this.textArea = textArea; - - setAutoscrolls(true); - setDoubleBuffered(true); - setOpaque(true); - - ToolTipManager.sharedInstance().registerComponent(this); - - currentLine = new Segment(); - currentLineIndex = -1; - - setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); - - setFont(defaults.font); - setForeground(defaults.fgcolor); - setBackground(defaults.bgcolor); - - antialias = PreferencesData.getBoolean("editor.antialias"); - - blockCaret = defaults.blockCaret; - styles = defaults.styles; - cols = defaults.cols; - rows = defaults.rows; - caretColor = defaults.caretColor; - selectionColor = defaults.selectionColor; - lineHighlightColor = defaults.lineHighlightColor; - lineHighlight = defaults.lineHighlight; - bracketHighlightColor = defaults.bracketHighlightColor; - bracketHighlight = defaults.bracketHighlight; - paintInvalid = defaults.paintInvalid; - eolMarkerColor = defaults.eolMarkerColor; - eolMarkers = defaults.eolMarkers; - } - - /** - * Get CompositionTextPainter. if CompositionTextPainter is not created, create it. - */ - public CompositionTextPainter getCompositionTextpainter(){ - if(compositionTextPainter == null){ - compositionTextPainter = new CompositionTextPainter(textArea); - } - return compositionTextPainter; - } - - /** - * Returns if this component can be traversed by pressing the - * Tab key. This returns false. - */ -// public final boolean isManagingFocus() -// { -// return false; -// } - - /** - * Returns the syntax styles used to paint colorized text. Entry n - * will be used to paint tokens with id = n. - * @see processing.app.syntax.Token - */ - public final SyntaxStyle[] getStyles() - { - return styles; - } - - /** - * Sets the syntax styles used to paint colorized text. Entry n - * will be used to paint tokens with id = n. - * @param styles The syntax styles - * @see processing.app.syntax.Token - */ - public final void setStyles(SyntaxStyle[] styles) - { - this.styles = styles; - repaint(); - } - - /** - * Returns the caret color. - */ - public final Color getCaretColor() - { - return caretColor; - } - - /** - * Sets the caret color. - * @param caretColor The caret color - */ - public final void setCaretColor(Color caretColor) - { - this.caretColor = caretColor; - invalidateSelectedLines(); - } - - /** - * Returns the selection color. - */ - public final Color getSelectionColor() - { - return selectionColor; - } - - /** - * Sets the selection color. - * @param selectionColor The selection color - */ - public final void setSelectionColor(Color selectionColor) - { - this.selectionColor = selectionColor; - invalidateSelectedLines(); - } - - /** - * Returns the line highlight color. - */ - public final Color getLineHighlightColor() - { - return lineHighlightColor; - } - - /** - * Sets the line highlight color. - * @param lineHighlightColor The line highlight color - */ - public final void setLineHighlightColor(Color lineHighlightColor) - { - this.lineHighlightColor = lineHighlightColor; - invalidateSelectedLines(); - } - - /** - * Returns true if line highlight is enabled, false otherwise. - */ - public final boolean isLineHighlightEnabled() - { - return lineHighlight; - } - - /** - * Enables or disables current line highlighting. - * @param lineHighlight True if current line highlight - * should be enabled, false otherwise - */ - public final void setLineHighlightEnabled(boolean lineHighlight) - { - this.lineHighlight = lineHighlight; - invalidateSelectedLines(); - } - - /** - * Returns the bracket highlight color. - */ - public final Color getBracketHighlightColor() - { - return bracketHighlightColor; - } - - /** - * Sets the bracket highlight color. - * @param bracketHighlightColor The bracket highlight color - */ - public final void setBracketHighlightColor(Color bracketHighlightColor) - { - this.bracketHighlightColor = bracketHighlightColor; - invalidateLine(textArea.getBracketLine()); - } - - /** - * Returns true if bracket highlighting is enabled, false otherwise. - * When bracket highlighting is enabled, the bracket matching the - * one before the caret (if any) is highlighted. - */ - public final boolean isBracketHighlightEnabled() - { - return bracketHighlight; - } - - /** - * Enables or disables bracket highlighting. - * When bracket highlighting is enabled, the bracket matching the - * one before the caret (if any) is highlighted. - * @param bracketHighlight True if bracket highlighting should be - * enabled, false otherwise - */ - public final void setBracketHighlightEnabled(boolean bracketHighlight) - { - this.bracketHighlight = bracketHighlight; - invalidateLine(textArea.getBracketLine()); - } - - /** - * Returns true if the caret should be drawn as a block, false otherwise. - */ - public final boolean isBlockCaretEnabled() - { - return blockCaret; - } - - /** - * Sets if the caret should be drawn as a block, false otherwise. - * @param blockCaret True if the caret should be drawn as a block, - * false otherwise. - */ - public final void setBlockCaretEnabled(boolean blockCaret) - { - this.blockCaret = blockCaret; - invalidateSelectedLines(); - } - - /** - * Returns the EOL marker color. - */ - public final Color getEOLMarkerColor() - { - return eolMarkerColor; - } - - /** - * Sets the EOL marker color. - * @param eolMarkerColor The EOL marker color - */ - public final void setEOLMarkerColor(Color eolMarkerColor) - { - this.eolMarkerColor = eolMarkerColor; - repaint(); - } - - /** - * Returns true if EOL markers are drawn, false otherwise. - */ - public final boolean getEOLMarkersPainted() - { - return eolMarkers; - } - - /** - * Sets if EOL markers are to be drawn. - * @param eolMarkers True if EOL markers should be drawn, false otherwise - */ - public final void setEOLMarkersPainted(boolean eolMarkers) - { - this.eolMarkers = eolMarkers; - repaint(); - } - - /** - * Returns true if invalid lines are painted as red tildes (~), - * false otherwise. - */ - public boolean getInvalidLinesPainted() - { - return paintInvalid; - } - - /** - * Sets if invalid lines are to be painted as red tildes. - * @param paintInvalid True if invalid lines should be drawn, false otherwise - */ - public void setInvalidLinesPainted(boolean paintInvalid) - { - this.paintInvalid = paintInvalid; - } - - /** - * Adds a custom highlight painter. - * @param highlight The highlight - */ - public void addCustomHighlight(Highlight highlight) - { - highlight.init(textArea,highlights); - highlights = highlight; - } - - /** - * Highlight interface. - */ - public interface Highlight - { - /** - * Called after the highlight painter has been added. - * @param textArea The text area - * @param next The painter this one should delegate to - */ - void init(JEditTextArea textArea, Highlight next); - - /** - * This should paint the highlight and delgate to the - * next highlight painter. - * @param gfx The graphics context - * @param line The line number - * @param y The y co-ordinate of the line - */ - void paintHighlight(Graphics gfx, int line, int y); - - /** - * Returns the tool tip to display at the specified - * location. If this highlighter doesn't know what to - * display, it should delegate to the next highlight - * painter. - * @param evt The mouse event - */ - String getToolTipText(MouseEvent evt); - } - - /** - * Returns the tool tip to display at the specified location. - * @param evt The mouse event - */ - public String getToolTipText(MouseEvent evt) - { - if(highlights != null) - return highlights.getToolTipText(evt); - else - return null; - } - - /** - * Returns the font metrics used by this component. - */ - public FontMetrics getFontMetrics() - { - return fm; - } - - /** - * Sets the font for this component. This is overridden to update the - * cached font metrics and to recalculate which lines are visible. - * @param font The font - */ - public void setFont(Font font) - { - super.setFont(font); - fm = super.getFontMetrics(font); - textArea.recalculateVisibleLines(); - } - - /** - * Repaints the text. - * @param gfx The graphics context - */ - public void paint(Graphics gfx) - { - Graphics2D g2 = (Graphics2D) gfx; - g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, - antialias ? - RenderingHints.VALUE_TEXT_ANTIALIAS_ON : - RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); - - tabSize = fm.charWidth(' ') * ((Integer)textArea.getDocument().getProperty(PlainDocument.tabSizeAttribute)).intValue(); - - Rectangle clipRect = gfx.getClipBounds(); - - gfx.setColor(getBackground()); - gfx.fillRect(clipRect.x,clipRect.y,clipRect.width,clipRect.height); - - // We don't use yToLine() here because that method doesn't - // return lines past the end of the document - int height = fm.getHeight(); - int firstLine = textArea.getFirstLine(); - int firstInvalid = firstLine + clipRect.y / height; - // Because the clipRect's height is usually an even multiple - // of the font height, we subtract 1 from it, otherwise one - // too many lines will always be painted. - int lastInvalid = firstLine + (clipRect.y + clipRect.height - 1) / height; - - try { - TokenMarker tokenMarker = textArea.getDocument().getTokenMarker(); - int x = textArea.getHorizontalOffset(); - - for (int line = firstInvalid; line <= lastInvalid; line++) { - paintLine(gfx,tokenMarker,line,x); - } - - if (tokenMarker != null && tokenMarker.isNextLineRequested()) { - int h = clipRect.y + clipRect.height; - repaint(0,h,getWidth(),getHeight() - h); - } - } catch (Exception e) { - System.err.println("Error repainting line" - + " range {" + firstInvalid + "," - + lastInvalid + "}:"); - e.printStackTrace(); - } - } - - - public int print(Graphics g, PageFormat pageFormat, int pageIndex) { - int lineHeight = fm.getHeight(); - int linesPerPage = (int) (pageFormat.getImageableHeight() / lineHeight); - int lineCount = textArea.getLineCount(); - int lastPage = lineCount / linesPerPage; - - if (pageIndex > lastPage) { - return NO_SUCH_PAGE; - - } else { - Graphics2D g2d = (Graphics2D)g; - TokenMarker tokenMarker = textArea.getDocument().getTokenMarker(); - int firstLine = pageIndex*linesPerPage; - g2d.translate(Math.max(54, pageFormat.getImageableX()), - pageFormat.getImageableY() - firstLine*lineHeight); - printing = true; - for (int line = firstLine; line < firstLine + linesPerPage; line++) { - paintLine(g2d, tokenMarker, line, 0); - } - printing = false; - return PAGE_EXISTS; - } - } - - - /** - * Marks a line as needing a repaint. - * @param line The line to invalidate - */ - public final void invalidateLine(int line) - { - repaint(0,textArea.lineToY(line) + fm.getMaxDescent() + fm.getLeading(), - getWidth(),fm.getHeight()); - } - - /** - * Marks a range of lines as needing a repaint. - * @param firstLine The first line to invalidate - * @param lastLine The last line to invalidate - */ - public final void invalidateLineRange(int firstLine, int lastLine) - { - repaint(0,textArea.lineToY(firstLine) + - fm.getMaxDescent() + fm.getLeading(), - getWidth(),(lastLine - firstLine + 1) * fm.getHeight()); - } - - /** - * Repaints the lines containing the selection. - */ - public final void invalidateSelectedLines() - { - invalidateLineRange(textArea.getSelectionStartLine(), - textArea.getSelectionStopLine()); - } - - /** - * Implementation of TabExpander interface. Returns next tab stop after - * a specified point. - * @param x The x co-ordinate - * @param tabOffset Ignored - * @return The next tab stop after x - */ - public float nextTabStop(float x, int tabOffset) - { - int offset = textArea.getHorizontalOffset(); - int ntabs = ((int)x - offset) / tabSize; - return (ntabs + 1) * tabSize + offset; - } - - /** - * Returns the painter's preferred size. - */ - public Dimension getPreferredSize() - { - Dimension dim = new Dimension(); - dim.width = fm.charWidth('w') * cols; - dim.height = fm.getHeight() * rows; - return dim; - } - - - /** - * Returns the painter's minimum size. - */ - public Dimension getMinimumSize() - { - Dimension dim = new Dimension(); - dim.width = fm.charWidth('w') * 10; - dim.height = fm.getHeight() * 4; - return dim; - } - - // package-private members - int currentLineIndex; - Token currentLineTokens; - Segment currentLine; - - /** - * Accessor used by tools that want to hook in and grab the formatting. - */ - public int getCurrentLineIndex() { - return currentLineIndex; - } - - /** - * Accessor used by tools that want to hook in and grab the formatting. - */ - public void setCurrentLineIndex(int what) { - currentLineIndex = what; - } - - /** - * Accessor used by tools that want to hook in and grab the formatting. - */ - public Token getCurrentLineTokens() { - return currentLineTokens; - } - - /** - * Accessor used by tools that want to hook in and grab the formatting. - */ - public void setCurrentLineTokens(Token tokens) { - currentLineTokens = tokens; - } - - /** - * Accessor used by tools that want to hook in and grab the formatting. - */ - public Segment getCurrentLine() { - return currentLine; - } - - - // protected members - protected JEditTextArea textArea; - - protected SyntaxStyle[] styles; - protected Color caretColor; - protected Color selectionColor; - protected Color lineHighlightColor; - protected Color bracketHighlightColor; - protected Color eolMarkerColor; - - protected boolean blockCaret; - protected boolean lineHighlight; - protected boolean bracketHighlight; - protected boolean paintInvalid; - protected boolean eolMarkers; - protected int cols; - protected int rows; - - protected int tabSize; - protected FontMetrics fm; - - protected Highlight highlights; - - protected void paintLine(Graphics gfx, TokenMarker tokenMarker, - int line, int x) - { - Font defaultFont = getFont(); - Color defaultColor = getForeground(); - - currentLineIndex = line; - int y = textArea.lineToY(line); - - if (line < 0 || line >= textArea.getLineCount()) { - if (paintInvalid) { - paintHighlight(gfx,line,y); - styles[Token.INVALID].setGraphicsFlags(gfx,defaultFont); - gfx.drawString("~",0,y + fm.getHeight()); - } - } else if(tokenMarker == null) { - paintPlainLine(gfx,line,defaultFont,defaultColor,x,y); - } else { - paintSyntaxLine(gfx,tokenMarker,line,defaultFont, - defaultColor,x,y); - } - } - - protected void paintPlainLine(Graphics gfx, int line, Font defaultFont, - Color defaultColor, int x, int y) - { - paintHighlight(gfx,line,y); - textArea.getLineText(line,currentLine); - - gfx.setFont(defaultFont); - gfx.setColor(defaultColor); - - y += fm.getHeight(); - x = Utilities.drawTabbedText(currentLine,x,y,gfx,this,0); - /* - * Draw characters via input method. - */ - if (compositionTextPainter != null && compositionTextPainter.hasComposedTextLayout()) { - compositionTextPainter.draw(gfx, lineHighlightColor); - } - if (eolMarkers) { - gfx.setColor(eolMarkerColor); - gfx.drawString(".",x,y); - } - } - - protected void paintSyntaxLine(Graphics gfx, TokenMarker tokenMarker, - int line, Font defaultFont, - Color defaultColor, int x, int y) - { - textArea.getLineText(currentLineIndex,currentLine); - currentLineTokens = tokenMarker.markTokens(currentLine, - currentLineIndex); - - paintHighlight(gfx,line,y); - - gfx.setFont(defaultFont); - gfx.setColor(defaultColor); - y += fm.getHeight(); - x = SyntaxUtilities.paintSyntaxLine(currentLine, - currentLineTokens, - styles, this, gfx, x, y); - /* - * Draw characters via input method. - */ - if (compositionTextPainter != null && compositionTextPainter.hasComposedTextLayout()) { - compositionTextPainter.draw(gfx, lineHighlightColor); - } - if (eolMarkers) { - gfx.setColor(eolMarkerColor); - gfx.drawString(".",x,y); - } - } - - protected void paintHighlight(Graphics gfx, int line, int y) - { - if (!printing) { - if (line >= textArea.getSelectionStartLine() - && line <= textArea.getSelectionStopLine()) - paintLineHighlight(gfx,line,y); - - if (highlights != null) - highlights.paintHighlight(gfx,line,y); - - if (bracketHighlight && line == textArea.getBracketLine()) - paintBracketHighlight(gfx,line,y); - - if (line == textArea.getCaretLine()) - paintCaret(gfx,line,y); - } - } - - protected void paintLineHighlight(Graphics gfx, int line, int y) - { - int height = fm.getHeight(); - y += fm.getLeading() + fm.getMaxDescent(); - - int selectionStart = textArea.getSelectionStart(); - int selectionEnd = textArea.getSelectionStop(); - - if (selectionStart == selectionEnd) { - if (lineHighlight) { - gfx.setColor(lineHighlightColor); - gfx.fillRect(0,y,getWidth(),height); - } - } else { - gfx.setColor(selectionColor); - - int selectionStartLine = textArea.getSelectionStartLine(); - int selectionEndLine = textArea.getSelectionStopLine(); - int lineStart = textArea.getLineStartOffset(line); - - int x1, x2; - if (textArea.isSelectionRectangular()) { - int lineLen = textArea.getLineLength(line); - x1 = textArea._offsetToX(line,Math.min(lineLen, selectionStart - textArea.getLineStartOffset(selectionStartLine))); - x2 = textArea._offsetToX(line,Math.min(lineLen, selectionEnd - textArea.getLineStartOffset(selectionEndLine))); - if (x1 == x2) - x2++; - } else if(selectionStartLine == selectionEndLine) { - x1 = textArea._offsetToX(line, selectionStart - lineStart); - x2 = textArea._offsetToX(line, selectionEnd - lineStart); - } else if(line == selectionStartLine) { - x1 = textArea._offsetToX(line, selectionStart - lineStart); - x2 = getWidth(); - } else if(line == selectionEndLine) { - //x1 = 0; - // hack from stendahl to avoid doing weird side selection thing - x1 = textArea._offsetToX(line, 0); - // attempt at getting the gutter too, but doesn't seem to work - //x1 = textArea._offsetToX(line, -textArea.getHorizontalOffset()); - x2 = textArea._offsetToX(line, selectionEnd - lineStart); - } else { - //x1 = 0; - // hack from stendahl to avoid doing weird side selection thing - x1 = textArea._offsetToX(line, 0); - // attempt at getting the gutter too, but doesn't seem to work - //x1 = textArea._offsetToX(line, -textArea.getHorizontalOffset()); - x2 = getWidth(); - } - - // "inlined" min/max() - gfx.fillRect(x1 > x2 ? x2 : x1,y,x1 > x2 ? - (x1 - x2) : (x2 - x1),height); - } - - } - - protected void paintBracketHighlight(Graphics gfx, int line, int y) - { - int position = textArea.getBracketPosition(); - if(position == -1) - return; - y += fm.getLeading() + fm.getMaxDescent(); - int x = textArea._offsetToX(line,position); - gfx.setColor(bracketHighlightColor); - // Hack!!! Since there is no fast way to get the character - // from the bracket matching routine, we use ( since all - // brackets probably have the same width anyway - gfx.drawRect(x,y,fm.charWidth('(') - 1, - fm.getHeight() - 1); - } - - protected void paintCaret(Graphics gfx, int line, int y) - { - //System.out.println("painting caret " + line + " " + y); - if (textArea.isCaretVisible()) { - //System.out.println("caret is visible"); - int offset = - textArea.getCaretPosition() - textArea.getLineStartOffset(line); - int caretX = textArea._offsetToX(line, offset); - int caretWidth = ((blockCaret || - textArea.isOverwriteEnabled()) ? - fm.charWidth('w') : 1); - y += fm.getLeading() + fm.getMaxDescent(); - int height = fm.getHeight(); - - //System.out.println("caretX, width = " + caretX + " " + caretWidth); - - gfx.setColor(caretColor); - - if (textArea.isOverwriteEnabled()) { - gfx.fillRect(caretX,y + height - 1, caretWidth,1); - - } else { - // some machines don't like the drawRect for the single - // pixel caret.. this caused a lot of hell because on that - // minority of machines, the caret wouldn't show up past - // the first column. the fix is to use drawLine() in - // those cases, as a workaround. - if (caretWidth == 1) { - gfx.drawLine(caretX, y, caretX, y + height - 1); - } else { - gfx.drawRect(caretX, y, caretWidth - 1, height - 1); - } - //gfx.drawRect(caretX, y, caretWidth, height - 1); - } - } - } -} diff --git a/app/src/processing/app/syntax/TextUtilities.java b/app/src/processing/app/syntax/TextUtilities.java deleted file mode 100644 index f009cd0513d..00000000000 --- a/app/src/processing/app/syntax/TextUtilities.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * TextUtilities.java - Utility functions used by the text area classes - * Copyright (C) 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.text.*; - -/** - * Class with several utility functions used by the text area component. - * @author Slava Pestov - */ -public class TextUtilities -{ - /** - * Returns the offset of the bracket matching the one at the - * specified offset of the document, or -1 if the bracket is - * unmatched (or if the character is not a bracket). - * @param doc The document - * @param offset The offset - * @exception BadLocationException If an out-of-bounds access - * was attempted on the document text - */ - public static int findMatchingBracket(Document doc, int offset) - throws BadLocationException - { - if(doc.getLength() == 0) - return -1; - char c = doc.getText(offset,1).charAt(0); - char cprime; // c` - corresponding character - boolean direction; // true = back, false = forward - - switch(c) - { - case '(': cprime = ')'; direction = false; break; - case ')': cprime = '('; direction = true; break; - case '[': cprime = ']'; direction = false; break; - case ']': cprime = '['; direction = true; break; - case '{': cprime = '}'; direction = false; break; - case '}': cprime = '{'; direction = true; break; - default: return -1; - } - - int count; - - // How to merge these two cases is left as an exercise - // for the reader. - - // Go back or forward - if(direction) - { - // Count is 1 initially because we have already - // `found' one closing bracket - count = 1; - - // Get text[0,offset-1]; - String text = doc.getText(0,offset); - - // Scan backwards - for(int i = offset - 1; i >= 0; i--) - { - // If text[i] == c, we have found another - // closing bracket, therefore we will need - // two opening brackets to complete the - // match. - char x = text.charAt(i); - if(x == c) - count++; - - // If text[i] == cprime, we have found a - // opening bracket, so we return i if - // --count == 0 - else if(x == cprime) - { - if(--count == 0) - return i; - } - } - } - else - { - // Count is 1 initially because we have already - // `found' one opening bracket - count = 1; - - // So we don't have to + 1 in every loop - offset++; - - // Number of characters to check - int len = doc.getLength() - offset; - - // Get text[offset+1,len]; - String text = doc.getText(offset,len); - - // Scan forwards - for(int i = 0; i < len; i++) - { - // If text[i] == c, we have found another - // opening bracket, therefore we will need - // two closing brackets to complete the - // match. - char x = text.charAt(i); - - if(x == c) - count++; - - // If text[i] == cprime, we have found an - // closing bracket, so we return i if - // --count == 0 - else if(x == cprime) - { - if(--count == 0) - return i + offset; - } - } - } - - // Nothing found - return -1; - } - - /** - * Locates the start of the word at the specified position. - * @param line The text - * @param pos The position - */ - public static int findWordStart(String line, int pos, String noWordSep) - { - char ch = line.charAt(pos - 1); - - if(noWordSep == null) - noWordSep = ""; - boolean selectNoLetter = (!Character.isLetterOrDigit(ch) - && noWordSep.indexOf(ch) == -1); - - int wordStart = 0; - for(int i = pos - 1; i >= 0; i--) - { - ch = line.charAt(i); - if(selectNoLetter ^ (!Character.isLetterOrDigit(ch) && - noWordSep.indexOf(ch) == -1)) - { - wordStart = i + 1; - break; - } - } - - return wordStart; - } - - /** - * Locates the end of the word at the specified position. - * @param line The text - * @param pos The position - */ - public static int findWordEnd(String line, int pos, String noWordSep) - { - char ch = line.charAt(pos); - - if(noWordSep == null) - noWordSep = ""; - boolean selectNoLetter = (!Character.isLetterOrDigit(ch) - && noWordSep.indexOf(ch) == -1); - - int wordEnd = line.length(); - for(int i = pos; i < line.length(); i++) - { - ch = line.charAt(i); - if(selectNoLetter ^ (!Character.isLetterOrDigit(ch) && - noWordSep.indexOf(ch) == -1)) - { - wordEnd = i; - break; - } - } - return wordEnd; - } -} diff --git a/app/src/processing/app/syntax/TokenMarker.java b/app/src/processing/app/syntax/TokenMarker.java deleted file mode 100644 index 9244556d3c7..00000000000 --- a/app/src/processing/app/syntax/TokenMarker.java +++ /dev/null @@ -1,341 +0,0 @@ -/* - * TokenMarker.java - Generic token marker - * Copyright (C) 1998, 1999 Slava Pestov - * - * You may use and modify this package for any purpose. Redistribution is - * permitted, in both source and binary form, provided that this notice - * remains intact in all source distributions of this package. - */ - -package processing.app.syntax; - -import javax.swing.text.Segment; - -/** - * A token marker that splits lines of text into tokens. Each token carries - * a length field and an indentification tag that can be mapped to a color - * for painting that token.

- * - * For performance reasons, the linked list of tokens is reused after each - * line is tokenized. Therefore, the return value of markTokens - * should only be used for immediate painting. Notably, it cannot be - * cached. - * - * @author Slava Pestov - */ -public abstract class TokenMarker -{ - /** - * A wrapper for the lower-level markTokensImpl method - * that is called to split a line up into tokens. - * @param line The line - * @param lineIndex The line number - */ - public Token markTokens(Segment line, int lineIndex) - { - if(lineIndex >= length) - { - throw new IllegalArgumentException("Tokenizing invalid line: " - + lineIndex); - } - - lastToken = null; - - LineInfo info = lineInfo[lineIndex]; - LineInfo prev; - if(lineIndex == 0) - prev = null; - else - prev = lineInfo[lineIndex - 1]; - - byte oldToken = info.token; - byte token = markTokensImpl(prev == null ? - Token.NULL : prev.token,line,lineIndex); - - info.token = token; - - /* - * This is a foul hack. It stops nextLineRequested - * from being cleared if the same line is marked twice. - * - * Why is this necessary? It's all JEditTextArea's fault. - * When something is inserted into the text, firing a - * document event, the insertUpdate() method shifts the - * caret (if necessary) by the amount inserted. - * - * All caret movement is handled by the select() method, - * which eventually pipes the new position to scrollTo() - * and calls repaint(). - * - * Note that at this point in time, the new line hasn't - * yet been painted; the caret is moved first. - * - * scrollTo() calls offsetToX(), which tokenizes the line - * unless it is being called on the last line painted - * (in which case it uses the text area's painter cached - * token list). What scrollTo() does next is irrelevant. - * - * After scrollTo() has done it's job, repaint() is - * called, and eventually we end up in paintLine(), whose - * job is to paint the changed line. It, too, calls - * markTokens(). - * - * The problem was that if the line started a multiline - * token, the first markTokens() (done in offsetToX()) - * would set nextLineRequested (because the line end - * token had changed) but the second would clear it - * (because the line was the same that time) and therefore - * paintLine() would never know that it needed to repaint - * subsequent lines. - * - * This bug took me ages to track down, that's why I wrote - * all the relevant info down so that others wouldn't - * duplicate it. - */ - if(!(lastLine == lineIndex && nextLineRequested)) - nextLineRequested = (oldToken != token); - - lastLine = lineIndex; - - addToken(0,Token.END); - - return firstToken; - } - - /** - * An abstract method that splits a line up into tokens. It - * should parse the line, and call addToken() to - * add syntax tokens to the token list. Then, it should return - * the initial token type for the next line.

- * - * For example if the current line contains the start of a - * multiline comment that doesn't end on that line, this method - * should return the comment token type so that it continues on - * the next line. - * - * @param token The initial token type for this line - * @param line The line to be tokenized - * @param lineIndex The index of the line in the document, - * starting at 0 - * @return The initial token type for the next line - */ - protected abstract byte markTokensImpl(byte token, Segment line, - int lineIndex); - - /** - * Returns if the token marker supports tokens that span multiple - * lines. If this is true, the object using this token marker is - * required to pass all lines in the document to the - * markTokens() method (in turn).

- * - * The default implementation returns true; it should be overridden - * to return false on simpler token markers for increased speed. - */ - public boolean supportsMultilineTokens() - { - return true; - } - - /** - * Informs the token marker that lines have been inserted into - * the document. This inserts a gap in the lineInfo - * array. - * @param index The first line number - * @param lines The number of lines - */ - public void insertLines(int index, int lines) - { - if(lines <= 0) - return; - length += lines; - ensureCapacity(length); - int len = index + lines; - System.arraycopy(lineInfo,index,lineInfo,len, - lineInfo.length - len); - - for(int i = index + lines - 1; i >= index; i--) - { - lineInfo[i] = new LineInfo(); - } - } - - /** - * Informs the token marker that line have been deleted from - * the document. This removes the lines in question from the - * lineInfo array. - * @param index The first line number - * @param lines The number of lines - */ - public void deleteLines(int index, int lines) - { - if (lines <= 0) - return; - int len = index + lines; - length -= lines; - System.arraycopy(lineInfo,len,lineInfo, - index,lineInfo.length - len); - } - - /** - * Returns the number of lines in this token marker. - */ - public int getLineCount() - { - return length; - } - - /** - * Returns true if the next line should be repainted. This - * will return true after a line has been tokenized that starts - * a multiline token that continues onto the next line. - */ - public boolean isNextLineRequested() - { - return nextLineRequested; - } - - // protected members - - /** - * The first token in the list. This should be used as the return - * value from markTokens(). - */ - protected Token firstToken; - - /** - * The last token in the list. New tokens are added here. - * This should be set to null before a new line is to be tokenized. - */ - protected Token lastToken; - - /** - * An array for storing information about lines. It is enlarged and - * shrunk automatically by the insertLines() and - * deleteLines() methods. - */ - protected LineInfo[] lineInfo; - - /** - * The number of lines in the model being tokenized. This can be - * less than the length of the lineInfo array. - */ - protected int length; - - /** - * The last tokenized line. - */ - protected int lastLine; - - /** - * True if the next line should be painted. - */ - protected boolean nextLineRequested; - - /** - * Creates a new TokenMarker. This DOES NOT create - * a lineInfo array; an initial call to insertLines() - * does that. - */ - protected TokenMarker() - { - lastLine = -1; - } - - /** - * Ensures that the lineInfo array can contain the - * specified index. This enlarges it if necessary. No action is - * taken if the array is large enough already.

- * - * It should be unnecessary to call this under normal - * circumstances; insertLine() should take care of - * enlarging the line info array automatically. - * - * @param index The array index - */ - protected void ensureCapacity(int index) - { - if(lineInfo == null) - lineInfo = new LineInfo[index + 1]; - else if(lineInfo.length <= index) - { - LineInfo[] lineInfoN = new LineInfo[(index + 1) * 2]; - System.arraycopy(lineInfo,0,lineInfoN,0, - lineInfo.length); - lineInfo = lineInfoN; - } - } - - /** - * Adds a token to the token list. - * @param length The length of the token - * @param id The id of the token - */ - protected void addToken(int length, byte id) - { - if(id >= Token.INTERNAL_FIRST && id <= Token.INTERNAL_LAST) - throw new InternalError("Invalid id: " + id); - - if(length == 0 && id != Token.END) - return; - - if(firstToken == null) - { - firstToken = new Token(length,id); - lastToken = firstToken; - } - else if(lastToken == null) - { - lastToken = firstToken; - firstToken.length = length; - firstToken.id = id; - } - else if(lastToken.next == null) - { - lastToken.next = new Token(length,id); - lastToken = lastToken.next; - } - else - { - lastToken = lastToken.next; - lastToken.length = length; - lastToken.id = id; - } - } - - /** - * Inner class for storing information about tokenized lines. - */ - public class LineInfo - { - /** - * Creates a new LineInfo object with token = Token.NULL - * and obj = null. - */ - public LineInfo() - { - } - - /** - * Creates a new LineInfo object with the specified - * parameters. - */ - public LineInfo(byte token, Object obj) - { - this.token = token; - this.obj = obj; - } - - /** - * The id of the last token of the line. - */ - public byte token; - - /** - * This is for use by the token marker implementations - * themselves. It can be used to store anything that - * is an object and that needs to exist on a per-line - * basis. - */ - public Object obj; - } -} diff --git a/app/src/processing/app/syntax/im/CompositionTextManager.java b/app/src/processing/app/syntax/im/CompositionTextManager.java deleted file mode 100644 index ba9ee155f7f..00000000000 --- a/app/src/processing/app/syntax/im/CompositionTextManager.java +++ /dev/null @@ -1,198 +0,0 @@ -package processing.app.syntax.im; - -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.font.FontRenderContext; -import java.awt.font.TextAttribute; -import java.awt.font.TextLayout; -import java.text.AttributedCharacterIterator; -import java.text.AttributedString; - -import javax.swing.text.BadLocationException; - -import processing.app.syntax.JEditTextArea; -import processing.app.syntax.TextAreaPainter; - -/** - * This class Manage texts from input method - * by begin-process-end steps. - * - * First, if a user start inputing via input method, - * beginCompositionText is called from InputMethodSupport. - * Second, the user continues from input method, processCompositionText is called - * and reflect user inputs to text area. - * Finally the user try to commit text, endCompositionText is called. - * - * @author Takashi Maekawa (takachin@generative.info) - */ - -public class CompositionTextManager { - private JEditTextArea textArea; - private String prevComposeString; - private int prevCommittedCount; - private boolean isInputProcess; - private int initialCaretPosition; - public static final int COMPOSING_UNDERBAR_HEIGHT = 5; - - /** - * Create text manager class with a textarea. - * @param textArea texarea component for PDE. - */ - public CompositionTextManager(JEditTextArea textArea) { - this.textArea = textArea; - prevComposeString = ""; - isInputProcess = false; - prevCommittedCount = 0; - } - - /** - * Get this text manager is whether in input process or not. - */ - public boolean getIsInputProcess() { - return isInputProcess; - } - /** - * Insert full width space - */ - public void insertFullWidthSpace() { - initialCaretPosition = textArea.getCaretPosition(); - int layoutCaretPosition = initialCaretPosition; - try { - textArea.getDocument().insertString(layoutCaretPosition, "\u3000", null); - } catch (BadLocationException e) { - e.printStackTrace(); - } - } - - /** - * Called when a user begins input from input method. - * This method initializes text manager. - * - * @param text Text from InputMethodEvent. - * @param commited_count Numbers of committed characters in text. - */ - public void beginCompositionText(AttributedCharacterIterator text, int committed_count) { - isInputProcess = true; - prevComposeString = ""; - initialCaretPosition = textArea.getCaretPosition(); - processCompositionText(text, committed_count); - } - - /** - * Called when a user processing input characters and - * select candidates from input method. - * - * @param text Text from InputMethodEvent. - * @param commited_count Numbers of committed characters in text. - */ - public void processCompositionText(AttributedCharacterIterator text, int committed_count) { - int layoutCaretPosition = initialCaretPosition + committed_count; - CompositionTextPainter compositionPainter = textArea.getPainter().getCompositionTextpainter(); - compositionPainter.setComposedTextLayout(getTextLayout(text, committed_count), layoutCaretPosition); - int textLength = text.getEndIndex() - text.getBeginIndex() - committed_count; - StringBuffer unCommitedStringBuf = new StringBuffer(textLength); - char c; - for (c = text.setIndex(committed_count); c != AttributedCharacterIterator.DONE - && textLength > 0; c = text.next(), --textLength) { - unCommitedStringBuf.append(c); - } - String unCommittedString = unCommitedStringBuf.toString(); - try { - if(canRemovePreviousInput(committed_count)){ - textArea.getDocument().remove(layoutCaretPosition, prevComposeString.length()); - } - textArea.getDocument().insertString(layoutCaretPosition, unCommittedString, null); - if(committed_count > 0){ - initialCaretPosition = initialCaretPosition + committed_count; - } - prevComposeString = unCommittedString; - prevCommittedCount = committed_count; - } catch (BadLocationException e) { - e.printStackTrace(); - } - } - - private boolean canRemovePreviousInput(int committed_count){ - return (prevCommittedCount == committed_count || prevCommittedCount > committed_count); - } - - /** - * Called when a user fixed text from input method or delete all - * composition text. This method resets CompositionTextPainter. - * - * @param text Text from InputMethodEvent. - * @param commited_count Numbers of committed characters in text. - */ - public void endCompositionText(AttributedCharacterIterator text, int committed_count) { - /* - * If there are no committed characters, remove it all from textarea. - * This case will happen if a user delete all composing characters by backspace or delete key. - * If it does, these previous characters are needed to be deleted. - */ - if(committed_count == 0){ - removeNotCommittedText(text); - } - CompositionTextPainter compositionPainter = textArea.getPainter().getCompositionTextpainter(); - compositionPainter.invalidateComposedTextLayout(initialCaretPosition + committed_count); - prevComposeString = ""; - isInputProcess = false; - } - - private void removeNotCommittedText(AttributedCharacterIterator text){ - if (prevComposeString.length() == 0) { - return; - } - try { - textArea.getDocument().remove(initialCaretPosition, prevComposeString.length()); - } catch (BadLocationException e) { - e.printStackTrace(); - } - } - - private TextLayout getTextLayout(AttributedCharacterIterator text, int committed_count) { - AttributedString composed = new AttributedString(text, committed_count, text.getEndIndex()); - Font font = textArea.getPainter().getFont(); - FontRenderContext context = ((Graphics2D) (textArea.getPainter().getGraphics())).getFontRenderContext(); - composed.addAttribute(TextAttribute.FONT, font); - TextLayout layout = new TextLayout(composed.getIterator(), context); - return layout; - } - - private Point getCaretLocation() { - Point loc = new Point(); - TextAreaPainter painter = textArea.getPainter(); - FontMetrics fm = painter.getFontMetrics(); - int offsetY = fm.getHeight() - COMPOSING_UNDERBAR_HEIGHT; - int lineIndex = textArea.getCaretLine(); - loc.y = lineIndex * fm.getHeight() + offsetY; - int offsetX = textArea.getCaretPosition() - - textArea.getLineStartOffset(lineIndex); - loc.x = textArea.offsetToX(lineIndex, offsetX); - return loc; - } - - public Rectangle getTextLocation() { - Point caret = getCaretLocation(); - return getCaretRectangle(caret.x, caret.y); - } - - private Rectangle getCaretRectangle(int x, int y) { - TextAreaPainter painter = textArea.getPainter(); - Point origin = painter.getLocationOnScreen(); - int height = painter.getFontMetrics().getHeight(); - return new Rectangle(origin.x + x, origin.y + y, 0, height); - } - - public AttributedCharacterIterator getCommittedText(int beginIndex, int endIndex) { - int length = endIndex - beginIndex; - String textAreaString = textArea.getText(beginIndex, length); - return new AttributedString(textAreaString).getIterator(); - } - - public int getInsertPositionOffset() { - return textArea.getCaretPosition() * -1; - } -} diff --git a/app/src/processing/app/syntax/im/CompositionTextPainter.java b/app/src/processing/app/syntax/im/CompositionTextPainter.java deleted file mode 100644 index 0084f491f92..00000000000 --- a/app/src/processing/app/syntax/im/CompositionTextPainter.java +++ /dev/null @@ -1,124 +0,0 @@ -package processing.app.syntax.im; - -import java.awt.Color; -import java.awt.FontMetrics; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.font.TextLayout; - -import processing.app.syntax.JEditTextArea; -import processing.app.syntax.TextAreaPainter; - -/** - * Paint texts from input method. Text via input method are transmitted by - * AttributedCaharacterIterator. This class helps the PDE's TextAreaPainter - * to handle AttributedCaharacterIterator. - * - * For practical purposes, paint to textarea is done by TextLayout class. - * Because TextLayout class is easy to draw composing texts. (For example, - * draw underline composing texts, focus when select from candidates text.) - * - * @author Takashi Maekawa (takachin@generative.info) - */ -public class CompositionTextPainter { - private TextLayout composedTextLayout; - private int composedBeginCaretPosition = 0; - private JEditTextArea textArea; - - /** - * Constructor for painter. - * @param textarea textarea used by PDE. - */ - public CompositionTextPainter(JEditTextArea textArea) { - this.textArea = textArea; - composedTextLayout = null; - } - - /** - * Check the painter has TextLayout. - * If a user input via InputMethod, this result will return true. - * @param textarea textarea used by PDE. - */ - public boolean hasComposedTextLayout() { - return (composedTextLayout != null); - } - - /** - * Set TextLayout to the painter. - * TextLayout will be created and set by CompositionTextManager. - * - * @see CompositionTextManager - * @param textarea textarea used by PDE. - */ - public void setComposedTextLayout(TextLayout composedTextLayout, int composedStartCaretPosition) { - this.composedTextLayout = composedTextLayout; - this.composedBeginCaretPosition = composedStartCaretPosition; - } - - /** - * Invalidate this TextLayout to set null. - * If a user end input via InputMethod, this method will called from CompositionTextManager.endCompositionText - */ - public void invalidateComposedTextLayout(int composedEndCaretPosition) { - this.composedTextLayout = null; - this.composedBeginCaretPosition = composedEndCaretPosition; - //this.composedBeginCaretPosition = textArea.getCaretPosition(); - } - - /** - * Draw text via input method with composed text information. - * This method can draw texts with some underlines to illustrate converting characters. - * - * This method is workaround for TextAreaPainter. - * Because, TextAreaPainter can't treat AttributedCharacterIterator directly. - * AttributedCharacterIterator has very important information when composing text. - * It has a map where are converted characters and committed characters. - * Ideally, changing TextAreaPainter method can treat AttributedCharacterIterator is better. But it's very tough!! - * So I choose to write some code as a workaround. - * - * This draw method is proceeded with the following steps. - * 1. Original TextAreaPainter draws characters. - * 2. This refillComposedArea method erase previous paint characters by textarea's background color. - * The refill area is only square that width and height defined by characters with input method. - * 3. CompositionTextPainter.draw method paints composed text. It was actually drawn by TextLayout. - * - * @param gfx set TextAreaPainter's Graphics object. - * @param fillBackGroundColor set textarea's background. - */ - public void draw(Graphics gfx, Color fillBackGroundColor) { - assert(composedTextLayout != null); - Point composedLoc = getCaretLocation(); - refillComposedArea(fillBackGroundColor, composedLoc.x, composedLoc.y); - composedTextLayout.draw((Graphics2D) gfx, composedLoc.x, composedLoc.y); - } - - /** - * Fill color to erase characters drawn by original TextAreaPainter. - * - * @param fillColor fill color to erase characters drawn by original TextAreaPainter method. - * @param x x-coordinate where to fill. - * @param y y-coordinate where to fill. - */ - private void refillComposedArea(Color fillColor, int x, int y) { - Graphics gfx = textArea.getPainter().getGraphics(); - gfx.setColor(fillColor); - FontMetrics fm = textArea.getPainter().getFontMetrics(); - int newY = y - (fm.getHeight() - CompositionTextManager.COMPOSING_UNDERBAR_HEIGHT); - int paintHeight = fm.getHeight(); - int paintWidth = (int) composedTextLayout.getBounds().getWidth(); - gfx.fillRect(x, newY, paintWidth, paintHeight); - } - - private Point getCaretLocation() { - Point loc = new Point(); - TextAreaPainter painter = textArea.getPainter(); - FontMetrics fm = painter.getFontMetrics(); - int offsetY = fm.getHeight() - CompositionTextManager.COMPOSING_UNDERBAR_HEIGHT; - int lineIndex = textArea.getCaretLine(); - loc.y = lineIndex * fm.getHeight() + offsetY; - int offsetX = composedBeginCaretPosition - textArea.getLineStartOffset(lineIndex); - loc.x = textArea.offsetToX(lineIndex, offsetX); - return loc; - } -} diff --git a/app/src/processing/app/syntax/im/InputMethodSupport.java b/app/src/processing/app/syntax/im/InputMethodSupport.java deleted file mode 100644 index 461be3d1677..00000000000 --- a/app/src/processing/app/syntax/im/InputMethodSupport.java +++ /dev/null @@ -1,120 +0,0 @@ -package processing.app.syntax.im; - -import java.awt.Rectangle; -import java.awt.event.InputMethodEvent; -import java.awt.event.InputMethodListener; -import java.awt.font.TextHitInfo; -import java.awt.im.InputMethodRequests; -import java.text.AttributedCharacterIterator; - -import processing.app.syntax.JEditTextArea; - -/** - * Support in-line Japanese input for PDE. (Maybe Chinese, Korean and more) - * This class is implemented by Java Input Method Framework and handles - * If you would like to know more about Java Input Method Framework, - * Please see http://java.sun.com/j2se/1.5.0/docs/guide/imf/ - * - * This class is implemented to fix Bug #854. - * http://dev.processing.org/bugs/show_bug.cgi?id=854 - * - * @author Takashi Maekawa (takachin@generative.info) - */ -public class InputMethodSupport implements InputMethodRequests, - InputMethodListener { - - private int committed_count = 0; - private CompositionTextManager textManager; - - public InputMethodSupport(JEditTextArea textArea) { - textManager = new CompositionTextManager(textArea); - textArea.enableInputMethods(true); - textArea.addInputMethodListener(this); - } - - public Rectangle getTextLocation(TextHitInfo offset) { - return textManager.getTextLocation(); - } - - public TextHitInfo getLocationOffset(int x, int y) { - return null; - } - - public int getInsertPositionOffset() { - return textManager.getInsertPositionOffset(); - } - - public AttributedCharacterIterator getCommittedText(int beginIndex, - int endIndex, AttributedCharacterIterator.Attribute[] attributes) { - return textManager.getCommittedText(beginIndex, endIndex); - } - - public int getCommittedTextLength() { - return committed_count; - } - - public AttributedCharacterIterator cancelLatestCommittedText( - AttributedCharacterIterator.Attribute[] attributes) { - return null; - } - - public AttributedCharacterIterator getSelectedText( - AttributedCharacterIterator.Attribute[] attributes) { - return null; - } - - /** - * Handles events from InputMethod. - * This method judges whether beginning of input or - * progress of input or end and call related method. - * - * @param event event from Input Method. - */ - public void inputMethodTextChanged(InputMethodEvent event) { - AttributedCharacterIterator text = event.getText(); - committed_count = event.getCommittedCharacterCount(); - if(isFullWidthSpaceInput(text)){ - textManager.insertFullWidthSpace(); - caretPositionChanged(event); - return; - } - if(isBeginInputProcess(text, textManager)){ - textManager.beginCompositionText(text, committed_count); - caretPositionChanged(event); - return; - } - if (isInputProcess(text)){ - textManager.processCompositionText(text, committed_count); - caretPositionChanged(event); - return; - } - textManager.endCompositionText(text, committed_count); - caretPositionChanged(event); - } - - private boolean isFullWidthSpaceInput(AttributedCharacterIterator text){ - if(text == null) - return false; - if(textManager.getIsInputProcess()) - return false; - return (String.valueOf(text.first()).equals("\u3000")); - } - - private boolean isBeginInputProcess(AttributedCharacterIterator text, CompositionTextManager textManager){ - if(text == null) - return false; - if(textManager.getIsInputProcess()) - return false; - return (isInputProcess(text)); - } - - private boolean isInputProcess(AttributedCharacterIterator text){ - if(text == null) - return false; - return (text.getEndIndex() - (text.getBeginIndex() + committed_count) > 0); - } - - public void caretPositionChanged(InputMethodEvent event) { - event.consume(); - } -} diff --git a/app/src/processing/app/syntax/readme.txt b/app/src/processing/app/syntax/readme.txt deleted file mode 100644 index 07a825cd7bb..00000000000 --- a/app/src/processing/app/syntax/readme.txt +++ /dev/null @@ -1,46 +0,0 @@ -OLDSYNTAX PACKAGE README - -I am placing the jEdit 2.2.1 syntax highlighting package in the public -domain. This means it can be integrated into commercial programs, etc. - -This package requires at least Java 1.1 and Swing 1.1. Syntax -highlighting for the following file types is supported: - -- C++, C -- CORBA IDL -- Eiffel -- HTML -- Java -- Java properties -- JavaScript -- MS-DOS INI -- MS-DOS batch files -- Makefile -- PHP -- Perl -- Python -- TeX -- Transact-SQL -- Unix patch/diff -- Unix shell script -- XML - -This package is undocumented; read the source (start by taking a look at -JEditTextArea.java) to find out how to use it; it's really simple. Feel -free to e-mail questions, queries, etc. to me, but keep in mind that -this code is very old and I no longer maintain it. So if you find a bug, -don't bother me about it; fix it yourself. - -* Copyright - -The jEdit 2.2.1 syntax highlighting package contains code that is -Copyright 1998-1999 Slava Pestov, Artur Biesiadowski, Clancy Malcolm, -Jonathan Revusky, Juha Lindfors and Mike Dillon. - -You may use and modify this package for any purpose. Redistribution is -permitted, in both source and binary form, provided that this notice -remains intact in all source distributions of this package. - --- Slava Pestov -25 September 2000 - diff --git a/app/test/processing/app/helpers/JEditTextAreaComponentDriver.java b/app/test/processing/app/helpers/JEditTextAreaComponentDriver.java deleted file mode 100644 index 22ef7848c5d..00000000000 --- a/app/test/processing/app/helpers/JEditTextAreaComponentDriver.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * This file is part of Arduino. - * - * Copyright 2015 Arduino LLC (http://www.arduino.cc/) - * - * Arduino is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * As a special exception, you may use this file as part of a free software - * library without restriction. Specifically, if other files instantiate - * templates or use macros or inline functions from this file, or you compile - * this file and link it with other files to produce an executable, this - * file does not by itself cause the resulting executable to be covered by - * the GNU General Public License. This exception does not however - * invalidate any other reasons why the executable file might be covered by - * the GNU General Public License. - */ - -package processing.app.helpers; - -import org.fest.swing.core.Robot; -import org.fest.swing.driver.JComponentDriver; -import org.fest.swing.edt.GuiActionRunner; -import org.fest.swing.edt.GuiQuery; -import processing.app.syntax.JEditTextArea; - -public class JEditTextAreaComponentDriver extends JComponentDriver { - - public JEditTextAreaComponentDriver(Robot robot) { - super(robot); - } - - public void enterText(JEditTextArea target, String text) { - focusAndWaitForFocusGain(target); - robot.enterText(text); - } - - public void setText(final JEditTextArea target, final String text) { - focusAndWaitForFocusGain(target); - GuiActionRunner.execute(new GuiQuery() { - - protected JEditTextArea executeInEDT() { - target.setText(text); - return target; - } - - }); - robot.waitForIdle(); - } - - public String getText(final JEditTextArea target) { - focusAndWaitForFocusGain(target); - return GuiActionRunner.execute(new GuiQuery() { - - protected String executeInEDT() { - return target.getText(); - } - - }); - } - - public JEditTextArea selectAll(final JEditTextArea target) { - return GuiActionRunner.execute(new GuiQuery() { - - protected JEditTextArea executeInEDT() { - target.selectAll(); - return target; - } - - }); - } - - public Integer getCaretPosition(final JEditTextArea target) { - focusAndWaitForFocusGain(target); - return GuiActionRunner.execute(new GuiQuery() { - - protected Integer executeInEDT() { - return target.getCaretPosition(); - } - - }); - } - - public void setCaretPosition(final JEditTextArea target, final int caretPosition) { - focusAndWaitForFocusGain(target); - GuiActionRunner.execute(new GuiQuery() { - - protected JEditTextArea executeInEDT() { - target.setCaretPosition(caretPosition); - return target; - } - - }); - robot.waitForIdle(); - } - -} diff --git a/app/test/processing/app/helpers/JEditTextAreaComponentMatcher.java b/app/test/processing/app/helpers/JEditTextAreaComponentMatcher.java deleted file mode 100644 index ad6f0ce77f4..00000000000 --- a/app/test/processing/app/helpers/JEditTextAreaComponentMatcher.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This file is part of Arduino. - * - * Copyright 2015 Arduino LLC (http://www.arduino.cc/) - * - * Arduino is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * As a special exception, you may use this file as part of a free software - * library without restriction. Specifically, if other files instantiate - * templates or use macros or inline functions from this file, or you compile - * this file and link it with other files to produce an executable, this - * file does not by itself cause the resulting executable to be covered by - * the GNU General Public License. This exception does not however - * invalidate any other reasons why the executable file might be covered by - * the GNU General Public License. - */ - -package processing.app.helpers; - -import org.fest.swing.core.ComponentMatcher; -import processing.app.syntax.JEditTextArea; - -import java.awt.*; - -public class JEditTextAreaComponentMatcher implements ComponentMatcher { - - private final String name; - - public JEditTextAreaComponentMatcher(String name) { - this.name = name; - } - - @Override - public boolean matches(Component component) { - return component instanceof JEditTextArea && name.equals(component.getName()); - } -} diff --git a/app/test/processing/app/helpers/JEditTextAreaFixture.java b/app/test/processing/app/helpers/JEditTextAreaFixture.java deleted file mode 100644 index 291910abe7e..00000000000 --- a/app/test/processing/app/helpers/JEditTextAreaFixture.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * This file is part of Arduino. - * - * Copyright 2015 Arduino LLC (http://www.arduino.cc/) - * - * Arduino is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * As a special exception, you may use this file as part of a free software - * library without restriction. Specifically, if other files instantiate - * templates or use macros or inline functions from this file, or you compile - * this file and link it with other files to produce an executable, this - * file does not by itself cause the resulting executable to be covered by - * the GNU General Public License. This exception does not however - * invalidate any other reasons why the executable file might be covered by - * the GNU General Public License. - */ - -package processing.app.helpers; - -import org.fest.swing.core.Robot; -import org.fest.swing.fixture.ComponentFixture; -import processing.app.syntax.JEditTextArea; - -public class JEditTextAreaFixture extends ComponentFixture { - - private final JEditTextAreaComponentDriver driver; - - public JEditTextAreaFixture(Robot robot, Class type) { - super(robot, type); - this.driver = new JEditTextAreaComponentDriver(robot); - } - - public JEditTextAreaFixture(Robot robot, String name, Class type) { - super(robot, name, type); - this.driver = new JEditTextAreaComponentDriver(robot); - } - - public JEditTextAreaFixture(Robot robot, JEditTextArea target) { - super(robot, target); - this.driver = new JEditTextAreaComponentDriver(robot); - } - - public JEditTextAreaFixture enterText(String text) { - driver.enterText((JEditTextArea) target, text); - return this; - } - - public JEditTextAreaFixture setText(String text) { - driver.setText((JEditTextArea) target, text); - return this; - } - - public String getText() { - return driver.getText((JEditTextArea) target); - } - - public JEditTextAreaFixture selectAll() { - driver.selectAll((JEditTextArea) target); - return this; - } - - public int getCaretPosition() { - return driver.getCaretPosition((JEditTextArea) target); - } - - public void setCaretPosition(int caretPosition) { - driver.setCaretPosition((JEditTextArea) target, caretPosition); - } -} From e4fa44975d1b2a01d02609482eccea01333702b9 Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:43:18 -0300 Subject: [PATCH 02/29] install script for linux --- build/linux/dist/install.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 build/linux/dist/install.sh diff --git a/build/linux/dist/install.sh b/build/linux/dist/install.sh new file mode 100644 index 00000000000..d34c8aac85c --- /dev/null +++ b/build/linux/dist/install.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +CURDIR=`pwd` +APPDIR="$(dirname -- "$(readlink -f -- "${0}")" )" + +cd "$APPDIR" + +# Set arduino.desktop absolute path workaround +mv arduino.desktop arduino.desktop-bak +sed -e "s,FULL_PATH,$PWD,g" arduino.desktop-bak > arduino.desktop +rm arduino.desktop-bak + +cp arduino.desktop ~/.local/share/applications/arduino.desktop +cp arduino.desktop ~/Desktop/arduino.desktop + +echo "Instaled Arduino IDE icons on menu and desktop !" + From 1365d2d7e5904667ffc8294c273fd21dac81805d Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:43:45 -0300 Subject: [PATCH 03/29] arduino logo for linux icon --- build/shared/lib/arduino.png | Bin 0 -> 13849 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/shared/lib/arduino.png diff --git a/build/shared/lib/arduino.png b/build/shared/lib/arduino.png new file mode 100644 index 0000000000000000000000000000000000000000..28fa03ab7f78eae2bb4e7b4a76a5f3603e878aef GIT binary patch literal 13849 zcmV+!Hs;BRP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igf9 z5CaVS8f&Zo000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}001BWNkl z_t{svGPW@ZXRW&=UEN`y{eAlze%}PVd%b(Td%b)8L0$|0`RgqU|M}~Uf5>~lejjh@ z^nbbkOfJMi0P_KyDFl`Xh$Mhk0J8zWW)>{QARxen{|K&q0Qwl%IAeGNz#9N|T8!=7 z_LVPff0qGHvg?9>{g29=>n`&+Uk2bx$Fk0^N+eKUS%JpND%4e^kg{zE07cJ3-t|!A z9y~4};1k_q3^ucnuq~t<2aaWd0myqEhI2U#j*VkDm%~`G2#@pU0j#$zYh$J3Y<%%= zKVNv40Z#CB(SzSyJXS1zQV8+>%0yyWV^yU+tF{i+$pl6VMGTCOVR$@;bS{VCTn?Fh z0prCYa;{5Hy796t3n|-1RWgB^WD*S(6{xSQKtn|ZnyRW$l}I34DB$2o27_Z`g`Ded zWQ;vql}LQ|`MoVL_X@xVhjxx6_`;|jkyi=m|a(gnq(3~<2m$ZGZ@L`pZ7RlRh>-!Xyadf zcJN&WI0je8H^2SCg6n;uGMTt$R&AX)>u zmt$F&R#}NT^>sL{xfw0hRTvx}$H9?IAy+J}OFH)boi~4WCIA)?T@pV!-hkkM=K)** zoP)V;@V5u%dH(OEc!@DIS6AWGY16Q{r3E#qBziL$433Y#CK zAKLw+V}D^=?5oqOYZgzdtU&ir8e4h~<4`7pLMZ|`4n#5ukxBu{WOQ4M0T6%)spK;N z0C4Uz0pJssG5`Nu0Ne}y7krKo{^xic%q;@>JXo;^xUO+IDaXOA+FC4`IRo?R>oGV! zj=s^+EnJAN{o=DLzV|Kz7_RHT^Iz9+A?|Cgs$N)=N@7QUKYrJH1c$R(<7pR(Bv4ra zQBmpNg$M}Fg4?nz^>5{*3&J3Xh%7|(oZu1T2;qMO51;V=$2r*eI9NUh6pKcKaz;%x zmbA{mqNXN{@ zqhoPn&UPSDNrq1U%+ra_e9EezVhfN{&deDBm?}_6Km~}T>kHpwtahjMXGXd zI*peO9K@kaHb!`nOhQyw1F2L*49239ZXzBfp!~m1NZkg|KSMH4%vKN)BS5I1<$7R+ z0x&-2s|k$}X4Tc={MoZGx4s_fTrOMm_&+@Qi9fyn4~hZ)^2e*^xtxE$CYiiwv{1yR zo*wKON+Yl7RFO*ggiod-;z&Z#M<}K>B2w>wGJt-nr7a+dXfhIY^&y#qN(K5q!GU5C zY;@FT2y#_84i+>u;(|G|QJF{}n=fokI`*gj^CQkl*D$D;rl@vlm z_JjPpPyidv#u%ZgstV`Lo{7cH&B(cKpU1_gzWvb~e(`(B0DrUQC&^sVy{97K+?sb? zZ0gyMH~R-v%ieLo>*@d};csZj04z>i`5YyhF5aaLpr2lP;!CLxUG(c}LB3C(e7Xi| zJIMRv9#}39Hkwszgp}jpwB{yUICl;bwvAlT{oj=d=Z=59{#x(%h5`QD+I6ii=Z_~W z>!JfABiPil9|uP=>Yi6tLDbjzr;46*lc?8qIo0usxCVgWG%8|VMDCz2Iiy|(izEPL zwoMJU6?yQ+Ob9xIHW7`>U)dSaEv+o_t0AF0Y z?tB10$+>Rp=KTk-wXa_>^hBxxqOR5_h;0+!okjY+G%%0I7c22UrWu2}v8SJWDNPi{ zL;O2J1~7cTWHR{~T&T>&dGPR&MV84Zwn2sC;H(+basKRCNZR%R09QY7-8Ea@aSZUq zwd*biux7MStl8AlgB|??aESpW>gs$Dhq`elOJ66H(bx<2*qXrKSHK_x6L6vapL=FW zA(29cNJ>yKZ*n)O)R1-oQ44Hz6fBz!zanAVSlrx%_syMyszhQCz_kxtcg^$f7zX&_ z+I80fcr2aEC12RrgWZEe5t?UN5cLfZ6%`RQOGP#{@FsHcsFfcx=mK0HA|hfbU*5!E zvFGLIA=2ewkr$w=Cc0kvw-Bmokg7(;9mdDOvYC)EY|FyJ#ztH?Zw~5Gsqugb)}QnY z@V9Gz@;(7{4vdXeZrZmWd(&wpNW<$Je7v5De4Qw^Z6>_Q;->`CMZ9#?IQIiXa?_!^ zlV)?kw*?H|hZO4yQwY^=5T(=xRJT;x073w{aafs%2^eFTKdk{5&Yg>Cl@-GPF8$Z* zuibLeGQi)g`Nz1uxTWppZ#Lbe(V|?iXdGl0X}V-@7LRQ3Gr@4x|zCm<=6mJ6zjLfsK{oMi+maz z5Y#ImYKa<#oR_dkgc(uPjY|1HX&1OI;JH2%1O~Ik7#1}(;k|Qaqc)Y?DS(Ur{f0m8 zJ82l;vp-s0@7UI_M+=1|uN*vt9sL7Ql7^E2Z)%D}KDDwbFk{m5`UyAvFFa8K5X=|# zCBYmPg?&qk{lG}GEd#R|h*!$P(7g&F46dQ}`H~3&)nKKELME^+3um-6qkYy)R3;K# zMbEqV;g5cJ{H@Z?Iu;DTg?K2NFD!Ze@Dc1B7>tN-+y2R?`d%lD?sjpHcmi6WhI7E< z5y5%juiG{t6F@>~Vi6Am5#brkemo*wH_LqSRfs?dyCA z=TcEv>eK)LvsIUiTH>}H5m^KqCOo41Ne+NTh{tSob4_lhVvG`wAoN#MiAC{>;BT5l zqW>191a%nmt^JBrgzKAhFJzDhao35uOiH*nAc_QBr0rk=fK0b4MXY?iQ8J0R8sP$9 z6hhXFM=s)?h$;F=aSO!=6e>eVu!sxaMa+zZ?`^88!uhjjp}D#$3*f!~?_(d`e!?Zd z#~=M+y~oA(hjY2)wj=#YL{HS$`>}gw#eI8f-Rs1QsRf;AN^tF31@(!=lx60EiT?QFo;8$D6k`{svs(>B8#8uNnPh# zx(KG>)?kOi_X>sHuq=j020@iYJgd)tsn`*0*Pchojb#x+ zQ`I0;WKiPy0N}aAW*};W*;*PKB9O^;RF_xDUSgVOU;&AQA4dtUzR^(}&Sb%bXfJZ_ z=HsdYF8z;h&9)fZHeM{&Z0+mEXb{E}sT4%Rv`EJ)Q87#PpA{4kacMveFz`rsN@R`_ zK-a~Lz`;UjCz=>^6oiSPih2$L(K~`j8b%mcuF3U?n@V19iYai<2d*H@?jRK(dhEb; z6_BVdmBQ&Q%}6=UAQxiMuRs5ngU3Yz@bpsxQ)JI#=8Rhbl|b@+ z+#`mb6B&A;+eB>uMm~p}T#Ko%m6o|BjkMsW{M{lFLy-6B);={1L&Gvq17N=4$+TF7 z#kAN5F$ig)N(>&?;vsZ@9otW$39gZR9)~hnxSTiUUH7ZUMFpJqz=QJzuwo>iNB`KE zV)ergtZtdBFU7fz^3lz)m^m~Hi)7^JvWlrX9)j2d!4EG$3vD}Mgb;7ABEmtUcS6(>_WoIkWz>Iq=u)?6oO`|Yr}ocxh~SV94y9a3ZD0cW1<4)|I@vd zp5QkZJP#weD4SPQR7{+=M^P1lpeiC*XR%12T_R1W@h1^Oi>UyS%wh06bL3D*2~&|RFr3Sy=y7<0 z|Ly#Lx_44sz?szY_uLOxI8Nh8K93yD=&h-ZyID#`4171oDv^J$r-DfUL>fUJNBguo zG|1e+fIGT|(nuGJ!G>AU_W=H>qJWE%GDa$U8B`x%i2xFj9;y-+p^LOa7^IRo5c>^I z0_{x=3Nxe&1#}G##obRDAky;>YzMH&emahtaU9w~7DRP5Sk8~dj2DZ@6!J*f&g{JB zeh|RAx5NM*7oW8l!)PHYbQG19YPi#sv7>tc(v=HOjUX8}KwC`}I$CGo`gwEE-Z%|y zwKWs2tF!kAx(0`^@kl>9`}&YBxGGSi*an&hqFdLt=5c`L{vq-<@sl>!UuEk+AP zR8=S76~)byF~EdIVDsJg%(E?PZ^E|Fn~Cc5d2_QL=9R#YJiVs$?oz2Y0YO$QT7b_i zT7Zt3Gmbheoh}rydjA1DvS%+kj|`}GgR)@;6cR$M8H8Ru8W?QS=mSH?^k#hK)KhT7 zoY`ndCXRaDoriky$c|lDwR3m8AVqioJTIP8As>PRxx5b!1=&NbH8se&uE&L#K5+YO zC4r#{bwpy>PkrDDtT=7Kq^Etd ztHQR?KCJ;OPHjWS^k(cG9Yc2}t7h@&kv^I+q(=lpkxUsI=$PJul}q1?JKu9A+NU+3 z!nWViy4z}Na6{WXtXQ-Fd$U<=8_xL5M!gi8zfh`LS@`MiESCd>fDi&UV@TMRm3Q6U z`HkyeIw~Wu=y@MwU}`l_Wn~GF#{i!yx&HoB4ao#HT>C*hapm&2OnB4PF{1?=uDBE{ zm!6LX$5zEQ!^CCgGB86W0RtKm4pzSJd~CSlGIY#nIp%9_tF6HkS1!kf4_$?}+G^Dm z)H9hZD_$iXtY0LP3NBzX3ohp$Jt`HD{QEmw7-L8LHfT|@2cJG8$eA-NghH5l>Nf;B zT3hkNRUK#`3q77!x=_T8FTRA;2M>eALerY>Pcm{u=;I6AFtZgam%jHciTWw6IbXns zfA&js9_o$PF6g*`Tz|3PGrH^g;bQnT1&x)J7|G`g02=cDc*ppZBmfuU%7kU9r(YIy zfSJR+VctE-+Y8*F6$?+rhHI}nVZ@ix=85+&#hquKrW#kVa4%5<7V`y#0PZ~N3_Nk! zMJJ5-0ML+1V#9S;W5wb{(f)B^KCev6oFZyj2oXpDmgGWQK4lfag}5eZ+wiE~Nu{8a zOY3;PggI?XLD5z$JQXWD-jBEIy5sCK@bCrakuoh#(!U6B!z1|l;rE?~JI+4+ZCmro zj`w55qWO_j^*lpHvrr9O#vl?2;=ysG90wlf*Bp%-_27qDJo4fq|m7W0g3PR7o z50r^iD(pSra*hf@%d%|%>$cnH0oYraNJJSwwhi7gJrb1^-&b0%S>efVpVoj4*L|q$ z8&Bs8ShZ~j9@)MVU4w)1a4IRbxS?$xu0LfiR-CqAN}IZ>dmnDv+@K}~fDo|+hbPj1`L>fa(06y9dj11KFj^t_1LBfhvgfe^phyD;Kp&wL*xeK6Dk@>dLe9@A~b_ z_{1+ZV9nkh^ycy;MJrG#0%7M*SPa{SGgz~4KOWh!8x6?>+MCL2``_MBk5j5DvF2cJ zOkzEJLHm@5ziP)$eE6A-cx2~p--WYDikQq5U{Tn&H5;LNGI|K(ls!ItAD;84{h6twCAabA-1KZsS!{r_&euubRIZ}HM_d8 zbjEbFR##2+TJaaKRni~Nj(9zP2JI-2M-l>0cH_lu86uO2p{@QGZl%~g|y(f>G|K{))!wciMvf(QIY+2r(F{`2KAfOXsLHh|eh9gEh>oGnYk1ETb%$xeSdU%>J;>yR#bB#9K! zsZJy!f>T6MX3$!8P~9W*`vS=jy#K!KJ8{#qo65oocK`7Q(2$ti&%f!{&tuijJ<(>{ z7|6QBIn-@bxXdwU`&6=Vo8#Q^pf{ketn(Rt-^bY5{8I#`y> zk@h@%`PmmHl>#@k%_EH}wAg?t?;(=pjn-|q*O$WpvyEX$p>dpE%N9I;{rpoVj({CF zh*jI)j9S4sfe3dTwc3`R7#ek?+#jwXo+$&{#$8=o{7BndxK{1lgZs9>Ns>bt$r%JG z3-{Oa$y4TF+4Sb%(SlF5%~9LONM@Buw3KPL?+gsR(pR{@#uhYMpv!!?CuM+Gv_qJh z9Ow)X5TLzjVvy#MZ95G`8Bim4lR*{?U^LT4hNk7`$@+fV#;u#X{A7%y0d)q4aMKH$ z)qsp``}#Ww6*H*@6hlmbREg1SXigpOg})zjJeCP=C`?LQD2L&2$X9HdV-&T)6*NKz3UAjd0Z?@7+26Ta)Rw!q>jS2uxi_zlQV!`b*z71>7YSq~X?f)Ax}eXjK#l7^^dqw~O_i9_Bp^T;&sh>@!4GH7dx1=uB} zuZ}qk$jnaN>=Zlr4N+p!CuUeJbi zKW%yv(VxbB+jpt~FB2iYPt8aRyBrBnA7=o|+_kF|LzIj>u+pOIt&Dn;Qh}2eE@9jDAev^|xb@}N z%Cq`kel;@AqV zJceEg(jM(CY$$`OR&0mF5&ZAz8XhUn_)8DRn>XkH4DAzev}-QeHH=M8he;2R@iUU; zFhHT?Vs-0Px8@njTR3f}&e+5=eahZU!}r*>lACz@S>?s|?>+AvHD{3OaLTwxyjsp5u8j$PdV*H#Pv2VK4Uz5LHm>r>AmNijq`rd35dY@mw_?Ghz&I=S#0f#+!5T3MA>eYa_G$IF z_nfnQ+eC3W4dU9S39=<>A!zq8ilJ!3rrMjE&_+6f#p5V>bZ186b{U;w2BEgUpMbXI zF@UF)YU>0edaHB)!AZiJXR7`E7%97w#FO!XL_)*(9TF~1MDLN$Nh8v8Lmhj=%;~sg z(WytJs&84m5I4-38DZ}dZ=hvnHi2}l5_JO7i=aUyAZq?Z2>7M5&zKlX*?+*ShN)pH z0A}`3`pRK|-q_~~K5@kl@k2LGf@QB*ybx_QH6;v0ax!RRX-kUj>;B1V zZ>Yn=7o7W+VgV0dcs|Ik~Vl$NwY8k%zC4TJfR&}?eGZ(zV!Z8bH1HtC7OQtnJPoyDW-D$vYjFhQ(sFPL|AtbB=rodOAxJtj%}{Eut1X-O_r1PtawbS7 zuzvZaz8yh~UZH?EBo4tnwI49;V=VjrQ8mH^ZaM4pNul)ByY`?vJF3RvB|}OYaZ$<* zJiza{d%RpAC{96rQZ{1|;RILw+xxpFN8G-?^a89{w15PZpf+=GY!%g0#49!Wpaf&u z>uRyS;}Wz@l4l11_r0+lx4y6$_q|aj6LegHfb_dz000$eNklR)Ow7latS~4cQF-REU3ed zKu(@Cj)GF<&O=8gH3k7-<)s(l&i1q8fgq*7AZfKm%E{&C3E3`%bKJ6EK3=}6qpV7v zuE8PPy6GjrvT*C>SIY_+HzX5y`GZ&BmeUqM$opnYZHy^<88~!?puvdtT%hRU&U4Pj z%4L^K`rV!T51{klq4;DoLvAMXToX;Vl+OUb7NZ29mU?L2T53vG5HY*)nGKVsI03*N z?MtxX16QD}rb=zF%!P^sg;O|1tjowb4Ru)GaWU>acS%`#y*oRK%YU{Zh!!RQi{bL0 zZwSO|85qI2OR!=2C1|g&BVK_%zmP>0#tNF~OOLkN8f^H`mAK=)b0!Z>=kvJnna*g> zX$N&BMiU&AqHE;&sW3pSoR}4gMC|d>uAoG_M#pg13!BT@(2kiiu;)*%!^%r8L|a8N zX!Yi46S^aPDNj^KQzKSha2{Uyz~$(eUS8F1x=_GJHa_d8bBBo@Hqu4cf4)#CZ_P8N zn)Vz*Y93w2P&Is$k7+m6cd|$%WYSr#DQh^W}Bd3!8nAO=+5K!eo3d zpefhW=~kyzC8IeyRG zmzv_t)&v2EU&Xj0my5brnNUH!A+lv5T`Xex<4>ZiumA1a$iX3>_%a+!+ruhNrTs_O zNEVkr^~-H1Ak*oLi_{2}AHN0ML8AJO6GIXVfv3%VxuzGLL319Q7H@5l2FBG+GD^{ZI zj%+*`cxz?QGDN9Mu42~ggRH6f766e?B{)PX6;+fYC+}Hknf-GkOW4CNto3+`|uc?!j=OfTh!$-*Qi&a;*K^ zezOU;J@+DVv~iWG9iIUYVEJ5ZEIoiBvHlld#=!&b)EMB6*IjnWrAxusX|c#wWu<0B zY59Ss^sylL^TOdH_`!}{e$=b3_V}Ej9lLP#)4xP#-vB8(VQLAL>>{r8+!0z6X#agL z9PYzIZ|p#8Wo6k_$Wy&K_aDU7Yu4fEeLVyWbIk6ZKJ_G!#w?ow(?KB4pAe5d`XiLc z)|il`*@YJgIL@Ca&v_i8rkW&2!t4!DH%Q9>P8SMzvdt zM$k%*3$)eM;D-5a_{{02O0l395AD|)O_)RL>PQeXRY$(yyH-JaBZpZ39-I0HGX3CFon`P^g@qNzDP0bCDD>WP$`^x5UEKT1WA zhK;U=hN=p*H#MQXsSynoDb%M@VKvOggS`L)x-+Bb8W;%LuR?9aK&xXitU*IF(1HH*`8OYYH9)1r)Z9RM zYY*Q48we4L4zg@U4RGkKOTuwyJkA`pp5kRk)iE;LM=!soqv)6w@5(_LAtV&Y@FkLO z&q*@{kH?!y(z(R6e2bBBGfIg%`KheePy|Zz7-`73RKm?fqv!+Fm5q*?nC4af%?Dqf zi1=kO0055M_`k;(V0=6ZJL+A-VkKPUgnP8-K8cq*jv7;^%n@t9!s5@-X(4oWplwBQ za-k(k$o12*E@lN2M`^%`0!M@?WZi)b`pBP@==6RLpj%~5X zU?xHknm-V>Y3I>kh;So?IxdzDi<0jN^({yM%8N$Ig~gsAnafsG?CRL+q!M~Rj;%7S za^Eao_fL&ceSZTlAZGaa_j-W;_=k@k3kLALR3A!X-d|N z9iJdVTg4<3TGJ>?9nb(WDvq{`7i265qmem~X<}3*K*a)FG6zuTQ$B?{J5Xs21Cj#> z^?x8U5KZaZ)ZnB2m}q9U{M&WSr+;khLG14-OeX%zl>h+Xi5H*0A3~&KOdzLPGeq6P zP3hjWb*w%qTbUff)E;|ES5h($z@oi*0yk417eigMdjZz zw_g^Y&|wnFR1%U2Bqg3Hq#OG3h_{N5VHG^Iuh?kTbozV6)9W4zEPose72t2nZ=OwK zZ1e$RfJing))!85>gkP#pXwQ=jc^SwAofJ)Lef*O5jxC^=VUHWKrAZ$VNeN@iR2JS z`d*3$gtLR_;0vM>=&)%zC7lv7OsCTr-{d|kHcQZ$B403{{%q#!V#l^o)#{zV&6@&# z!O-9L8av~xkApF#%7PV({$y*~FhbAu6NbhK^nbC+VP<$AQ^hYMNg|3E#0jh-QuO$JPSHTj!Fte5|WH&S_vhHN>C&uQ`60(d1AX`_{$3 zAPu9aVP}yk<8x^g(R{Fd0 zd2~X!#0~`1yZ|B8mh!SYr$^@V2oUitl(`5>;S3k5 zN&vAHDCDa!vUU){x(E&wioWX|H~g~VwXXjGzxZ=XO%|pa;PzL%W7{x0`#m-)D=*c> zIx80ZId*J6U!%VYw<6#}>J^ap*p>n9)~AGs(y*%_@1wK(XyK<2Dm*QV zGU&ZfJYgamL17LPm=;<6R(jYh`Um>&5&j|yF4Vt%aP zK&r%GNjCuZox z)*D2`P7g)t3~g$J4h-oVU4p*_;#tn7@8y~o6HXiBhD>QwN*6N+(_{q}=U_QwmMz_6tT%{+27gjNn5u`E$YyFc@tAsm zD*gr3AQDi*WrZ53QaX?sI;JY)YD>7hr3kLShm3_sArEVK*j(qI&HRi%^lx_n$O6a* zuAg{&B!Ill9ov7!&N}-dBoZ@YoquFQqw;uXyxW#lJ`rWA- ze#e>t{5#5xyEt1nfruBY>fnuj@Iu#-09>V{gTjb@uf(vj$3*;GZX18}yMKw{^br7KM`QIL zHwgd$7#hl9Xy{qCaM4w;?OJ2tNcQiwDIsPk&Cl@%oNqq4$pm126?H-rqBf%*b=>l=+vyaT<)?fm`%P zte6T*OU)%R`O69m^3v{`KJYTeY@Fl)3UwHTp3@M*%q32^2_Vw#4lZK}9Bepk#`k@( zzf(ND?sMXIuWbX6IhMpfmJFav0*)hxGwAL8HCwRoLL?Hg(qQJgVELSH99mj{hFbZi zm9gpZjD|3bt3DYKMvX;A{&6&%PHV5QUXbnejL8-11k z;J-ePJ-c@Y#Lpc|;vWwN2n8Pij`Yx&cyoIvJMHu(NTuSVXgK#dpA0>Y+&@TOkAB7#}Z)S6}I53r}lBb+vIgAIs47fl=W`Eicm!5vq*M<-z;!d?wXS~@kA44PcwS#1_KzF!k0%3ACg8#1UA(!y z8zbpWZ0@{skw_SOr7+h88xI&Ekx*e&-RM$Eze?DqtOV?9YO@mSwmBIS3NxZ9c$7#Y z1lY(htdS9O@16+Y*(TPl{j%8fn`Z$G5S?E<)?)ueF#t6Ry^slx98QZZudQcu=hdUO z?(|aPlNF0#W23&Slt{)AvryR=h`2*Yo%Z$Jp9xiR< z$pdm={}X)GxBebS4tE0>3S7P1@zD7vngQa5Ay7oIkQ1-IvKg+sh0U081`^4VgM30p z@OU&1E{xiV(qNIPpMI$(7Dhu7W>L*d>1$+AgU2JnyY9q0GMe2fHm?5%@zhTq3q*c8 z0C}jZCypmk*a;$j7+HtkaikJJHGl>HjqFeU?2~N4qCbaiPdfTrBvU|Tr9aNzveae{ z`bhgy(!hiV=r(~~?naX{B?A%_z{babeBK}3KH24Yqhj0ERbuVqj|C?_O#q%eIrZX1 z5C$iZ38d6<0Hgp^0jL8|kGZGJx32o&=P`Z8WhgUOQB+g_l~oX_BtaC(v@q&c>de5o z*~L>Z0j^^F6z}4~Cw6Y!M>oq_u<&rWcLQIy_CIjsa8E$^On~d>iLr+hLHrZV0Q5WU zfXGrBNJeO2r=NK`yXcZnVMgnvV61!AyqK z!=R9Z<@3HyFHRx573}BK5Nun0&0MxVj z3l^};IzEBcnaf~VQ}6jMJBmArsFFBH?-EKxQ7EpcpSNd)L}#uWZFhVVWTFjX{k6m=hHEh5i;Kuy35b?n^p&t_*WxdN>- zmm-mSDz7EUfW8DJ{k~yJP`Fof{loiVdHTUF@cl_(mqIPQlTnf zh#IzR`BKc9eGY4EIs+tE7fOxD^k>OtS9@;0izP=l|oOIQ4C4T0Kh^N>+)$!tF z+~kw}Vw%B7jYbJ9C5V(rYR^fAvB|?U;7^c~DhViwDG6K9ein%fM@9TeP4ssf1DMuo z85qJMOko>-r;>yjz$S_Mcm_uB$nVs8_cVfYqks7>102_NQ)1Fq;I@HLEKR-W5`aE* z!s@@n;KGS_@ Date: Wed, 22 Apr 2015 13:47:39 -0300 Subject: [PATCH 04/29] build and run scripts - add new dependency and linux desktop icon --- build/build.xml | 2 ++ build/linux/dist/arduino | 2 +- build/linux/dist/arduino.desktop | 4 ++-- build/macosx/template.app/Contents/Info.plist | 2 +- build/windows/launcher/config.xml | 1 + build/windows/launcher/config_debug.xml | 1 + 6 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/build.xml b/build/build.xml index b26cbfb8063..be58b13ca86 100644 --- a/build/build.xml +++ b/build/build.xml @@ -596,6 +596,8 @@ + + diff --git a/build/linux/dist/arduino b/build/linux/dist/arduino index d942d69472b..e6518315721 100755 --- a/build/linux/dist/arduino +++ b/build/linux/dist/arduino @@ -26,5 +26,5 @@ else SPLASH="-splash:./lib/splash.png" fi -java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $SPLASH processing.app.Base --curdir $CURDIR "$@" +java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $SPLASH ArduinoIDE --curdir $CURDIR "$@" diff --git a/build/linux/dist/arduino.desktop b/build/linux/dist/arduino.desktop index dac3ebd9d68..8b271e49393 100644 --- a/build/linux/dist/arduino.desktop +++ b/build/linux/dist/arduino.desktop @@ -3,8 +3,8 @@ Type=Application Name=Arduino IDE GenericName=Integrated Development Environment Comment=An IDE for Arduino-compatible electronics prototyping platforms -Exec=arduino -Icon=arduino +Exec=FULL_PATH/arduino +Icon=FULL_PATH/lib/arduino.png Terminal=false Categories=Development;IDE;Electronics; MimeType=text/x-arduino diff --git a/build/macosx/template.app/Contents/Info.plist b/build/macosx/template.app/Contents/Info.plist index 9c573c988ba..95bf9cca42f 100755 --- a/build/macosx/template.app/Contents/Info.plist +++ b/build/macosx/template.app/Contents/Info.plist @@ -97,7 +97,7 @@ - $JAVAROOT/antlr.jar:$JAVAROOT/apple.jar:$JAVAROOT/arduino-core.jar:$JAVAROOT/bcpg-jdk15on-152.jar:$JAVAROOT/bcprov-jdk15on-152.jar:$JAVAROOT/commons-codec-1.7.jar:$JAVAROOT/commons-compress-1.8.jar:$JAVAROOT/commons-exec-1.1.jar:$JAVAROOT/commons-httpclient-3.1.jar:$JAVAROOT/commons-lang3-3.3.2.jar:$JAVAROOT/commons-logging-1.0.4.jar:$JAVAROOT/ecj.jar:$JAVAROOT/guava-18.0.jar:$JAVAROOT/jackson-annotations-2.2.3.jar:$JAVAROOT/jackson-core-2.2.3.jar:$JAVAROOT/jackson-databind-2.2.3.jar:$JAVAROOT/jackson-module-mrbean-2.2.3.jar:$JAVAROOT/java-semver-0.8.0.jar:$JAVAROOT/jmdns-3.4.1.jar:$JAVAROOT/jna.jar:$JAVAROOT/jsch-0.1.50.jar:$JAVAROOT/jssc-2.8.0.jar:$JAVAROOT/pde.jar:$JAVAROOT/quaqua.jar + $JAVAROOT/antlr.jar:$JAVAROOT/apple.jar:$JAVAROOT/arduino-core.jar:$JAVAROOT/bcpg-jdk15on-152.jar:$JAVAROOT/bcprov-jdk15on-152.jar:$JAVAROOT/commons-codec-1.7.jar:$JAVAROOT/commons-compress-1.8.jar:$JAVAROOT/commons-exec-1.1.jar:$JAVAROOT/commons-httpclient-3.1.jar:$JAVAROOT/commons-lang3-3.3.2.jar:$JAVAROOT/commons-logging-1.0.4.jar:$JAVAROOT/ecj.jar:$JAVAROOT/guava-18.0.jar:$JAVAROOT/jackson-annotations-2.2.3.jar:$JAVAROOT/jackson-core-2.2.3.jar:$JAVAROOT/jackson-databind-2.2.3.jar:$JAVAROOT/jackson-module-mrbean-2.2.3.jar:$JAVAROOT/java-semver-0.8.0.jar:$JAVAROOT/jmdns-3.4.1.jar:$JAVAROOT/jna.jar:$JAVAROOT/jsch-0.1.50.jar:$JAVAROOT/jssc-2.8.0.jar:$JAVAROOT/pde.jar:$JAVAROOT/quaqua.jar:$JAVAROOT/rsyntaxtextarea-2.6.0-SNAPSHOT.jar JVMArchs diff --git a/build/windows/launcher/config.xml b/build/windows/launcher/config.xml index afc6e700841..c3502168906 100644 --- a/build/windows/launcher/config.xml +++ b/build/windows/launcher/config.xml @@ -38,6 +38,7 @@ lib/jsch-0.1.50.jar lib/jssc-2.8.0.jar lib/pde.jar + lib/rsyntaxtextarea-2.6.0-SNAPSHOT.jar java diff --git a/build/windows/launcher/config_debug.xml b/build/windows/launcher/config_debug.xml index 88cbbb5b486..76e716b679a 100644 --- a/build/windows/launcher/config_debug.xml +++ b/build/windows/launcher/config_debug.xml @@ -38,6 +38,7 @@ lib/jsch-0.1.50.jar lib/jssc-2.8.0.jar lib/pde.jar + lib/rsyntaxtextarea-2.6.0-SNAPSHOT.jar java From e0ed8cb0b5dee87ccbd96b856807cd230843113c Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:50:10 -0300 Subject: [PATCH 05/29] simple code refactor on PdePreprocessor --- .../app/preproc/PdePreprocessor.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/arduino-core/src/processing/app/preproc/PdePreprocessor.java b/arduino-core/src/processing/app/preproc/PdePreprocessor.java index 576f7468b9d..dc30922a92e 100644 --- a/arduino-core/src/processing/app/preproc/PdePreprocessor.java +++ b/arduino-core/src/processing/app/preproc/PdePreprocessor.java @@ -42,6 +42,9 @@ Processing version Copyright (c) 2004-05 Ben Fry and Casey Reas * Class that orchestrates preprocessing p5 syntax into straight Java. */ public class PdePreprocessor { + + private static final String IMPORT_REGEX = "^\\s*#include\\s*[<\"](\\S+)[\">]"; + // stores number of built user-defined function prototypes public int prototypeCount = 0; @@ -94,10 +97,9 @@ public int writePrefix(String program) } //String importRegexp = "(?:^|\\s|;)(import\\s+)(\\S+)(\\s*;)"; - String importRegexp = "^\\s*#include\\s*[<\"](\\S+)[\">]"; programImports = new ArrayList(); - String[][] pieces = PApplet.matchAll(program, importRegexp); + String[][] pieces = PApplet.matchAll(program, IMPORT_REGEX); if (pieces != null) for (int i = 0; i < pieces.length; i++) @@ -121,6 +123,19 @@ public int writePrefix(String program) return headerCount + prototypeCount; } + public static List findIncludes(String code){ + + String[][] pieces = PApplet.matchAll(code, IMPORT_REGEX); + + ArrayList programImports = new ArrayList(); + + if (pieces != null) + for (int i = 0; i < pieces.length; i++) + programImports.add(pieces[i][1]); // the package name + + return programImports; + } + static String substituteUnicode(String program) { // check for non-ascii chars (these will be/must be in unicode format) From ac397948c2ba619e0ddbc070007d15fedd1510e2 Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:51:15 -0300 Subject: [PATCH 06/29] add RSyntaxTexarea jar --- app/lib/rsyntaxtextarea-2.6.0-SNAPSHOT.jar | Bin 0 -> 1042288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/lib/rsyntaxtextarea-2.6.0-SNAPSHOT.jar diff --git a/app/lib/rsyntaxtextarea-2.6.0-SNAPSHOT.jar b/app/lib/rsyntaxtextarea-2.6.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..2d6b2d20be7324dc710bdc6937cfdc7379a0ff9b GIT binary patch literal 1042288 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%0Db+=G2 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

Y)Cy^1mSVb*kyf|f+>Uj!}K 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�+hk!)ZgcohW>b$9v(A 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

@{Z)rr*AUeSuI0Es1)X(2$p%wN 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

ug3CO_eI(@|%%>ITO>p&USP} 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�L=rj)YS9NMjkjktTU( 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≺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�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 z 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

HqUU< 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 literal 0 HcmV?d00001 From a09a612f51ab960991e2bb9d9b86781ea907f437 Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:52:31 -0300 Subject: [PATCH 07/29] updated tests for new Textarea --- .../app/AutoformatSavesCaretPositionTest.java | 4 +- app/test/processing/app/AutoformatTest.java | 4 +- ...lockCommentGeneratesOneUndoActionTest.java | 11 +-- ...ngEscapeOnCloseConfirmationDialogTest.java | 4 +- .../ReduceIndentWith1CharOnLastLineTest.java | 4 +- ...lacingTextGeneratesTwoUndoActionsTest.java | 10 +-- .../app/helpers/ArduinoFrameFixture.java | 7 +- .../RSyntaxTextAreaComponentDriver.java | 79 +++++++++++++++++++ .../RSyntaxTextAreaComponentMatcher.java | 20 +++++ .../app/helpers/RSyntaxTextAreaFixture.java | 52 ++++++++++++ 10 files changed, 174 insertions(+), 21 deletions(-) create mode 100644 app/test/processing/app/helpers/RSyntaxTextAreaComponentDriver.java create mode 100644 app/test/processing/app/helpers/RSyntaxTextAreaComponentMatcher.java create mode 100644 app/test/processing/app/helpers/RSyntaxTextAreaFixture.java diff --git a/app/test/processing/app/AutoformatSavesCaretPositionTest.java b/app/test/processing/app/AutoformatSavesCaretPositionTest.java index 52112c46f2b..afc80a856fb 100644 --- a/app/test/processing/app/AutoformatSavesCaretPositionTest.java +++ b/app/test/processing/app/AutoformatSavesCaretPositionTest.java @@ -31,7 +31,7 @@ import org.fest.swing.fixture.JMenuItemFixture; import org.junit.Test; -import processing.app.helpers.JEditTextAreaFixture; +import processing.app.helpers.RSyntaxTextAreaFixture; import static org.junit.Assert.assertEquals; @@ -42,7 +42,7 @@ public void shouldSaveCaretPositionAfterAutoformat() { JMenuItemFixture menuToolsAutoFormat = window.menuItem("menuToolsAutoFormat"); menuToolsAutoFormat.requireEnabled(); - JEditTextAreaFixture editor = window.jEditTextArea("editor"); + RSyntaxTextAreaFixture editor = window.RSyntaxTextArea("editor"); editor.setText("void setup() {\n" + " // put your setup code here, to run once:\n" + "\n" + diff --git a/app/test/processing/app/AutoformatTest.java b/app/test/processing/app/AutoformatTest.java index b5c766bec0d..b84d054fb28 100644 --- a/app/test/processing/app/AutoformatTest.java +++ b/app/test/processing/app/AutoformatTest.java @@ -31,7 +31,7 @@ import org.fest.swing.fixture.JMenuItemFixture; import org.junit.Test; -import processing.app.helpers.JEditTextAreaFixture; +import processing.app.helpers.RSyntaxTextAreaFixture; import static org.junit.Assert.assertEquals; @@ -42,7 +42,7 @@ public void shouldProduceNicelyFormattedCode() throws Exception { JMenuItemFixture menuToolsAutoFormat = window.menuItem("menuToolsAutoFormat"); menuToolsAutoFormat.requireEnabled(); - JEditTextAreaFixture editor = window.jEditTextArea("editor"); + RSyntaxTextAreaFixture editor = window.RSyntaxTextArea("editor"); editor.setText("void setup() {\n" + "// put your setup code here, to run once:\n" + "int foo[] = { 1, 2, 3, 4, 5};\n" + diff --git a/app/test/processing/app/BlockCommentGeneratesOneUndoActionTest.java b/app/test/processing/app/BlockCommentGeneratesOneUndoActionTest.java index e0a2965d00e..1e496b2890d 100644 --- a/app/test/processing/app/BlockCommentGeneratesOneUndoActionTest.java +++ b/app/test/processing/app/BlockCommentGeneratesOneUndoActionTest.java @@ -29,15 +29,16 @@ package processing.app; +import static org.junit.Assert.assertEquals; + +import java.awt.Frame; + import org.fest.swing.edt.GuiActionRunner; import org.fest.swing.edt.GuiQuery; import org.fest.swing.fixture.JMenuItemFixture; import org.junit.Test; -import processing.app.helpers.JEditTextAreaFixture; -import java.awt.*; - -import static org.junit.Assert.assertEquals; +import processing.app.helpers.RSyntaxTextAreaFixture; public class BlockCommentGeneratesOneUndoActionTest extends AbstractGUITest { @@ -46,7 +47,7 @@ public void shouldUndoAndRedo() throws Exception { JMenuItemFixture menuEditUndo = window.menuItem("menuEditUndo"); menuEditUndo.requireDisabled(); - JEditTextAreaFixture jEditTextArea = window.jEditTextArea("editor"); + RSyntaxTextAreaFixture jEditTextArea = window.RSyntaxTextArea("editor"); String previousText = jEditTextArea.getText(); jEditTextArea.selectAll(); diff --git a/app/test/processing/app/HittingEscapeOnCloseConfirmationDialogTest.java b/app/test/processing/app/HittingEscapeOnCloseConfirmationDialogTest.java index 447ffd8f3dd..2bf3d3d7c0a 100644 --- a/app/test/processing/app/HittingEscapeOnCloseConfirmationDialogTest.java +++ b/app/test/processing/app/HittingEscapeOnCloseConfirmationDialogTest.java @@ -33,7 +33,7 @@ import org.fest.swing.finder.WindowFinder; import org.fest.swing.fixture.DialogFixture; import org.junit.Test; -import processing.app.helpers.JEditTextAreaFixture; +import processing.app.helpers.RSyntaxTextAreaFixture; import javax.swing.*; import java.awt.event.KeyEvent; @@ -44,7 +44,7 @@ public class HittingEscapeOnCloseConfirmationDialogTest extends AbstractGUITest @Test public void shouldJustCloseTheDialog() throws Exception { - JEditTextAreaFixture editor = window.jEditTextArea("editor"); + RSyntaxTextAreaFixture editor = window.RSyntaxTextArea("editor"); editor.setText("test"); window.close(); diff --git a/app/test/processing/app/ReduceIndentWith1CharOnLastLineTest.java b/app/test/processing/app/ReduceIndentWith1CharOnLastLineTest.java index c8623cc877a..894089bcbf2 100644 --- a/app/test/processing/app/ReduceIndentWith1CharOnLastLineTest.java +++ b/app/test/processing/app/ReduceIndentWith1CharOnLastLineTest.java @@ -34,7 +34,7 @@ import org.fest.swing.fixture.JMenuItemFixture; import org.junit.Test; -import processing.app.helpers.JEditTextAreaFixture; +import processing.app.helpers.RSyntaxTextAreaFixture; public class ReduceIndentWith1CharOnLastLineTest extends AbstractGUITest { @@ -42,7 +42,7 @@ public class ReduceIndentWith1CharOnLastLineTest extends AbstractGUITest { public void shouldJustCloseTheDialog() throws Exception { JMenuItemFixture menuDecreaseIndent = window.menuItem("menuDecreaseIndent"); - JEditTextAreaFixture editor = window.jEditTextArea("editor"); + RSyntaxTextAreaFixture editor = window.RSyntaxTextArea("editor"); editor.setText("void loop()\n{\n Serial.begin(9600)\n}"); editor.selectAll(); diff --git a/app/test/processing/app/ReplacingTextGeneratesTwoUndoActionsTest.java b/app/test/processing/app/ReplacingTextGeneratesTwoUndoActionsTest.java index f7291b51f28..565c1b0274a 100644 --- a/app/test/processing/app/ReplacingTextGeneratesTwoUndoActionsTest.java +++ b/app/test/processing/app/ReplacingTextGeneratesTwoUndoActionsTest.java @@ -31,7 +31,7 @@ import org.fest.swing.fixture.JMenuItemFixture; import org.junit.Test; -import processing.app.helpers.JEditTextAreaFixture; +import processing.app.helpers.RSyntaxTextAreaFixture; import static org.junit.Assert.assertEquals; @@ -44,19 +44,19 @@ public void shouldUndoAndRedo() throws Exception { JMenuItemFixture menuEditRedo = window.menuItem("menuEditRedo"); menuEditRedo.requireDisabled(); - JEditTextAreaFixture jEditTextArea = window.jEditTextArea("editor"); + RSyntaxTextAreaFixture RSyntaxTextArea = window.RSyntaxTextArea("editor"); - jEditTextArea.setText("fake text"); + RSyntaxTextArea.setText("fake text"); menuEditUndo.requireEnabled(); menuEditUndo.click(); - assertEquals("", jEditTextArea.getText()); + assertEquals("", RSyntaxTextArea.getText()); menuEditRedo.requireEnabled(); menuEditRedo.click(); - //assertEquals("fake text", jEditTextArea.getText()); + //assertEquals("fake text", RSyntaxTextArea.getText()); menuEditUndo.requireEnabled(); menuEditUndo.click(); diff --git a/app/test/processing/app/helpers/ArduinoFrameFixture.java b/app/test/processing/app/helpers/ArduinoFrameFixture.java index 0d425289b6a..2d3528064c3 100644 --- a/app/test/processing/app/helpers/ArduinoFrameFixture.java +++ b/app/test/processing/app/helpers/ArduinoFrameFixture.java @@ -30,8 +30,9 @@ package processing.app.helpers; import org.fest.swing.fixture.FrameFixture; +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; + import processing.app.Editor; -import processing.app.syntax.JEditTextArea; public class ArduinoFrameFixture extends FrameFixture { @@ -42,8 +43,8 @@ public ArduinoFrameFixture(Editor editor) { this.editor = editor; } - public JEditTextAreaFixture jEditTextArea(String name) { - return new JEditTextAreaFixture(robot, (JEditTextArea) this.robot.finder().find(new JEditTextAreaComponentMatcher(name))); + public RSyntaxTextAreaFixture RSyntaxTextArea(String name) { + return new RSyntaxTextAreaFixture(robot, (RSyntaxTextArea) this.robot.finder().find(new RSyntaxTextAreaComponentMatcher(name))); } public Editor getEditor() { diff --git a/app/test/processing/app/helpers/RSyntaxTextAreaComponentDriver.java b/app/test/processing/app/helpers/RSyntaxTextAreaComponentDriver.java new file mode 100644 index 00000000000..73d2694de8c --- /dev/null +++ b/app/test/processing/app/helpers/RSyntaxTextAreaComponentDriver.java @@ -0,0 +1,79 @@ +package processing.app.helpers; + +import org.fest.swing.core.Robot; +import org.fest.swing.driver.JComponentDriver; +import org.fest.swing.edt.GuiActionRunner; +import org.fest.swing.edt.GuiQuery; +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; + +public class RSyntaxTextAreaComponentDriver extends JComponentDriver { + + public RSyntaxTextAreaComponentDriver(Robot robot) { + super(robot); + } + + public void enterText(RSyntaxTextArea target, String text) { + focusAndWaitForFocusGain(target); + robot.enterText(text); + } + + public void setText(final RSyntaxTextArea target, final String text) { + focusAndWaitForFocusGain(target); + GuiActionRunner.execute(new GuiQuery() { + + protected RSyntaxTextArea executeInEDT() { + target.setText(text); + return target; + } + + }); + robot.waitForIdle(); + } + + public String getText(final RSyntaxTextArea target) { + focusAndWaitForFocusGain(target); + return GuiActionRunner.execute(new GuiQuery() { + + protected String executeInEDT() { + return target.getText(); + } + + }); + } + + public RSyntaxTextArea selectAll(final RSyntaxTextArea target) { + return GuiActionRunner.execute(new GuiQuery() { + + protected RSyntaxTextArea executeInEDT() { + target.selectAll(); + return target; + } + + }); + } + + public Integer getCaretPosition(final RSyntaxTextArea target) { + focusAndWaitForFocusGain(target); + return GuiActionRunner.execute(new GuiQuery() { + + protected Integer executeInEDT() { + return target.getCaretPosition(); + } + + }); + } + + public void setCaretPosition(final RSyntaxTextArea target, final int caretPosition) { + focusAndWaitForFocusGain(target); + GuiActionRunner.execute(new GuiQuery() { + + protected RSyntaxTextArea executeInEDT() { + target.setCaretPosition(caretPosition); + return target; + } + + }); + robot.waitForIdle(); + } + +} diff --git a/app/test/processing/app/helpers/RSyntaxTextAreaComponentMatcher.java b/app/test/processing/app/helpers/RSyntaxTextAreaComponentMatcher.java new file mode 100644 index 00000000000..27d85f7829b --- /dev/null +++ b/app/test/processing/app/helpers/RSyntaxTextAreaComponentMatcher.java @@ -0,0 +1,20 @@ +package processing.app.helpers; + +import java.awt.Component; + +import org.fest.swing.core.ComponentMatcher; +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; + +public class RSyntaxTextAreaComponentMatcher implements ComponentMatcher { + + private final String name; + + public RSyntaxTextAreaComponentMatcher(String name) { + this.name = name; + } + + @Override + public boolean matches(Component component) { + return component instanceof RSyntaxTextArea && name.equals(component.getName()); + } +} diff --git a/app/test/processing/app/helpers/RSyntaxTextAreaFixture.java b/app/test/processing/app/helpers/RSyntaxTextAreaFixture.java new file mode 100644 index 00000000000..4eb1ec11d07 --- /dev/null +++ b/app/test/processing/app/helpers/RSyntaxTextAreaFixture.java @@ -0,0 +1,52 @@ +package processing.app.helpers; + +import org.fest.swing.core.Robot; +import org.fest.swing.fixture.ComponentFixture; +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; + +public class RSyntaxTextAreaFixture extends ComponentFixture { + + private final RSyntaxTextAreaComponentDriver driver; + + public RSyntaxTextAreaFixture(Robot robot, Class type) { + super(robot, type); + this.driver = new RSyntaxTextAreaComponentDriver(robot); + } + + public RSyntaxTextAreaFixture(Robot robot, String name, Class type) { + super(robot, name, type); + this.driver = new RSyntaxTextAreaComponentDriver(robot); + } + + public RSyntaxTextAreaFixture(Robot robot, RSyntaxTextArea target) { + super(robot, target); + this.driver = new RSyntaxTextAreaComponentDriver(robot); + } + + public RSyntaxTextAreaFixture enterText(String text) { + driver.enterText((RSyntaxTextArea) target, text); + return this; + } + + public RSyntaxTextAreaFixture setText(String text) { + driver.setText((RSyntaxTextArea) target, text); + return this; + } + + public String getText() { + return driver.getText((RSyntaxTextArea) target); + } + + public RSyntaxTextAreaFixture selectAll() { + driver.selectAll((RSyntaxTextArea) target); + return this; + } + + public int getCaretPosition() { + return driver.getCaretPosition((RSyntaxTextArea) target); + } + + public void setCaretPosition(int caretPosition) { + driver.setCaretPosition((RSyntaxTextArea) target, caretPosition); + } +} From 8f9c1e5f4a555a367b65735db79b724ebfc7519b Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 13:53:48 -0300 Subject: [PATCH 08/29] improves font rendering --- app/src/processing/app/EditorHeader.java | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/processing/app/EditorHeader.java b/app/src/processing/app/EditorHeader.java index ba96382a55f..5095da79114 100644 --- a/app/src/processing/app/EditorHeader.java +++ b/app/src/processing/app/EditorHeader.java @@ -153,16 +153,16 @@ public void paintComponent(Graphics screen) { Graphics g = offscreen.getGraphics(); if (font == null) { - font = Theme.getFont("header.text.font"); + font = Theme.getDefaultFont(); // Get optimal font. + if(font == null) font = Theme.getFont("header.text.font"); } + g.setFont(font); // need to set this each time through metrics = g.getFontMetrics(); fontAscent = metrics.getAscent(); //} - //Graphics2D g2 = (Graphics2D) g; - //g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, - // RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + Graphics2D g2 = (Graphics2D) g; // set the background for the offscreen g.setColor(backgroundColor); @@ -182,9 +182,8 @@ public void paintComponent(Graphics screen) { code.getPrettyName() : code.getFileName(); // if modified, add the li'l glyph next to the name - String text = " " + codeName + (code.isModified() ? " \u00A7" : " "); + String text = " " + codeName + " "; - Graphics2D g2 = (Graphics2D) g; int textWidth = (int) font.getStringBounds(text, g2.getFontRenderContext()).getWidth(); @@ -207,7 +206,16 @@ public void paintComponent(Graphics screen) { g.setColor(textColor[state]); int baseline = (sizeH + fontAscent) / 2; //g.drawString(sketch.code[i].name, textLeft, baseline); + + g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g.drawString(text, textLeft, baseline); + + if(code.isModified()){ + g.setColor(Color.RED); + g.drawString("*", textLeft - 3, baseline); + } g.drawImage(pieces[state][RIGHT], x, 0, null); x += PIECE_WIDTH - 1; // overlap by 1 pixel From cb9a5deefea6a7fa0fabc630c274abadaea644b5 Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 14:11:10 -0300 Subject: [PATCH 09/29] Allow redirect logs to console --- app/src/processing/app/Base.java | 49 ++++++++++++++++++- .../processing/app/helpers/ConsoleLogger.java | 30 ++++++++++++ .../processing/app/helpers/LogFormatter.java | 49 +++++++++++++++++++ 3 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 app/src/processing/app/helpers/ConsoleLogger.java create mode 100644 app/src/processing/app/helpers/LogFormatter.java diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 2af1c508615..a0b76d4dd94 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -57,11 +57,15 @@ import processing.app.tools.ZipDeflater; import javax.swing.*; + import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import java.util.List; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.Logger; import static processing.app.I18n._; @@ -137,6 +141,8 @@ static public void guardedMain(String args[]) throws Exception { BaseNoGui.initLogger(); + initLogger(); + BaseNoGui.notifier = new GUIUserNotifier(); initPlatform(); @@ -215,6 +221,34 @@ static public void guardedMain(String args[]) throws Exception { INSTANCE = new Base(args); } + + static public void initLogger() { + Handler consoleHandler = new ConsoleLogger(); + consoleHandler.setLevel(Level.ALL); + consoleHandler.setFormatter(new LogFormatter("%1$tl:%1$tM:%1$tS [%4$7s] %2$s: %5$s%n")); + + Logger globalLogger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + globalLogger.setLevel(consoleHandler.getLevel()); + + // Remove default + Handler[] handlers = globalLogger.getHandlers(); + for(Handler handler : handlers) { + globalLogger.removeHandler(handler); + } + Logger root = Logger.getLogger(""); + handlers = root.getHandlers(); + for(Handler handler : handlers) { + root.removeHandler(handler); + } + + globalLogger.addHandler(consoleHandler); + + Logger.getLogger("cc.arduino.packages.autocomplete").setParent(globalLogger); + Logger.getLogger("br.com.criativasoft.cpluslibparser").setParent(globalLogger); + Logger.getLogger(Base.class.getPackage().getName()).setParent(globalLogger); + + } + static protected void setCommandLine() { commandLine = true; @@ -2098,6 +2132,14 @@ static public void setIcon(Frame frame) { // don't use the low-res icon on Mac OS X; the window should // already have the right icon from the .app file. if (OSUtils.isMacOS()) return; + + // don't use the low-res icon on Linux + if (OSUtils.isLinux()){ + String current = System.getProperty("user.dir"); + Image image = Toolkit.getDefaultToolkit().createImage(current + "/lib/arduino.png"); + frame.setIconImage(image); + return; + } Image image = Toolkit.getDefaultToolkit().createImage(PApplet.ICON_IMAGE); frame.setIconImage(image); @@ -2152,7 +2194,12 @@ static public void showReference(String prefix, String filename) { File referenceFile = new File(referenceFolder, filename); if (!referenceFile.exists()) referenceFile = new File(referenceFolder, filename + ".html"); - openURL(referenceFile.getAbsolutePath()); + + if(referenceFile.exists()){ + openURL(referenceFile.getAbsolutePath()); + }else{ + showWarning(_("Problem Opening URL"), I18n.format(_("Could not open the URL\n{0}"), referenceFile), null); + } } public static void showEdisonGettingStarted() { diff --git a/app/src/processing/app/helpers/ConsoleLogger.java b/app/src/processing/app/helpers/ConsoleLogger.java new file mode 100644 index 00000000000..ef7697a4849 --- /dev/null +++ b/app/src/processing/app/helpers/ConsoleLogger.java @@ -0,0 +1,30 @@ +package processing.app.helpers; + +import java.io.FileDescriptor; +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.util.logging.LogRecord; +import java.util.logging.StreamHandler; + +public class ConsoleLogger extends StreamHandler { + + public ConsoleLogger() { + setOutputStream(new PrintStream(new FileOutputStream(FileDescriptor.out))); + } + + + public void publish(LogRecord record) { + super.publish(record); + flush(); + } + + /** + * Override StreamHandler.close to do a flush but not + * to close the output stream. That is, we do not + * close FileDescriptor.out. + */ + public void close() { + flush(); + } + +} diff --git a/app/src/processing/app/helpers/LogFormatter.java b/app/src/processing/app/helpers/LogFormatter.java new file mode 100644 index 00000000000..f1bd59a36eb --- /dev/null +++ b/app/src/processing/app/helpers/LogFormatter.java @@ -0,0 +1,49 @@ +package processing.app.helpers; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.Date; +import java.util.logging.Formatter; +import java.util.logging.LogRecord; + +public class LogFormatter extends Formatter { + + public String format; + private final Date dat = new Date(); + + public LogFormatter(String logformat) { + format = logformat; + } + + @Override + public String format(LogRecord record) { + dat.setTime(record.getMillis()); + String source; + if (record.getSourceClassName() != null) { + source = record.getSourceClassName().substring(record.getSourceClassName().lastIndexOf('.') + 1); + if (record.getSourceMethodName() != null) { + source += "." + record.getSourceMethodName(); + } + } else { + source = record.getLoggerName(); + } + String message = formatMessage(record); + String throwable = ""; + if (record.getThrown() != null) { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + pw.println(); + record.getThrown().printStackTrace(pw); + pw.close(); + throwable = sw.toString(); + } + return String.format(format, + dat, + source, + record.getLoggerName(), + record.getLevel(), + message, + throwable); + } + +} From 12d7792e772d3c87bbb984a990cd874daa7daf5c Mon Sep 17 00:00:00 2001 From: "ricardo.jl.rufino" Date: Wed, 22 Apr 2015 14:13:37 -0300 Subject: [PATCH 10/29] new editor based on RSyntaxTextArea --- app/src/ArduinoIDE.java | 36 + .../cc/arduino/packages/formatter/AStyle.java | 30 +- .../app/CaretAwareUndoableEdit.java | 6 +- app/src/processing/app/Editor.java | 610 +++++++--------- app/src/processing/app/EditorLineStatus.java | 25 +- app/src/processing/app/EditorListener.java | 661 ++---------------- .../app/LastUndoableEditAwareUndoManager.java | 29 +- app/src/processing/app/Sketch.java | 6 +- .../processing/app/SketchCodeDocument.java | 40 +- app/src/processing/app/Theme.java | 47 +- .../processing/app/syntax/PdeKeywords.java | 107 +-- .../processing/app/syntax/SketchTextArea.java | 243 +++++++ .../app/syntax/SketchTokenMaker.java | 121 ++++ .../processing/app/tools/DiscourseFormat.java | 129 +--- 14 files changed, 934 insertions(+), 1156 deletions(-) create mode 100644 app/src/ArduinoIDE.java create mode 100644 app/src/processing/app/syntax/SketchTextArea.java create mode 100644 app/src/processing/app/syntax/SketchTokenMaker.java diff --git a/app/src/ArduinoIDE.java b/app/src/ArduinoIDE.java new file mode 100644 index 00000000000..2afd436ae74 --- /dev/null +++ b/app/src/ArduinoIDE.java @@ -0,0 +1,36 @@ +/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ + +/* + Part of the Processing project - http://processing.org + + Copyright (c) 2004-10 Ben Fry and Casey Reas + Copyright (c) 2001-04 Massachusetts Institute of Technology + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 + as published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import processing.app.Base; + +/** + * Arduino IDE Launcher class + * @author Ricardo JL Rufino (ricardo@criativasoft.com.br) + * @date 23/01/2015 + */ +public class ArduinoIDE { + + public static void main(String[] args) throws Exception { + Base.main(args); + } + +} diff --git a/app/src/cc/arduino/packages/formatter/AStyle.java b/app/src/cc/arduino/packages/formatter/AStyle.java index 1747c622fd3..ae99886e855 100644 --- a/app/src/cc/arduino/packages/formatter/AStyle.java +++ b/app/src/cc/arduino/packages/formatter/AStyle.java @@ -1,3 +1,5 @@ +/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ + /* * This file is part of Arduino. * @@ -29,16 +31,18 @@ package cc.arduino.packages.formatter; -import processing.app.Base; -import processing.app.Editor; -import processing.app.helpers.FileUtils; -import processing.app.syntax.JEditTextArea; -import processing.app.tools.Tool; +import static processing.app.I18n._; import java.io.File; import java.io.IOException; -import static processing.app.I18n._; +import javax.swing.text.BadLocationException; + +import processing.app.Base; +import processing.app.Editor; +import processing.app.helpers.FileUtils; +import processing.app.syntax.SketchTextArea; +import processing.app.tools.Tool; public class AStyle implements Tool { @@ -84,13 +88,17 @@ public void run() { return; } - JEditTextArea textArea = editor.getTextArea(); - int line = textArea.getLineOfOffset(textArea.getCaretPosition()); - int lineOffset = textArea.getCaretPosition() - textArea.getLineStartOffset(line); - + SketchTextArea textArea = editor.getTextArea(); editor.setText(formattedText); editor.getSketch().setModified(true); - textArea.setCaretPosition(Math.min(textArea.getLineStartOffset(line) + lineOffset, textArea.getSafeLineStopOffset(line) - 1)); + + try { + int line = textArea.getLineOfOffset(textArea.getCaretPosition()); + int lineOffset = textArea.getCaretPosition() - textArea.getLineStartOffset(line); + textArea.setCaretPosition(Math.min(textArea.getLineStartOffset(line) + lineOffset, textArea.getLineEndOffset(line) - 1)); + } catch (BadLocationException e) { + e.printStackTrace(); + } // mark as finished editor.statusNotice(_("Auto Format finished.")); } diff --git a/app/src/processing/app/CaretAwareUndoableEdit.java b/app/src/processing/app/CaretAwareUndoableEdit.java index ba8e67d8570..d9b1349a54d 100644 --- a/app/src/processing/app/CaretAwareUndoableEdit.java +++ b/app/src/processing/app/CaretAwareUndoableEdit.java @@ -1,17 +1,17 @@ package processing.app; -import processing.app.syntax.JEditTextArea; - import javax.swing.undo.CannotRedoException; import javax.swing.undo.CannotUndoException; import javax.swing.undo.UndoableEdit; +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; + public class CaretAwareUndoableEdit implements UndoableEdit { private final UndoableEdit undoableEdit; private final int caretPosition; - public CaretAwareUndoableEdit(UndoableEdit undoableEdit, JEditTextArea textArea) { + public CaretAwareUndoableEdit(UndoableEdit undoableEdit, RSyntaxTextArea textArea) { this.undoableEdit = undoableEdit; this.caretPosition = textArea.getCaretPosition(); } diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index c211ef5f9b9..3adc8464470 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -50,6 +50,12 @@ import javax.swing.text.*; import javax.swing.undo.*; +import org.fife.ui.rsyntaxtextarea.RSyntaxDocument; +import org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaEditorKit; +import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; +import org.fife.ui.rtextarea.Gutter; +import org.fife.ui.rtextarea.RTextScrollPane; + import cc.arduino.packages.BoardPort; import cc.arduino.packages.Uploader; import cc.arduino.packages.uploaders.SerialUploader; @@ -125,8 +131,8 @@ public class Editor extends JFrame implements RunnerListener { //JEditorPane editorPane; - JEditTextArea textarea; - EditorListener listener; + SketchTextArea textarea; + RTextScrollPane scrollPane; // runtime information and window placement Point sketchWindowLocation; @@ -144,9 +150,6 @@ public class Editor extends JFrame implements RunnerListener { JMenuItem undoItem, redoItem; protected UndoAction undoAction; protected RedoAction redoAction; - LastUndoableEditAwareUndoManager undo; - // used internally, and only briefly - CompoundEdit compoundEdit; FindReplace find; @@ -240,10 +243,8 @@ public void windowDeactivated(WindowEvent e) { header = new EditorHeader(this); upper.add(header); - textarea = new JEditTextArea(new PdeTextAreaDefaults()); + textarea = createTextArea(); textarea.setName("editor"); - textarea.setRightClickPopup(new TextAreaPopup()); - textarea.setHorizontalOffset(6); // assemble console panel, consisting of status area and the console itself consolePanel = new JPanel(); @@ -261,9 +262,19 @@ public void windowDeactivated(WindowEvent e) { lineStatus = new EditorLineStatus(textarea); consolePanel.add(lineStatus, BorderLayout.SOUTH); - upper.add(textarea); - splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, - upper, consolePanel); + //scrollPane = new RTextScrollPane(textarea); + + scrollPane = new RTextScrollPane(textarea, true); + scrollPane.setViewportBorder(BorderFactory.createEmptyBorder()); + scrollPane.setIconRowHeaderEnabled(true); + + Gutter gutter = scrollPane.getGutter(); + gutter.setBookmarkingEnabled(false); + //gutter.setBookmarkIcon(CompletionsRenderer.getIcon(CompletionType.TEMPLATE)); + gutter.setIconRowHeaderInheritsGutterBackground(true); + + upper.add(scrollPane); + splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, upper, consolePanel); splitPane.setOneTouchExpandable(true); // repaint child panes while resizing @@ -289,7 +300,7 @@ public void windowDeactivated(WindowEvent e) { // hopefully these are no longer needed w/ swing // (har har har.. that was wishful thinking) - listener = new EditorListener(this, textarea); + // listener = new EditorListener(this, textarea); pain.add(box); // get shift down/up events so we can show the alt version of toolbar buttons @@ -448,32 +459,29 @@ protected void applyPreferences() { saveMenuItem.setEnabled(!external); saveAsMenuItem.setEnabled(!external); - textarea.setDisplayLineNumbers(PreferencesData.getBoolean("editor.linenumbers")); + textarea.setMarginLineEnabled(PreferencesData.getBoolean("editor.linenumbers")); - TextAreaPainter painter = textarea.getPainter(); if (external) { // disable line highlight and turn off the caret when disabling Color color = Theme.getColor("editor.external.bgcolor"); - painter.setBackground(color); - painter.setLineHighlightEnabled(false); - textarea.setCaretVisible(false); + textarea.setBackground(color); + textarea.setHighlightCurrentLine(false); + textarea.setEditable(false); } else { - Color color = Theme.getColor("editor.bgcolor"); - painter.setBackground(color); boolean highlight = PreferencesData.getBoolean("editor.linehighlight"); - painter.setLineHighlightEnabled(highlight); - textarea.setCaretVisible(true); + textarea.setHighlightCurrentLine(highlight); + textarea.setEditable(true); } // apply changes to the font size for the editor //TextAreaPainter painter = textarea.getPainter(); - painter.setFont(PreferencesData.getFont("editor.font")); + textarea.setFont(PreferencesData.getFont("editor.font")); //Font font = painter.getFont(); //textarea.getPainter().setFont(new Font("Courier", Font.PLAIN, 36)); // in case tab expansion stuff has changed - listener.applyPreferences(); + // listener.applyPreferences(); // in case moved to a new location // For 0125, changing to async version (to be implemented later) @@ -910,6 +918,23 @@ protected String findClassInZipFile(String base, File file) { return null; } + + protected SketchTextArea createTextArea(){ + SketchTextArea textArea = new SketchTextArea(); + textArea.requestFocusInWindow(); + textArea.setMarkOccurrences(true); + textArea.setCodeFoldingEnabled(PreferencesData.getBoolean("editor.codefolding")); + textArea.setAntiAliasingEnabled(PreferencesData.getBoolean("editor.antialias")); +// textArea.setClearWhitespaceLinesEnabled(false); + textArea.setTabsEmulated(PreferencesData.getBoolean("editor.tabs.expand")); + textArea.setTabSize(PreferencesData.getInteger("editor.tabs.size")); + textArea.setEditorListener(new EditorListener(this)); + + ToolTipManager.sharedInstance().registerComponent(textArea); + + configurePopupMenu(textArea); + return textArea; + } protected JMenuItem createToolMenuItem(String className) { try { @@ -1368,18 +1393,6 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItem(_("Use Selection For Find"), 'E'); - item.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - if (find == null) { - find = new FindReplace(Editor.this); - } - find.setLocationRelativeTo(Editor.this); - find.setFindText( getSelectedText() ); - } - }); - menu.add(item); - return menu; } @@ -1429,24 +1442,18 @@ public UndoAction() { public void actionPerformed(ActionEvent e) { try { - undo.undo(); + textarea.undoLastAction(); sketch.setModified(true); } catch (CannotUndoException ex) { //System.out.println("Unable to undo: " + ex); //ex.printStackTrace(); } - if (undo.getLastUndoableEdit() != null && undo.getLastUndoableEdit() instanceof CaretAwareUndoableEdit) { - CaretAwareUndoableEdit undoableEdit = (CaretAwareUndoableEdit) undo.getLastUndoableEdit(); - int nextCaretPosition = undoableEdit.getCaretPosition() - 1; - if (nextCaretPosition >= 0 && textarea.getDocumentLength() > nextCaretPosition) { - textarea.setCaretPosition(nextCaretPosition); - } - } - updateUndoState(); - redoAction.updateRedoState(); } protected void updateUndoState() { + + UndoManager undo = textarea.getUndoManager(); + if (undo.canUndo()) { this.setEnabled(true); undoItem.setEnabled(true); @@ -1470,21 +1477,17 @@ public RedoAction() { public void actionPerformed(ActionEvent e) { try { - undo.redo(); + textarea.redoLastAction(); sketch.setModified(true); } catch (CannotRedoException ex) { //System.out.println("Unable to redo: " + ex); //ex.printStackTrace(); } - if (undo.getLastUndoableEdit() != null && undo.getLastUndoableEdit() instanceof CaretAwareUndoableEdit) { - CaretAwareUndoableEdit undoableEdit = (CaretAwareUndoableEdit) undo.getLastUndoableEdit(); - textarea.setCaretPosition(undoableEdit.getCaretPosition()); - } - updateRedoState(); - undoAction.updateUndoState(); } protected void updateRedoState() { + UndoManager undo = textarea.getUndoManager(); + if (undo.canRedo()) { redoItem.setEnabled(true); redoItem.setText(undo.getRedoPresentationName()); @@ -1540,13 +1543,13 @@ public Sketch getSketch() { /** - * Get the JEditTextArea object for use (not recommended). This should only + * Get the TextArea object for use (not recommended). This should only * be used in obscure cases that really need to hack the internals of the * JEditTextArea. Most tools should only interface via the get/set functions * found in this class. This will maintain compatibility with future releases, - * which will not use JEditTextArea. + * which will not use TextArea. */ - public JEditTextArea getTextArea() { + public SketchTextArea getTextArea() { return textarea; } @@ -1563,7 +1566,11 @@ public String getText() { * Get a range of text from the current buffer. */ public String getText(int start, int stop) { - return textarea.getText(start, stop - start); + try { + return textarea.getText(start, stop - start); + } catch (BadLocationException e) { + return null; + } } @@ -1571,20 +1578,10 @@ public String getText(int start, int stop) { * Replace the entire contents of the front-most tab. */ public void setText(String what) { - startCompoundEdit(); textarea.setText(what); - stopCompoundEdit(); } - public void insertText(String what) { - startCompoundEdit(); - int caret = getCaretOffset(); - setSelection(caret, caret); - textarea.setSelectedText(what); - stopCompoundEdit(); - } - /** * Called to update the text but not switch to a different set of code @@ -1610,15 +1607,10 @@ public String getSelectedText() { public void setSelectedText(String what) { - textarea.setSelectedText(what); + textarea.replaceSelection(what); } - public void setSelection(int start, int stop) { - // make sure that a tool isn't asking for a bad location - start = PApplet.constrain(start, 0, textarea.getDocumentLength()); - stop = PApplet.constrain(stop, 0, textarea.getDocumentLength()); - textarea.select(start, stop); } @@ -1654,7 +1646,7 @@ public int getSelectionStart() { * Get the end point of the current selection. */ public int getSelectionStop() { - return textarea.getSelectionStop(); + return textarea.getSelectionEnd(); } @@ -1662,18 +1654,11 @@ public int getSelectionStop() { * Get text for a specified line. */ public String getLineText(int line) { - return textarea.getLineText(line); - } - - - /** - * Replace the text on a specified line. - */ - public void setLineText(int line, String what) { - startCompoundEdit(); - textarea.select(getLineStartOffset(line), getLineStopOffset(line)); - textarea.setSelectedText(what); - stopCompoundEdit(); + try { + return textarea.getText(textarea.getLineStartOffset(line), textarea.getLineEndOffset(line)); + } catch (BadLocationException e) { + return ""; + } } @@ -1681,7 +1666,11 @@ public void setLineText(int line, String what) { * Get character offset for the start of a given line of text. */ public int getLineStartOffset(int line) { - return textarea.getLineStartOffset(line); + try { + return textarea.getLineStartOffset(line); + } catch (BadLocationException e) { + return -1; + } } @@ -1689,7 +1678,11 @@ public int getLineStartOffset(int line) { * Get character offset for end of a given line of text. */ public int getLineStopOffset(int line) { - return textarea.getLineStopOffset(line); + try { + return textarea.getLineEndOffset(line); + } catch (BadLocationException e) { + return -1; + } } @@ -1699,31 +1692,10 @@ public int getLineStopOffset(int line) { public int getLineCount() { return textarea.getLineCount(); } - - - /** - * Use before a manipulating text to group editing operations together as a - * single undo. Use stopCompoundEdit() once finished. - */ - public void startCompoundEdit() { - compoundEdit = new CompoundEdit(); - } - - - /** - * Use with startCompoundEdit() to group edit operations in a single undo. - */ - public void stopCompoundEdit() { - compoundEdit.end(); - undo.addEdit(compoundEdit); - undoAction.updateUndoState(); - redoAction.updateRedoState(); - compoundEdit = null; - } - + public int getScrollPosition() { - return textarea.getScrollPosition(); + return scrollPane.getVerticalScrollBar().getValue(); } @@ -1734,15 +1706,12 @@ public int getScrollPosition() { * Switch between tabs, this swaps out the Document object * that's currently being manipulated. */ - protected void setCode(SketchCodeDocument codeDoc) { - SyntaxDocument document = (SyntaxDocument) codeDoc.getDocument(); + protected void setCode(final SketchCodeDocument codeDoc) { + RSyntaxDocument document = (RSyntaxDocument) codeDoc.getDocument(); if (document == null) { // this document not yet inited - document = new SyntaxDocument(); - codeDoc.setDocument(document); - - // turn on syntax highlighting - document.setTokenMarker(new PdeKeywords()); + document = new RSyntaxDocument(RSyntaxDocument.SYNTAX_STYLE_CPLUSPLUS); + document.putProperty(PlainDocument.tabSizeAttribute, Preferences.getInteger("editor.tabs.size")); // insert the program text into the document object try { @@ -1750,37 +1719,39 @@ protected void setCode(SketchCodeDocument codeDoc) { } catch (BadLocationException bl) { bl.printStackTrace(); } - // set up this guy's own undo manager // code.undo = new UndoManager(); - - // connect the undo listener to the editor - document.addUndoableEditListener(new UndoableEditListener() { - public void undoableEditHappened(UndoableEditEvent e) { - if (compoundEdit != null) { - compoundEdit.addEdit(new CaretAwareUndoableEdit(e.getEdit(), textarea)); - } else if (undo != null) { - undo.addEdit(new CaretAwareUndoableEdit(e.getEdit(), textarea)); - } - if (compoundEdit != null || undo != null) { - sketch.setModified(true); - undoAction.updateUndoState(); - redoAction.updateRedoState(); - } - } - }); + + codeDoc.setDocument(document); } - // update the document object that's in use - textarea.setDocument(document, - codeDoc.getSelectionStart(), codeDoc.getSelectionStop(), - codeDoc.getScrollPosition()); - + if(codeDoc.getUndo() == null){ + codeDoc.setUndo(new LastUndoableEditAwareUndoManager(textarea, this)); + document.addUndoableEditListener(codeDoc.getUndo()); + } + + // Update the document object that's in use + textarea.switchDocument(document, codeDoc.getUndo()); + + // HACK multiple tabs: for update Listeners of Gutter, forcin call: Gutter.setTextArea(RTextArea) + // BUG: https://github.com/bobbylight/RSyntaxTextArea/issues/84 + scrollPane.setViewportView(textarea); + + textarea.select(codeDoc.getSelectionStart(), codeDoc.getSelectionStop()); textarea.requestFocus(); // get the caret blinking - - this.undo = codeDoc.getUndo(); - undoAction.updateUndoState(); - redoAction.updateRedoState(); + + final int position = codeDoc.getScrollPosition(); + + // invokeLater: Expect the document to be rendered correctly to set the new position + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + scrollPane.getVerticalScrollBar().setValue(position); + undoAction.updateUndoState(); + redoAction.updateRedoState(); + } + }); + } @@ -1792,7 +1763,6 @@ public void undoableEditHappened(UndoableEditEvent e) { */ public void handleCut() { textarea.cut(); - sketch.setModified(true); } @@ -1819,7 +1789,6 @@ protected void handleHTMLCopy() { */ public void handlePaste() { textarea.paste(); - sketch.setModified(true); } @@ -1830,104 +1799,68 @@ public void handleSelectAll() { textarea.selectAll(); } + /** + * Begins an "atomic" edit. This method is called when TextArea + * KNOWS that some edits should be compound automatically, such as the playing back of a macro. + * + * @see #endInternalAtomicEdit() + */ + public void beginInternalAtomicEdit(){ + textarea.getUndoManager().beginInternalAtomicEdit(); + } - protected void handleCommentUncomment() { - startCompoundEdit(); + /** + * Ends an "atomic" edit. + * + * @see #beginInternalAtomicEdit() + */ + public void endInternalAtomicEdit(){ + textarea.getUndoManager().endInternalAtomicEdit(); + } - int startLine = textarea.getSelectionStartLine(); - int stopLine = textarea.getSelectionStopLine(); - int lastLineStart = textarea.getLineStartOffset(stopLine); - int selectionStop = textarea.getSelectionStop(); - // If the selection ends at the beginning of the last line, - // then don't (un)comment that line. - if (selectionStop == lastLineStart) { - // Though if there's no selection, don't do that - if (textarea.isSelectionActive()) { - stopLine--; - } - } + void handleCommentUncomment() { - // If the text is empty, ignore the user. - // Also ensure that all lines are commented (not just the first) - // when determining whether to comment or uncomment. - int length = textarea.getDocumentLength(); - boolean commented = true; - for (int i = startLine; commented && (i <= stopLine); i++) { - int pos = textarea.getLineStartOffset(i); - if (pos + 2 > length) { - commented = false; - } else { - // Check the first two characters to see if it's already a comment. - String begin = textarea.getText(pos, 2); - //System.out.println("begin is '" + begin + "'"); - commented = begin.equals("//"); - } - } + Action action = textarea.getActionMap().get(RSyntaxTextAreaEditorKit.rstaToggleCommentAction); + action.actionPerformed(null); - for (int line = startLine; line <= stopLine; line++) { - int location = textarea.getLineStartOffset(line); - if (commented) { - // remove a comment - textarea.select(location, location+2); - if (textarea.getSelectedText().equals("//")) { - textarea.setSelectedText(""); - } - } else { - // add a comment - textarea.select(location, location); - textarea.setSelectedText("//"); - } - } - // Subtract one from the end, otherwise selects past the current line. - // (Which causes subsequent calls to keep expanding the selection) - textarea.select(textarea.getLineStartOffset(startLine), - textarea.getLineStopOffset(stopLine) - 1); - stopCompoundEdit(); - } + } protected void handleIndentOutdent(boolean indent) { - int tabSize = PreferencesData.getInteger("editor.tabs.size"); - String tabString = Editor.EMPTY.substring(0, tabSize); - - startCompoundEdit(); - - int startLine = textarea.getSelectionStartLine(); - int stopLine = textarea.getSelectionStopLine(); - - // If the selection ends at the beginning of the last line, - // then don't (un)comment that line. - int lastLineStart = textarea.getLineStartOffset(stopLine); - int selectionStop = textarea.getSelectionStop(); - if (selectionStop == lastLineStart) { - // Though if there's no selection, don't do that - if (textarea.isSelectionActive()) { - stopLine--; - } - } - - for (int line = startLine; line <= stopLine; line++) { - int location = textarea.getLineStartOffset(line); + if (indent) { - if (indent) { - textarea.select(location, location); - textarea.setSelectedText(tabString); + int caretPosition = textarea.getCaretPosition(); + boolean noSelec = !textarea.isSelectionActive(); - } else { // outdent - textarea.select(location, location + tabSize); - // Don't eat code if it's not indented - if (textarea.getSelectedText().equals(tabString)) { - textarea.setSelectedText(""); + // if no selection, focus on first char. + if (noSelec) { + try { + int line = textarea.getCaretLineNumber(); + int startOffset = textarea.getLineStartOffset(line); + textarea.setCaretPosition(startOffset); + } catch (BadLocationException e) { } } + + // Insert Tab or Spaces.. + Action action = textarea.getActionMap().get(RSyntaxTextAreaEditorKit.insertTabAction); + action.actionPerformed(null); + + if (noSelec) { + textarea.setCaretPosition(caretPosition); + } + + } else { + Action action = textarea.getActionMap().get(RSyntaxTextAreaEditorKit.rstaDecreaseIndentAction); + action.actionPerformed(null); } - // Subtract one from the end, otherwise selects past the current line. - // (Which causes subsequent calls to keep expanding the selection) - textarea.select(textarea.getLineStartOffset(startLine), - textarea.getLineStopOffset(stopLine) - 1); - stopCompoundEdit(); } + + /** Checks the preferences you are in external editing mode */ + public static boolean isExternalMode(){ + return PreferencesData.getBoolean("editor.external"); + } protected String getCurrentKeyword() { String text = ""; @@ -2028,6 +1961,7 @@ public BuildHandler(boolean verbose) { @Override public void run() { try { + textarea.removeAllLineHighlights(); sketch.prepare(); sketch.build(verbose); statusNotice(_("Done compiling.")); @@ -2209,7 +2143,7 @@ protected void handleOpenUnchecked(File file, int codeIndex, sketch.setCurrentCode(codeIndex); textarea.select(selStart, selStop); - textarea.setScrollPosition(scrollPos); + scrollPane.getVerticalScrollBar().setValue(scrollPos); } @@ -2334,6 +2268,7 @@ protected boolean handleOpenInternal(File sketchFile) { public boolean handleSave(boolean immediately) { //stopRunner(); handleStop(); // 0136 + textarea.removeAllLineHighlights(); if (untitled) { return handleSaveAs(); @@ -2710,9 +2645,9 @@ public void handlePrint() { } if (pageFormat != null) { //System.out.println("setting page format " + pageFormat); - printerJob.setPrintable(textarea.getPainter(), pageFormat); + printerJob.setPrintable(textarea, pageFormat); } else { - printerJob.setPrintable(textarea.getPainter()); + printerJob.setPrintable(textarea); } // set the name of the job to the code name printerJob.setJobName(sketch.getCurrentCode().getPrettyName()); @@ -2769,7 +2704,7 @@ public void statusError(Exception e) { // The error is at the end of this current chunk of code, // so the last line needs to be selected. line = textarea.getLineCount() - 1; - if (textarea.getLineText(line).length() == 0) { + if (getLineText(line).length() == 0) { // The last line may be zero length, meaning nothing to select. // If so, back up one more line. line--; @@ -2778,8 +2713,12 @@ public void statusError(Exception e) { if (line < 0 || line >= textarea.getLineCount()) { System.err.println(I18n.format(_("Bad error line: {0}"), line)); } else { - textarea.select(textarea.getLineStartOffset(line), - textarea.getLineStopOffset(line) - 1); + try { + textarea.addLineHighlight(line, new Color(1, 0, 0, 0.2f)); + textarea.setCaretPosition(textarea.getLineStartOffset(line)); + } catch (BadLocationException e1) { + e1.printStackTrace(); + } } } } @@ -2830,148 +2769,101 @@ protected void onBoardOrPortChange() { lineStatus.repaint(); } - /** - * Returns the edit popup menu. - */ - class TextAreaPopup extends JPopupMenu { - //private String currentDir = System.getProperty("user.dir"); - private String referenceFile = null; - - private JMenuItem cutItem; - private JMenuItem copyItem; - private JMenuItem discourseItem; - private JMenuItem referenceItem; - private JMenuItem openURLItem; - private JSeparator openURLItemSeparator; - - private String clickedURL; - - public TextAreaPopup() { - openURLItem = new JMenuItem(_("Open URL")); - openURLItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - Base.openURL(clickedURL); - } - }); - add(openURLItem); - openURLItemSeparator = new JSeparator(); - add(openURLItemSeparator); + protected void configurePopupMenu(final SketchTextArea textarea){ - cutItem = new JMenuItem(_("Cut")); - cutItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleCut(); - } - }); - add(cutItem); + JPopupMenu menu = textarea.getPopupMenu(); - copyItem = new JMenuItem(_("Copy")); - copyItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleCopy(); - } - }); - add(copyItem); - - discourseItem = new JMenuItem(_("Copy for Forum")); - discourseItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleDiscourseCopy(); - } - }); - add(discourseItem); - - discourseItem = new JMenuItem(_("Copy as HTML")); - discourseItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleHTMLCopy(); - } - }); - add(discourseItem); + menu.addSeparator(); - JMenuItem item = new JMenuItem(_("Paste")); - item.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handlePaste(); - } - }); - add(item); + JMenuItem item = createToolMenuItem("cc.arduino.packages.formatter.AStyle"); + item.setName("menuToolsAutoFormat"); - item = new JMenuItem(_("Select All")); - item.addActionListener(new ActionListener() { + menu.add(item); + + item = newJMenuItem(_("Comment/Uncomment"), '/'); + item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - handleSelectAll(); + handleCommentUncomment(); } - }); - add(item); + }); + menu.add(item); - addSeparator(); + item = newJMenuItem(_("Increase Indent"), ']'); + item.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + handleIndentOutdent(true); + } + }); + menu.add(item); - item = new JMenuItem(_("Comment/Uncomment")); - item.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleCommentUncomment(); - } - }); - add(item); + item = newJMenuItem(_("Decrease Indent"), '['); + item.setName("menuDecreaseIndent"); + item.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + handleIndentOutdent(false); + } + }); + menu.add(item); - item = new JMenuItem(_("Increase Indent")); - item.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleIndentOutdent(true); - } - }); - add(item); + item = new JMenuItem(_("Copy for Forum")); + item.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + handleDiscourseCopy(); + } + }); + menu.add(item); - item = new JMenuItem(_("Decrease Indent")); - item.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleIndentOutdent(false); - } - }); - add(item); + item = new JMenuItem(_("Copy as HTML")); + item.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + handleHTMLCopy(); + } + }); + menu.add(item); - addSeparator(); + final JMenuItem referenceItem = new JMenuItem(_("Find in Reference")); + referenceItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + handleFindReference(); + } + }); + menu.add(referenceItem); - referenceItem = new JMenuItem(_("Find in Reference")); - referenceItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - handleFindReference(); - } - }); - add(referenceItem); - } - - // if no text is selected, disable copy and cut menu items - public void show(Component component, int x, int y) { - int lineNo = textarea.getLineOfOffset(textarea.xyToOffset(x, y)); - int offset = textarea.xToOffset(lineNo, x); - String line = textarea.getLineText(lineNo); - clickedURL = textarea.checkClickedURL(line, offset); - if (clickedURL != null) { - openURLItem.setVisible(true); - openURLItemSeparator.setVisible(true); - } else { - openURLItem.setVisible(false); - openURLItemSeparator.setVisible(false); + final JMenuItem openURLItem = new JMenuItem(_("Open URL")); + openURLItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + Base.openURL(e.getActionCommand()); } + }); + menu.add(openURLItem); + + menu.addPopupMenuListener(new PopupMenuListener() { - if (textarea.isSelectionActive()) { - cutItem.setEnabled(true); - copyItem.setEnabled(true); - discourseItem.setEnabled(true); + @Override + public void popupMenuWillBecomeVisible(PopupMenuEvent e) { + String referenceFile = PdeKeywords.getReference(getCurrentKeyword()); + referenceItem.setEnabled(referenceFile != null); + + int offset = textarea.getCaretPosition(); + org.fife.ui.rsyntaxtextarea.Token token = RSyntaxUtilities.getTokenAtOffset(textarea, offset); + if (token != null && token.isHyperlink()) { + openURLItem.setEnabled(true); + openURLItem.setActionCommand(token.getLexeme()); + } else { + openURLItem.setEnabled(false); + } + } - } else { - cutItem.setEnabled(false); - copyItem.setEnabled(false); - discourseItem.setEnabled(false); + @Override + public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { } - referenceFile = PdeKeywords.getReference(getCurrentKeyword()); - referenceItem.setEnabled(referenceFile != null); + @Override + public void popupMenuCanceled(PopupMenuEvent e) { + } + }); - super.show(component, x, y); - } } + } diff --git a/app/src/processing/app/EditorLineStatus.java b/app/src/processing/app/EditorLineStatus.java index 408b6545b64..2acb1eb1074 100644 --- a/app/src/processing/app/EditorLineStatus.java +++ b/app/src/processing/app/EditorLineStatus.java @@ -1,3 +1,5 @@ +/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ + /* Part of the Processing project - http://processing.org @@ -20,26 +22,23 @@ package processing.app; -import processing.app.helpers.OSUtils; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.Image; +import java.awt.*; import java.awt.geom.Rectangle2D; +import java.util.Map; import javax.swing.JComponent; +import processing.app.helpers.OSUtils; import processing.app.helpers.PreferencesMap; -import processing.app.syntax.JEditTextArea; +import processing.app.syntax.SketchTextArea; + /** * Li'l status bar fella that shows the line number. */ -@SuppressWarnings("serial") public class EditorLineStatus extends JComponent { - JEditTextArea textarea; + SketchTextArea textarea; + int start = -1, stop; Image resize; @@ -55,9 +54,11 @@ public class EditorLineStatus extends JComponent { String name = ""; String serialport = ""; - public EditorLineStatus(JEditTextArea textarea) { + + public EditorLineStatus(SketchTextArea textarea) { + this.textarea = textarea; - textarea.editorLineStatus = this; + textarea.setEditorLineStatus(this); background = Theme.getColor("linestatus.bgcolor"); font = Theme.getFont("linestatus.font"); diff --git a/app/src/processing/app/EditorListener.java b/app/src/processing/app/EditorListener.java index 0acb7e4c817..19e90b1c3ac 100644 --- a/app/src/processing/app/EditorListener.java +++ b/app/src/processing/app/EditorListener.java @@ -1,636 +1,83 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2004-08 Ben Fry and Casey Reas - Copyright (c) 2001-04 Massachusetts Institute of Technology - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - package processing.app; -import processing.app.syntax.*; - -import java.awt.*; -import java.awt.event.*; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import processing.app.syntax.SketchTextArea; -/** - * Filters key events for tab expansion/indent/etc. - *

- * For version 0099, some changes have been made to make the indents - * smarter. There are still issues though: - * + indent happens when it picks up a curly brace on the previous line, - * but not if there's a blank line between them. - * + It also doesn't handle single indent situations where a brace - * isn't used (i.e. an if statement or for loop that's a single line). - * It shouldn't actually be using braces. - * Solving these issues, however, would probably best be done by a - * smarter parser/formatter, rather than continuing to hack this class. - */ -public class EditorListener { +public class EditorListener implements KeyListener { + private Editor editor; - private JEditTextArea textarea; - - private boolean externalEditor; - private boolean tabsExpand; - private boolean tabsIndent; - private int tabSize; - private String tabString; - private boolean autoIndent; - -// private int selectionStart, selectionEnd; -// private int position; - - /** ctrl-alt on windows and linux, cmd-alt on mac os x */ - static final int CTRL_ALT = ActionEvent.ALT_MASK | - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); - - - public EditorListener(Editor editor, JEditTextArea textarea) { + + public EditorListener(Editor editor) { + super(); this.editor = editor; - this.textarea = textarea; - - // let him know that i'm leechin' - textarea.editorListener = this; - - applyPreferences(); } + + /** ctrl-alt on windows and linux, cmd-alt on mac os x */ + static final int CTRL_ALT = ActionEvent.ALT_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + static final int CTRL_SHIFT = ActionEvent.SHIFT_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + + static final int CTRL = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + - public void applyPreferences() { - tabsExpand = PreferencesData.getBoolean("editor.tabs.expand"); - //tabsIndent = Preferences.getBoolean("editor.tabs.indent"); - tabSize = PreferencesData.getInteger("editor.tabs.size"); - tabString = Editor.EMPTY.substring(0, tabSize); - autoIndent = PreferencesData.getBoolean("editor.indent"); - externalEditor = PreferencesData.getBoolean("editor.external"); - } - - - //public void setExternalEditor(boolean externalEditor) { - //this.externalEditor = externalEditor; - //} - - - /** - * Intercepts key pressed events for JEditTextArea. - *

- * Called by JEditTextArea inside processKeyEvent(). Note that this - * won't intercept actual characters, because those are fired on - * keyTyped(). - * @return true if the event has been handled (to remove it from the queue) - */ - public boolean keyPressed(KeyEvent event) { - // don't do things if the textarea isn't editable - if (externalEditor) return false; - - //deselect(); // this is for paren balancing - char c = event.getKeyChar(); - int code = event.getKeyCode(); - -// if (code == KeyEvent.VK_SHIFT) { -// editor.toolbar.setShiftPressed(true); -// } - - //System.out.println((int)c + " " + code + " " + event); - //System.out.println(); - - Sketch sketch = editor.getSketch(); - - if ((event.getModifiers() & CTRL_ALT) == CTRL_ALT) { - if (code == KeyEvent.VK_LEFT) { - sketch.handlePrevCode(); - return true; - } else if (code == KeyEvent.VK_RIGHT) { - sketch.handleNextCode(); - return true; - } - } - - if ((event.getModifiers() & KeyEvent.CTRL_MASK) != 0) { - // Consume ctrl-m(carriage return) keypresses - if (code == KeyEvent.VK_M) { - event.consume(); // does nothing - return false; - } - - // The char is not control code when CTRL key pressed? It should be a shortcut. - if (!Character.isISOControl(c)) { - return false; - } - } - - if ((event.getModifiers() & KeyEvent.META_MASK) != 0) { - //event.consume(); // does nothing - return false; - } - - // TODO i don't like these accessors. clean em up later. - if (!editor.getSketch().isModified()) { - if ((code == KeyEvent.VK_BACK_SPACE) || (code == KeyEvent.VK_TAB) || - (code == KeyEvent.VK_ENTER) || ((c >= 32) && (c < 128))) { - sketch.setModified(true); - } - } - - if ((code == KeyEvent.VK_UP) && - ((event.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { - // back up to the last empty line - char contents[] = textarea.getText().toCharArray(); - //int origIndex = textarea.getCaretPosition() - 1; - int caretIndex = textarea.getCaretPosition(); - - int index = calcLineStart(caretIndex - 1, contents); - //System.out.println("line start " + (int) contents[index]); - index -= 2; // step over the newline - //System.out.println((int) contents[index]); - boolean onlySpaces = true; - while (index > 0) { - if (contents[index] == 10) { - if (onlySpaces) { - index++; - break; - } else { - onlySpaces = true; // reset - } - } else if (contents[index] != ' ') { - onlySpaces = false; - } - index--; - } - // if the first char, index will be -2 - if (index < 0) index = 0; - - if ((event.getModifiers() & KeyEvent.SHIFT_MASK) != 0) { - textarea.setSelectionStart(caretIndex); - textarea.setSelectionEnd(index); - } else { - textarea.setCaretPosition(index); - } - event.consume(); - return true; - - } else if ((code == KeyEvent.VK_DOWN) && - ((event.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { - char contents[] = textarea.getText().toCharArray(); - int caretIndex = textarea.getCaretPosition(); - - int index = caretIndex; - int lineStart = 0; - boolean onlySpaces = false; // don't count this line - while (index < contents.length) { - if (contents[index] == 10) { - if (onlySpaces) { - index = lineStart; // this is it - break; - } else { - lineStart = index + 1; - onlySpaces = true; // reset - } - } else if (contents[index] != ' ') { - onlySpaces = false; - } - index++; - } - // if the first char, index will be -2 - //if (index < 0) index = 0; - - //textarea.setSelectionStart(index); - //textarea.setSelectionEnd(index); - if ((event.getModifiers() & KeyEvent.SHIFT_MASK) != 0) { - textarea.setSelectionStart(caretIndex); - textarea.setSelectionEnd(index); - } else { - textarea.setCaretPosition(index); - } - event.consume(); - return true; - } - - - switch ((int) c) { - - case 9: // TAB - if (textarea.isSelectionActive()) { - boolean outdent = (event.getModifiers() & KeyEvent.SHIFT_MASK) != 0; - editor.handleIndentOutdent(!outdent); - - } else if (tabsExpand) { // expand tabs - textarea.setSelectedText(tabString); - event.consume(); - return true; - - } else if (tabsIndent) { - // this code is incomplete - - // if this brace is the only thing on the line, outdent - //char contents[] = getCleanedContents(); - char contents[] = textarea.getText().toCharArray(); - // index to the character to the left of the caret - int prevCharIndex = textarea.getCaretPosition() - 1; - - // now find the start of this line - int lineStart = calcLineStart(prevCharIndex, contents); - - int lineEnd = lineStart; - while ((lineEnd < contents.length - 1) && - (contents[lineEnd] != 10)) { - lineEnd++; - } - - // get the number of braces, to determine whether this is an indent - int braceBalance = 0; - int index = lineStart; - while ((index < contents.length) && - (contents[index] != 10)) { - if (contents[index] == '{') { - braceBalance++; - } else if (contents[index] == '}') { - braceBalance--; - } - index++; - } - - // if it's a starting indent, need to ignore it, so lineStart - // will be the counting point. but if there's a closing indent, - // then the lineEnd should be used. - int where = (braceBalance > 0) ? lineStart : lineEnd; - int indent = calcBraceIndent(where, contents); - if (indent == -1) { - // no braces to speak of, do nothing - indent = 0; - } else { - indent += tabSize; - } - - // and the number of spaces it has - int spaceCount = calcSpaceCount(prevCharIndex, contents); - - textarea.setSelectionStart(lineStart); - textarea.setSelectionEnd(lineStart + spaceCount); - textarea.setSelectedText(Editor.EMPTY.substring(0, indent)); - - event.consume(); - return true; - } - break; - - case 10: // auto-indent - case 13: - if (autoIndent) { - char contents[] = textarea.getText().toCharArray(); - - // this is the previous character - // (i.e. when you hit return, it'll be the last character - // just before where the newline will be inserted) - int origIndex = textarea.getCaretPosition() - 1; - - // NOTE all this cursing about CRLF stuff is probably moot - // NOTE since the switch to JEditTextArea, which seems to use - // NOTE only LFs internally (thank god). disabling for 0099. - // walk through the array to the current caret position, - // and count how many weirdo windows line endings there are, - // which would be throwing off the caret position number - /* - int offset = 0; - int realIndex = origIndex; - for (int i = 0; i < realIndex-1; i++) { - if ((contents[i] == 13) && (contents[i+1] == 10)) { - offset++; - realIndex++; - } - } - // back up until \r \r\n or \n.. @#($* cross platform - //System.out.println(origIndex + " offset = " + offset); - origIndex += offset; // ARGH!#(* WINDOWS#@($* - */ - - // if the previous thing is a brace (whether prev line or - // up farther) then the correct indent is the number of spaces - // on that line + 'indent'. - // if the previous line is not a brace, then just use the - // identical indentation to the previous line - - // calculate the amount of indent on the previous line - // this will be used *only if the prev line is not an indent* - int spaceCount = calcSpaceCount(origIndex, contents); - - // If the last character was a left curly brace, then indent. - // For 0122, walk backwards a bit to make sure that the there - // isn't a curly brace several spaces (or lines) back. Also - // moved this before calculating extraCount, since it'll affect - // that as well. - int index2 = origIndex; - while ((index2 >= 0) && - Character.isWhitespace(contents[index2])) { - index2--; - } - if (index2 != -1) { - // still won't catch a case where prev stuff is a comment - if (contents[index2] == '{') { - // intermediate lines be damned, - // use the indent for this line instead - spaceCount = calcSpaceCount(index2, contents); - spaceCount += tabSize; - } - } - //System.out.println("spaceCount should be " + spaceCount); - - // now before inserting this many spaces, walk forward from - // the caret position and count the number of spaces, - // so that the number of spaces aren't duplicated again - int index = origIndex + 1; - int extraCount = 0; - while ((index < contents.length) && - (contents[index] == ' ')) { - //spaceCount--; - extraCount++; - index++; - } - int braceCount = 0; - while ((index < contents.length) && (contents[index] != '\n')) { - if (contents[index] == '}') { - braceCount++; - } - index++; - } - - // hitting return on a line with spaces *after* the caret - // can cause trouble. for 0099, was ignoring the case, but this is - // annoying, so in 0122 we're trying to fix that. - /* - if (spaceCount - extraCount > 0) { - spaceCount -= extraCount; - } - */ - spaceCount -= extraCount; - //if (spaceCount < 0) spaceCount = 0; - //System.out.println("extraCount is " + extraCount); - - // now, check to see if the current line contains a } and if so, - // outdent again by indent - //if (braceCount > 0) { - //spaceCount -= 2; - //} - - if (spaceCount < 0) { - // for rev 0122, actually delete extra space - //textarea.setSelectionStart(origIndex + 1); - textarea.setSelectionEnd(textarea.getSelectionStop() - spaceCount); - textarea.setSelectedText("\n"); - } else { - String insertion = "\n" + Editor.EMPTY.substring(0, spaceCount); - textarea.setSelectedText(insertion); - } - - // not gonna bother handling more than one brace - if (braceCount > 0) { - int sel = textarea.getSelectionStart(); - // sel - tabSize will be -1 if start/end parens on the same line - // http://dev.processing.org/bugs/show_bug.cgi?id=484 - if (sel - tabSize >= 0) { - textarea.select(sel - tabSize, sel); - String s = Editor.EMPTY.substring(0, tabSize); - // if these are spaces that we can delete - if (textarea.getSelectedText().equals(s)) { - textarea.setSelectedText(""); - } else { - textarea.select(sel, sel); - } - } - } - } else { - // Enter/Return was being consumed by somehow even if false - // was returned, so this is a band-aid to simply fire the event again. - // http://dev.processing.org/bugs/show_bug.cgi?id=1073 - textarea.setSelectedText(String.valueOf(c)); - } - // mark this event as already handled (all but ignored) - event.consume(); - return true; - - case '}': - if (autoIndent) { - // first remove anything that was there (in case this multiple - // characters are selected, so that it's not in the way of the - // spaces for the auto-indent - if (textarea.getSelectionStart() != textarea.getSelectionStop()) { - textarea.setSelectedText(""); - } - - // if this brace is the only thing on the line, outdent - char contents[] = textarea.getText().toCharArray(); - // index to the character to the left of the caret - int prevCharIndex = textarea.getCaretPosition() - 1; - - // backup from the current caret position to the last newline, - // checking for anything besides whitespace along the way. - // if there's something besides whitespace, exit without - // messing any sort of indenting. - int index = prevCharIndex; - boolean finished = false; - while ((index != -1) && (!finished)) { - if (contents[index] == 10) { - finished = true; - index++; - } else if (contents[index] != ' ') { - // don't do anything, this line has other stuff on it - return false; - } else { - index--; - } - } - if (!finished) return false; // brace with no start - int lineStartIndex = index; - - int pairedSpaceCount = calcBraceIndent(prevCharIndex, contents); //, 1); - if (pairedSpaceCount == -1) return false; - - textarea.setSelectionStart(lineStartIndex); - textarea.setSelectedText(Editor.EMPTY.substring(0, pairedSpaceCount)); - - // mark this event as already handled - event.consume(); - return true; - } - break; - } - return false; - } - - -// public boolean keyReleased(KeyEvent event) { -// if (code == KeyEvent.VK_SHIFT) { -// editor.toolbar.setShiftPressed(false); -// } -// } - - - public boolean keyTyped(KeyEvent event) { + public void keyTyped(KeyEvent event) { char c = event.getKeyChar(); if ((event.getModifiers() & KeyEvent.CTRL_MASK) != 0) { // The char is not control code when CTRL key pressed? It should be a shortcut. if (!Character.isISOControl(c)) { event.consume(); - return true; } } - return false; } + @Override + public void keyPressed(KeyEvent event) { + + SketchTextArea textarea = editor.getTextArea(); + + if (!textarea.isEditable()) return; + + Sketch sketch = editor.getSketch(); - - /** - * Return the index for the first character on this line. - */ - protected int calcLineStart(int index, char contents[]) { - // backup from the current caret position to the last newline, - // so that we can figure out how far this line was indented - /*int spaceCount = 0;*/ - boolean finished = false; - while ((index != -1) && (!finished)) { - if ((contents[index] == 10) || - (contents[index] == 13)) { - finished = true; - //index++; // maybe ? - } else { - index--; // new - } + int code = event.getKeyCode(); + + // Navigation.. + if ((event.getModifiers() & CTRL) == CTRL && code == KeyEvent.VK_TAB) { + sketch.handleNextCode(); } - // add one because index is either -1 (the start of the document) - // or it's the newline character for the previous line - return index + 1; - } - - - /** - * Calculate the number of spaces on this line. - */ - protected int calcSpaceCount(int index, char contents[]) { - index = calcLineStart(index, contents); - int spaceCount = 0; - // now walk forward and figure out how many spaces there are - while ((index < contents.length) && (index >= 0) && - (contents[index++] == ' ')) { - spaceCount++; + // Navigation.. + // FIXME: not working on LINUX !!! + if (((event.getModifiers() & CTRL_SHIFT) == CTRL_SHIFT)) { + if(code == KeyEvent.VK_TAB) + sketch.handlePrevCode(); } - return spaceCount; - } - - - /** - * Walk back from 'index' until the brace that seems to be - * the beginning of the current block, and return the number of - * spaces found on that line. - */ - protected int calcBraceIndent(int index, char contents[]) { - // now that we know things are ok to be indented, walk - // backwards to the last { to see how far its line is indented. - // this isn't perfect cuz it'll pick up commented areas, - // but that's not really a big deal and can be fixed when - // this is all given a more complete (proper) solution. - int braceDepth = 1; - boolean finished = false; - while ((index != -1) && (!finished)) { - if (contents[index] == '}') { - // aww crap, this means we're one deeper - // and will have to find one more extra { - braceDepth++; - //if (braceDepth == 0) { - //finished = true; - //} - index--; - } else if (contents[index] == '{') { - braceDepth--; - if (braceDepth == 0) { - finished = true; - } - index--; - } else { - index--; + + // Navigation.. + if ((event.getModifiers() & CTRL_ALT) == CTRL_ALT) { + if (code == KeyEvent.VK_LEFT) { + sketch.handlePrevCode(); + } else if (code == KeyEvent.VK_RIGHT) { + sketch.handleNextCode(); } } - // never found a proper brace, be safe and don't do anything - if (!finished) return -1; - - // check how many spaces on the line with the matching open brace - //int pairedSpaceCount = calcSpaceCount(index, contents); - //System.out.println(pairedSpaceCount); - return calcSpaceCount(index, contents); + +// if (event.isAltDown() && code == KeyEvent.VK_T) { +// int line = textarea.getCaretLineNumber(); +// textarea.setActiveLineRange(line, line + 3); +// } + } - - /** - * Get the character array and blank out the commented areas. - * This hasn't yet been tested, the plan was to make auto-indent - * less gullible (it gets fooled by braces that are commented out). - */ - protected char[] getCleanedContents() { - char c[] = textarea.getText().toCharArray(); - - int index = 0; - while (index < c.length - 1) { - if ((c[index] == '/') && (c[index+1] == '*')) { - c[index++] = 0; - c[index++] = 0; - while ((index < c.length - 1) && - !((c[index] == '*') && (c[index+1] == '/'))) { - c[index++] = 0; - } - - } else if ((c[index] == '/') && (c[index+1] == '/')) { - // clear out until the end of the line - while ((index < c.length) && (c[index] != 10)) { - c[index++] = 0; - } - if (index != c.length) { - index++; // skip over the newline - } - } - } - return c; + @Override + public void keyReleased(KeyEvent e) { + // TODO Auto-generated method stub + } - /* - protected char[] getCleanedContents() { - char c[] = textarea.getText().toCharArray(); - boolean insideMulti; // multi-line comment - boolean insideSingle; // single line double slash - - //for (int i = 0; i < c.length - 1; i++) { - int index = 0; - while (index < c.length - 1) { - if (insideMulti && (c[index] == '*') && (c[index+1] == '/')) { - insideMulti = false; - index += 2; - } else if ((c[index] == '/') && (c[index+1] == '*')) { - insideMulti = true; - index += 2; - } else if ((c[index] == '/') && (c[index+1] == '/')) { - // clear out until the end of the line - while (c[index] != 10) { - c[index++] = 0; - } - index++; - } - } - } - */ -} +} \ No newline at end of file diff --git a/app/src/processing/app/LastUndoableEditAwareUndoManager.java b/app/src/processing/app/LastUndoableEditAwareUndoManager.java index 0cd678a935b..736be42d39b 100644 --- a/app/src/processing/app/LastUndoableEditAwareUndoManager.java +++ b/app/src/processing/app/LastUndoableEditAwareUndoManager.java @@ -2,31 +2,36 @@ import javax.swing.undo.CannotRedoException; import javax.swing.undo.CannotUndoException; -import javax.swing.undo.UndoManager; -import javax.swing.undo.UndoableEdit; -@SuppressWarnings("serial") -public class LastUndoableEditAwareUndoManager extends UndoManager { +import org.fife.ui.rtextarea.RUndoManager; - private UndoableEdit lastUndoableEdit; +import processing.app.syntax.SketchTextArea; - public LastUndoableEditAwareUndoManager() { - this.lastUndoableEdit = null; +public class LastUndoableEditAwareUndoManager extends RUndoManager { + + private Editor editor; + + public LastUndoableEditAwareUndoManager(SketchTextArea textarea, Editor editor) { + super(textarea); + this.editor = editor; } @Override public synchronized void undo() throws CannotUndoException { - lastUndoableEdit = super.editToBeUndone(); super.undo(); } @Override public synchronized void redo() throws CannotRedoException { - lastUndoableEdit = super.editToBeRedone(); super.redo(); } - - public UndoableEdit getLastUndoableEdit() { - return lastUndoableEdit; + + @Override + public void updateActions() { + super.updateActions(); + editor.undoAction.updateUndoState(); + editor.redoAction.updateRedoState(); } + + } diff --git a/app/src/processing/app/Sketch.java b/app/src/processing/app/Sketch.java index 111c1caf882..d0e01222642 100644 --- a/app/src/processing/app/Sketch.java +++ b/app/src/processing/app/Sketch.java @@ -112,7 +112,7 @@ protected void load() throws IOException { for (SketchCode code : data.getCodes()) { if (code.getMetadata() == null) - code.setMetadata(new SketchCodeDocument(code)); + code.setMetadata(new SketchCodeDocument(this, code)); } // set the main file to be the current tab @@ -409,7 +409,7 @@ protected void nameCode(String newName) { return; } ensureExistence(); - data.addCode((new SketchCodeDocument(newFile)).getCode()); + data.addCode((new SketchCodeDocument(this, newFile)).getCode()); } // sort the entries @@ -905,7 +905,7 @@ public boolean addFile(File sourceFile) { } if (codeExtension != null) { - SketchCode newCode = (new SketchCodeDocument(destFile)).getCode(); + SketchCode newCode = (new SketchCodeDocument(this, destFile)).getCode(); if (replacement) { data.replaceCode(newCode); diff --git a/app/src/processing/app/SketchCodeDocument.java b/app/src/processing/app/SketchCodeDocument.java index 857a270abc2..dd3054777a8 100644 --- a/app/src/processing/app/SketchCodeDocument.java +++ b/app/src/processing/app/SketchCodeDocument.java @@ -2,37 +2,47 @@ import java.io.File; +import javax.swing.Action; +import javax.swing.SwingUtilities; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; import javax.swing.text.Document; +import javax.swing.undo.UndoManager; -public class SketchCodeDocument{ +import org.fife.ui.rtextarea.RTextArea; + +public class SketchCodeDocument implements SketchDocumentProvider, DocumentListener{ private SketchCode code; + private Sketch sketch; private Document document; // Undo Manager for this tab, each tab keeps track of their own Editor.undo // will be set to this object when this code is the tab that's currently the // front. - private LastUndoableEditAwareUndoManager undo = new LastUndoableEditAwareUndoManager(); + private UndoManager undo; // saved positions from last time this tab was used private int selectionStart; private int selectionStop; private int scrollPosition; - public SketchCodeDocument(SketchCode code) { + public SketchCodeDocument(Sketch sketch, SketchCode code) { this.code = code; + this.sketch = sketch; this.code.setMetadata(this); } - public SketchCodeDocument(File file) { + public SketchCodeDocument(Sketch sketch, File file) { this.code = new SketchCode(file, this); + this.sketch = sketch; } - public LastUndoableEditAwareUndoManager getUndo() { + public UndoManager getUndo() { return undo; } - public void setUndo(LastUndoableEditAwareUndoManager undo) { + public void setUndo(UndoManager undo) { this.undo = undo; } @@ -74,6 +84,24 @@ public Document getDocument() { public void setDocument(Document document) { this.document = document; + document.addDocumentListener(this); + } + + @Override + public void insertUpdate(DocumentEvent e) { + if(!code.isModified()) sketch.setModified(true); } + + @Override + public void removeUpdate(DocumentEvent e) { + if(!code.isModified()) sketch.setModified(true); + } + + @Override + public void changedUpdate(DocumentEvent e) { + // Callback for when styles in the current document change. + // This method is never called. + } + } diff --git a/app/src/processing/app/Theme.java b/app/src/processing/app/Theme.java index 4100bdfc5fe..9ad4f2aef76 100644 --- a/app/src/processing/app/Theme.java +++ b/app/src/processing/app/Theme.java @@ -28,9 +28,11 @@ import java.awt.SystemColor; import java.io.File; +import javax.swing.text.StyleContext; + +import processing.app.helpers.OSUtils; import processing.app.helpers.PreferencesHelper; import processing.app.helpers.PreferencesMap; -import processing.app.syntax.SyntaxStyle; /** * Storage class for theme settings. This was separated from the Preferences @@ -104,17 +106,40 @@ static public Font getFont(String attr) { } return font; } + + /** + * Returns the default font for text areas. + * + * @return The default font. + */ + public static final Font getDefaultFont() { + + // Use StyleContext to get a composite font for better Asian language + // support; see Sun bug S282887. + StyleContext sc = StyleContext.getDefaultStyleContext(); + Font font = null; + + if (OSUtils.isMacOS()) { + // Snow Leopard (1.6) uses Menlo as default monospaced font, + // pre-Snow Leopard used Monaco. + font = sc.getFont("Menlo", Font.PLAIN, 12); + if (!"Menlo".equals(font.getFamily())) { + font = sc.getFont("Monaco", Font.PLAIN, 12); + if (!"Monaco".equals(font.getFamily())) { // Shouldn't happen + font = sc.getFont("Monospaced", Font.PLAIN, 13); + } + } + } + else { + // Consolas added in Vista, used by VS2010+. + font = sc.getFont("Consolas", Font.PLAIN, 13); + if (!"Consolas".equals(font.getFamily())) { + font = sc.getFont("Monospaced", Font.PLAIN, 13); + } + } - static public SyntaxStyle getStyle(String what) { - String split[] = get("editor." + what + ".style").split(","); - - Color color = PreferencesHelper.parseColor(split[0]); - - String style = split[1]; - boolean bold = style.contains("bold"); - boolean italic = style.contains("italic"); - boolean underlined = style.contains("underlined"); + //System.out.println(font.getFamily() + ", " + font.getName()); + return font; - return new SyntaxStyle(color, italic, bold, underlined); } } diff --git a/app/src/processing/app/syntax/PdeKeywords.java b/app/src/processing/app/syntax/PdeKeywords.java index b221796a5f1..d3823802a8b 100644 --- a/app/src/processing/app/syntax/PdeKeywords.java +++ b/app/src/processing/app/syntax/PdeKeywords.java @@ -24,59 +24,55 @@ package processing.app.syntax; -import processing.app.*; -import processing.app.legacy.PApplet; - -import java.io.*; -import java.util.*; - import cc.arduino.contributions.libraries.ContributedLibrary; +import org.fife.ui.rsyntaxtextarea.TokenTypes; +import processing.app.Base; +import processing.app.BaseNoGui; +import processing.app.legacy.PApplet; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.util.HashMap; -public class PdeKeywords extends CTokenMarker { - // lookup table for the TokenMarker subclass, handles coloring - static KeywordMap keywordColoring; +public class PdeKeywords { - // lookup table that maps keywords to their html reference pages - static Hashtable keywordToReference; + // Value is org.fife.ui.rsyntaxtextarea.TokenTypes + private static HashMap keywords = new HashMap(); + private static HashMap keywordToReference = new HashMap(); - public PdeKeywords() { - super(false, getKeywords()); + public static HashMap reload() { + keywords.clear(); + keywordToReference.clear(); + return get(); } + public static HashMap get() { - /** - * Handles loading of keywords file. - *

- * Uses getKeywords() method because that's part of the - * TokenMarker classes. - *

- * It is recommended that a # sign be used for comments - * inside keywords.txt. - */ - static public KeywordMap getKeywords() { - if (keywordColoring == null) { + if (keywords.isEmpty()) { try { - keywordColoring = new KeywordMap(false); - keywordToReference = new Hashtable(); - getKeywords(new File(BaseNoGui.getContentFile("lib"), "keywords.txt")); - for (ContributedLibrary lib : Base.getLibraries()) { - File keywords = new File(lib.getInstalledFolder(), "keywords.txt"); - if (keywords.exists()) getKeywords(keywords); + load(new File(BaseNoGui.getContentFile("lib"), "keywords.txt")); + if (Base.getLibraries() != null) { + for (ContributedLibrary lib : Base.getLibraries()) { + File keywords = new File(lib.getInstalledFolder(), "keywords.txt"); + if (keywords.exists()) load(keywords); + } } } catch (Exception e) { Base.showError("Problem loading keywords", - "Could not load keywords.txt,\n" + - "please re-install Arduino.", e); + "Could not load keywords.txt,\n" + + "please re-install Arduino.", e); System.exit(1); } } - return keywordColoring; + + return keywords; } - - static private void getKeywords(File input) throws IOException { + + static private void load(File input) throws Exception { BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(new FileInputStream(input))); @@ -111,7 +107,40 @@ static private void getKeywords(File input) throws IOException { ((isKey ? Token.KEYWORD1 : Token.LITERAL1) + num); //System.out.println("got " + (isKey ? "keyword" : "literal") + // (num+1) + " for " + keyword); - keywordColoring.add(keyword, id); + + int tokenType = TokenTypes.IDENTIFIER; + + // KEYWORD1 Classes, datatypes, and C++ keywords + // KEYWORD2 Methods and functions + // KEYWORD3 setup and loop functions, as well as the Serial keywords + // LITERAL1 Constants + // LITERAL2 Built-in variables (INPUT,OUTPUT,CHANGE,FALLING) + + switch (id) { + case Token.KEYWORD1: + tokenType = TokenTypes.VARIABLE; + break; + case Token.KEYWORD2: + tokenType = TokenTypes.FUNCTION; + break; + case Token.KEYWORD3: + tokenType = TokenTypes.RESERVED_WORD; + break; + case Token.LITERAL1: + tokenType = TokenTypes.PREPROCESSOR; + break; + case Token.LITERAL2: + tokenType = TokenTypes.RESERVED_WORD_2; + break; + default: + break; + } + + if ("true".equals(keyword) || "false".equals(keyword)) { + tokenType = TokenTypes.LITERAL_BOOLEAN; + } + + keywords.put(keyword, tokenType); } if (pieces.length >= 3) { String htmlFilename = pieces[2].trim(); @@ -128,8 +157,8 @@ static private void getKeywords(File input) throws IOException { } } - - static public String getReference(String keyword) { - return (String) keywordToReference.get(keyword); + public static String getReference(String keyword) { + if (keywordToReference == null) return null; + return keywordToReference.get(keyword); } } diff --git a/app/src/processing/app/syntax/SketchTextArea.java b/app/src/processing/app/syntax/SketchTextArea.java new file mode 100644 index 00000000000..61ee6559bbd --- /dev/null +++ b/app/src/processing/app/syntax/SketchTextArea.java @@ -0,0 +1,243 @@ +/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ + +package processing.app.syntax; + +import java.awt.AWTKeyStroke; +import java.awt.KeyboardFocusManager; +import java.awt.event.KeyEvent; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; +import java.util.logging.Logger; + +import javax.swing.JPopupMenu; +import javax.swing.KeyStroke; +import javax.swing.event.HyperlinkEvent; +import javax.swing.text.BadLocationException; +import javax.swing.text.Document; +import javax.swing.text.Segment; +import javax.swing.undo.UndoManager; + +import org.fife.ui.rsyntaxtextarea.*; +import org.fife.ui.rsyntaxtextarea.Token; +import org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip; +import org.fife.ui.rtextarea.RUndoManager; + +import processing.app.Base; +import processing.app.BaseNoGui; +import processing.app.EditorLineStatus; +import processing.app.EditorListener; + +/** + * Arduino Sketch code editor based on RSyntaxTextArea (http://fifesoft.com/rsyntaxtextarea) + * @author Ricardo JL Rufino (ricardo@criativasoft.com.br) + * @date 20/04/2015 + * @since 1.6.4 + */ +public class SketchTextArea extends RSyntaxTextArea { + + private final static Logger LOG = Logger.getLogger(SketchTextArea.class.getName()); + + /** The last docTooltip displayed. */ + private FocusableTip docTooltip; + + /** + * The component that tracks the current line number. + */ + protected EditorLineStatus editorLineStatus; + + private EditorListener editorListener; + + public SketchTextArea() { + super(); + installFeatures(); + } + + + protected void installFeatures(){ + FileInputStream defaultXmlInputStream = null; + try { + defaultXmlInputStream = new FileInputStream(new File(BaseNoGui.getContentFile("lib"), "theme/syntax/default.xml")); + Theme theme = Theme.load(defaultXmlInputStream); + theme.apply(this); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (defaultXmlInputStream != null) { + try { + defaultXmlInputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + setLinkGenerator(new DocLinkGenerator()); + + fixControlTab(); + installTokenMaker(); + } + + // Removing the default focus traversal keys + // This is because the DefaultKeyboardFocusManager handles the keypress and consumes the event + protected void fixControlTab(){ + KeyStroke ctrlTab = KeyStroke.getKeyStroke("ctrl TAB"); + KeyStroke ctrlShiftTab = KeyStroke.getKeyStroke("ctrl shift TAB"); + + // Remove ctrl-tab from normal focus traversal + Set forwardKeys = new HashSet(this.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS)); + forwardKeys.remove(ctrlTab); + this.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, forwardKeys); + + // Remove ctrl-shift-tab from normal focus traversal + Set backwardKeys = new HashSet(this.getFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS)); + backwardKeys.remove(ctrlShiftTab); + } + + + + public void setEditorLineStatus(EditorLineStatus editorLineStatus) { + this.editorLineStatus = editorLineStatus; + } + + @Override + public void select(int selectionStart, int selectionEnd) { + super.select(selectionStart, selectionEnd); + if(editorLineStatus != null) editorLineStatus.set(selectionStart, selectionEnd); + } + + public boolean isSelectionActive() { + return this.getSelectedText() != null; + } + + public void setSelectedText(String text){ + + int old = getTextMode(); + setTextMode(OVERWRITE_MODE); + replaceSelection(text); + setTextMode(old); + + } + + protected void installTokenMaker(){ + AbstractTokenMakerFactory atmf = (AbstractTokenMakerFactory)TokenMakerFactory.getDefaultInstance(); + atmf.putMapping(SYNTAX_STYLE_CPLUSPLUS, "processing.app.syntax.SketchTokenMaker"); + setSyntaxEditingStyle(SYNTAX_STYLE_CPLUSPLUS); + } + + public void processKeyEvent(KeyEvent evt) { + + // this had to be added because the menu key events weren't making it up to the frame. + + switch(evt.getID()) { + case KeyEvent.KEY_TYPED: + if (editorListener != null) editorListener.keyTyped(evt); + break; + case KeyEvent.KEY_PRESSED: + if (editorListener != null) editorListener.keyPressed(evt); + break; + case KeyEvent.KEY_RELEASED: + // inputHandler.keyReleased(evt); + break; + } + + if(!evt.isConsumed()){ + super.processKeyEvent(evt); + } + } + + public void switchDocument(Document document, UndoManager newUndo) { + + // HACK: Dont discard changes on curret UndoManager. + // BUG: https://github.com/bobbylight/RSyntaxTextArea/issues/84 + setUndoManager(null); // bypass reset current undo manager... + + super.setDocument(document); + + setUndoManager((RUndoManager) newUndo); + + // HACK: Complement previous hack (hide code folding on switch) | Drawback: Lose folding state +// if(sketch.getCodeCount() > 1 && textarea.isCodeFoldingEnabled()){ +// textarea.setCodeFoldingEnabled(false); +// textarea.setCodeFoldingEnabled(true); +// } + + + } + + @Override + protected JPopupMenu createPopupMenu() { + JPopupMenu menu = super.createPopupMenu(); + return menu; + } + + @Override + protected void configurePopupMenu(JPopupMenu popupMenu) { + super.configurePopupMenu(popupMenu); + } + + public void getTextLine(int line, Segment segment) { + try { + int offset = getLineStartOffset(line); + int end = getLineEndOffset(line); + getDocument().getText(offset, end - offset, segment); + } catch (BadLocationException e) { + } + } + + public String getTextLine(int line) { + try { + int offset = getLineStartOffset(line); + int end = getLineEndOffset(line); + return getDocument().getText(offset, end - offset); + } catch (BadLocationException e) { + return null; + } + } + + + public void setEditorListener(EditorListener editorListener) { + this.editorListener = editorListener; + } + + private static class DocLinkGenerator implements LinkGenerator{ + + @Override + public LinkGeneratorResult isLinkAtOffset(RSyntaxTextArea textArea, final int offs) { + + final Token token = textArea.modelToToken(offs); + + final String reference = PdeKeywords.getReference(token.getLexeme()); + + // LOG.fine("reference: " + reference + ", match: " + (token.getType() == TokenTypes.DATA_TYPE || token.getType() == TokenTypes.VARIABLE || token.getType() == TokenTypes.FUNCTION)); + + if(token != null && (reference != null || (token.getType() == TokenTypes.DATA_TYPE || token.getType() == TokenTypes.VARIABLE || token.getType() == TokenTypes.FUNCTION) )){ + + LinkGeneratorResult generatorResult = new LinkGeneratorResult() { + + @Override + public int getSourceOffset() { + return offs; + } + + @Override + public HyperlinkEvent execute() { + + LOG.fine("Open Reference: " + reference); + + Base.showReference("Reference/" + reference); + + return null; + } + }; + + return generatorResult; + } + + return null; + } + }; + +} diff --git a/app/src/processing/app/syntax/SketchTokenMaker.java b/app/src/processing/app/syntax/SketchTokenMaker.java new file mode 100644 index 00000000000..75ffb4fe245 --- /dev/null +++ b/app/src/processing/app/syntax/SketchTokenMaker.java @@ -0,0 +1,121 @@ +/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ + +package processing.app.syntax; + +import java.util.HashMap; +import java.util.Set; + +import org.fife.ui.rsyntaxtextarea.TokenMap; +import org.fife.ui.rsyntaxtextarea.TokenTypes; +import org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker; + +import processing.app.Base; + +/** + * Controls the syntax highlighting of {@link SketchTextArea} based on the {@link PdeKeywords} + * @author Ricardo JL Rufino (ricardo@criativasoft.com.br) + * @date 20/04/2015 + * @since 1.6.4 + */ +public class SketchTokenMaker extends CPlusPlusTokenMaker { + + static TokenMap extraTokens; + + public SketchTokenMaker() { + extraTokens = getKeywords(); + } + + @Override + public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { + // This assumes all of your extra tokens would normally be scanned as IDENTIFIER. + if (tokenType == TokenTypes.IDENTIFIER || tokenType == TokenTypes.DATA_TYPE) { + int newType = extraTokens.get(array, start, end); + if (newType>-1) { + tokenType = newType; + } + } + super.addToken(array, start, end, tokenType, startOffset, hyperlink); + } + + public static void addKeyword(String keyword, int type) { + extraTokens.put(keyword, type); + } + + public void clear() { + extraTokens = new TokenMap(); + } + + + /** + * Handles loading of keywords file. + *

+ * It is recommended that a # sign be used for comments + * inside keywords.txt. + */ + static public TokenMap getKeywords() { + if (extraTokens == null) { + try { + extraTokens = new TokenMap(false); + + extraTokens.put("setup", TokenTypes.RESERVED_WORD); + extraTokens.put("loop", TokenTypes.RESERVED_WORD); + + extraTokens.put("HIGH", TokenTypes.RESERVED_WORD_2); + extraTokens.put("LOW", TokenTypes.RESERVED_WORD_2); + extraTokens.put("OUTPUT", TokenTypes.RESERVED_WORD_2); + extraTokens.put("INPUT", TokenTypes.RESERVED_WORD_2); + extraTokens.put("INPUT_PULLUP", TokenTypes.RESERVED_WORD_2); + + extraTokens.put("CHANGE", TokenTypes.RESERVED_WORD_2); + extraTokens.put("FALLING", TokenTypes.RESERVED_WORD_2); + extraTokens.put("RISING", TokenTypes.RESERVED_WORD_2); + + extraTokens.put("PI", TokenTypes.LITERAL_NUMBER_FLOAT); + extraTokens.put("HALF_PI", TokenTypes.LITERAL_NUMBER_FLOAT); + extraTokens.put("TWO_PI", TokenTypes.LITERAL_NUMBER_FLOAT); + extraTokens.put("DEG_TO_RAD", TokenTypes.LITERAL_NUMBER_FLOAT); + extraTokens.put("RAD_TO_DEG", TokenTypes.LITERAL_NUMBER_FLOAT); + extraTokens.put("EULER", TokenTypes.LITERAL_NUMBER_FLOAT); + + // Print. + extraTokens.put("DEC", TokenTypes.RESERVED_WORD_2); + extraTokens.put("HEX", TokenTypes.RESERVED_WORD_2); + extraTokens.put("OCT", TokenTypes.RESERVED_WORD_2); + extraTokens.put("BIN", TokenTypes.RESERVED_WORD_2); + + extraTokens.put("true", TokenTypes.LITERAL_BOOLEAN); + extraTokens.put("false", TokenTypes.LITERAL_BOOLEAN); + + // Related IO + extraTokens.put("pinMode", TokenTypes.FUNCTION); + extraTokens.put("digitalWrite", TokenTypes.FUNCTION); + extraTokens.put("digitalRead", TokenTypes.FUNCTION); + extraTokens.put("analogRead", TokenTypes.FUNCTION); + extraTokens.put("analogReference", TokenTypes.FUNCTION); + extraTokens.put("analogWrite", TokenTypes.FUNCTION); + + // Others. + extraTokens.put("DIGITAL", TokenTypes.RESERVED_WORD_2); + extraTokens.put("ANALOG", TokenTypes.RESERVED_WORD_2); + + // force load references. + PdeKeywords.reload(); + + + HashMap keywords = PdeKeywords.get(); + Set keys = keywords.keySet(); + for (String key : keys) { + extraTokens.put(key, keywords.get(key)); + } + + } catch (Exception e) { + Base.showError("Problem loading keywords", + "Could not load keywords.txt,\n" + + "please re-install Arduino.", e); + System.exit(1); + } + } + return extraTokens; + } + +} diff --git a/app/src/processing/app/tools/DiscourseFormat.java b/app/src/processing/app/tools/DiscourseFormat.java index a4a381c5a22..75240cb6947 100644 --- a/app/src/processing/app/tools/DiscourseFormat.java +++ b/app/src/processing/app/tools/DiscourseFormat.java @@ -25,11 +25,14 @@ import java.awt.*; import java.awt.datatransfer.*; + +import javax.swing.text.BadLocationException; import javax.swing.text.Segment; +import org.fife.ui.rsyntaxtextarea.Token; + import processing.app.*; import processing.app.syntax.*; -import processing.app.legacy.PApplet; /** * Format for Discourse Tool @@ -44,6 +47,8 @@ *

* Updated for 0144 to only format the selected lines. *

+ * Updated for 1.5.8 - Simplification, using RSyntaxTextArea TokenImpl formatter (08 dec 2014 - Ricardo JL Rufino) + *

* Notes from the original source: * Discourse.java This is a dirty-mix source. * NOTE that: No macs and no keyboard. Unreliable source. @@ -54,7 +59,7 @@ public class DiscourseFormat { private Editor editor; // JTextArea of the actual Editor - private JEditTextArea textarea; + private SketchTextArea textarea; private boolean html; @@ -78,10 +83,16 @@ public void show() { StringBuilder cf = new StringBuilder(html ? "

\n" : "[code]\n");
 
     int selStart = textarea.getSelectionStart();
-    int selStop = textarea.getSelectionStop();
-
-    int startLine = textarea.getSelectionStartLine();
-    int stopLine = textarea.getSelectionStopLine();
+    int selStop = textarea.getSelectionEnd();
+
+    int startLine;
+    int stopLine;
+    try {
+      startLine = textarea.getLineOfOffset(selStart);
+      stopLine = textarea.getLineOfOffset(selStop);
+    } catch (BadLocationException e) {
+      return;
+    }
 
     // If no selection, convert all the lines
     if (selStart == selStop) {
@@ -89,8 +100,11 @@ public void show() {
       stopLine = textarea.getLineCount() - 1;
     } else {
       // Make sure the selection doesn't end at the beginning of the last line
-      if (textarea.getLineStartOffset(stopLine) == selStop) {
-        stopLine--;
+      try {
+        if (textarea.getLineStartOffset(stopLine) == selStop) {
+          stopLine--;
+        }
+      } catch (BadLocationException e) {
       }
     }
 
@@ -139,23 +153,15 @@ private void appendToHTML(char c, StringBuilder buffer) {
   public void appendFormattedLine(StringBuilder cf, int line) {
     Segment segment = new Segment();
 
-    TextAreaPainter painter = textarea.getPainter();
-    TokenMarker tokenMarker = textarea.getTokenMarker();
-
-    // Use painter's cached info for speed
-//    FontMetrics fm = painter.getFontMetrics();
-
     // get line text from parent text area
-    textarea.getLineText(line, segment);
-
+    textarea.getTextLine(line, segment);
+    
     char[] segmentArray = segment.array;
-    int limit = segment.getEndIndex();
     int segmentOffset = segment.offset;
     int segmentCount = segment.count;
 //    int width = 0;
 
-    // If syntax coloring is disabled, do simple translation
-    if (tokenMarker == null) {
+    if (!html) {
       for (int j = 0; j < segmentCount; j++) {
         char c = segmentArray[j + segmentOffset];
         appendToHTML(c, cf);
@@ -169,82 +175,19 @@ public void appendFormattedLine(StringBuilder cf, int line) {
       }
 
     } else {
-      // If syntax coloring is enabled, we have to do this
-      // because tokens can vary in width
-      Token tokens;
-      if ((painter.getCurrentLineIndex() == line) &&
-          (painter.getCurrentLineTokens() != null)) {
-        tokens = painter.getCurrentLineTokens();
-
-      } else {
-        painter.setCurrentLineIndex(line);
-        painter.setCurrentLineTokens(tokenMarker.markTokens(segment, line));
-        tokens = painter.getCurrentLineTokens();
-      }
-
-      int offset = 0;
-//      Font defaultFont = painter.getFont();
-      SyntaxStyle[] styles = painter.getStyles();
-
-      for (;;) {
-        byte id = tokens.id;
-        if (id == Token.END) {
-          char c = segmentArray[segmentOffset + offset];
-          if (segmentOffset + offset < limit) {
-            appendToHTML(c, cf);
-          } else {
-            cf.append('\n');
-          }
-          return; // cf.toString();
-        }
-        if (id == Token.NULL) {
-//          fm = painter.getFontMetrics();
-        } else {
-          // Place open tags []
-          if (html) {
-            cf.append("");
-          }
-
-          if (html && styles[id].isBold())
-            cf.append("");
-
-//          fm = styles[id].getFontMetrics(defaultFont);
-        }
-        int length = tokens.length;
-
-        for (int j = 0; j < length; j++) {
-          char c = segmentArray[segmentOffset + offset + j];
-          if (offset == 0 && c == ' ') {
-            // Works on Safari but not Camino 1.6.3 or Firefox 2.x on OS X.
-            cf.append(html ? " " : '\u00A0');  //  
-//            if ((j % 2) == 1) {
-//              cf.append("[b]\u00A0[/b]");
-//            } else {
-//              cf.append(' ');
-//            }
-          } else {
-            appendToHTML(c, cf);
-          }
-          // Place close tags [/]
-          if (html && j == (length - 1) && id != Token.NULL && styles[id].isBold())
-            cf.append("");
-          if (html && j == (length - 1) && id != Token.NULL)
-            cf.append("");
-//          int charWidth;
-//          if (c == '\t') {
-//            charWidth = (int) painter
-//              .nextTabStop(width, offset + j)
-//              - width;
-//          } else {
-//            charWidth = fm.charWidth(c);
-//          }
-//          width += charWidth;
+      
+      Token tokenList = textarea.getTokenListForLine(line);
+      
+      while(tokenList != null){
+        if(tokenList.getType() == Token.NULL){
+          cf.append('\n');
+        }else if(tokenList.isPaintable()){
+          tokenList.appendHTMLRepresentation(cf, textarea, false);
         }
-        offset += length;
-        tokens = tokens.next;
+        
+        tokenList = tokenList.getNextToken();
       }
+  
     }
   }
 }

From 557739ef3786fb20d01f4be8c4404c5c71006414 Mon Sep 17 00:00:00 2001
From: "ricardo.jl.rufino" 
Date: Wed, 22 Apr 2015 14:14:40 -0300
Subject: [PATCH 11/29] update classpath - add new dependency

---
 app/.classpath | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/.classpath b/app/.classpath
index 326de565678..1491af0b6cb 100644
--- a/app/.classpath
+++ b/app/.classpath
@@ -31,5 +31,6 @@
 	
 	
 	
+	
 	
 

From 8603c9bacc4d1c434fe7f013c1eaf3444ea48f53 Mon Sep 17 00:00:00 2001
From: "ricardo.jl.rufino" 
Date: Wed, 22 Apr 2015 15:15:14 -0300
Subject: [PATCH 12/29] make editor folding happy

---
 build/shared/examples/01.Basics/BareMinimum/BareMinimum.ino | 1 +
 1 file changed, 1 insertion(+)

diff --git a/build/shared/examples/01.Basics/BareMinimum/BareMinimum.ino b/build/shared/examples/01.Basics/BareMinimum/BareMinimum.ino
index 95c2b6eb0a8..c8d23d53fd0 100644
--- a/build/shared/examples/01.Basics/BareMinimum/BareMinimum.ino
+++ b/build/shared/examples/01.Basics/BareMinimum/BareMinimum.ino
@@ -1,3 +1,4 @@
+
 void setup() {
   // put your setup code here, to run once:
 

From 79539e66a9241718a22a0d7ebc89d13ec90cb0e3 Mon Sep 17 00:00:00 2001
From: "ricardo.jl.rufino" 
Date: Wed, 22 Apr 2015 16:57:12 -0300
Subject: [PATCH 13/29] remove not used interface

---
 app/src/processing/app/SketchCodeDocument.java | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/app/src/processing/app/SketchCodeDocument.java b/app/src/processing/app/SketchCodeDocument.java
index dd3054777a8..681f0af9151 100644
--- a/app/src/processing/app/SketchCodeDocument.java
+++ b/app/src/processing/app/SketchCodeDocument.java
@@ -2,16 +2,12 @@
 
 import java.io.File;
 
-import javax.swing.Action;
-import javax.swing.SwingUtilities;
 import javax.swing.event.DocumentEvent;
 import javax.swing.event.DocumentListener;
 import javax.swing.text.Document;
 import javax.swing.undo.UndoManager;
 
-import org.fife.ui.rtextarea.RTextArea;
-
-public class SketchCodeDocument implements SketchDocumentProvider, DocumentListener{
+public class SketchCodeDocument implements DocumentListener{
 
   private SketchCode code;
   private Sketch sketch;

From cbcc41ee9cadd797dbbbdd54f95e2ed5928cdb27 Mon Sep 17 00:00:00 2001
From: "ricardo.jl.rufino" 
Date: Wed, 22 Apr 2015 16:57:34 -0300
Subject: [PATCH 14/29] preferences for syntax highlighting theme

---
 app/src/processing/app/Editor.java            | 11 ++-
 app/src/processing/app/Preferences.java       | 22 ++++++
 .../processing/app/syntax/SketchTextArea.java | 22 +++---
 build/shared/lib/preferences.txt              |  2 +
 build/shared/lib/theme/syntax/dark.xml        | 78 +++++++++++++++++++
 build/shared/lib/theme/syntax/default.xml     | 69 ++++++++++++++++
 6 files changed, 190 insertions(+), 14 deletions(-)
 create mode 100644 build/shared/lib/theme/syntax/dark.xml
 create mode 100644 build/shared/lib/theme/syntax/default.xml

diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java
index 3adc8464470..bc751a265fe 100644
--- a/app/src/processing/app/Editor.java
+++ b/app/src/processing/app/Editor.java
@@ -262,11 +262,11 @@ public void windowDeactivated(WindowEvent e) {
     lineStatus = new EditorLineStatus(textarea);
     consolePanel.add(lineStatus, BorderLayout.SOUTH);
 
-    //scrollPane = new RTextScrollPane(textarea);
-    
+    // RTextScrollPane
     scrollPane = new RTextScrollPane(textarea, true);
     scrollPane.setViewportBorder(BorderFactory.createEmptyBorder());
-    scrollPane.setIconRowHeaderEnabled(true);
+    scrollPane.setLineNumbersEnabled(Preferences.getBoolean("editor.linenumbers"));
+    scrollPane.setIconRowHeaderEnabled(false);
     
     Gutter gutter = scrollPane.getGutter();
     gutter.setBookmarkingEnabled(false);
@@ -459,7 +459,7 @@ protected void applyPreferences() {
     saveMenuItem.setEnabled(!external);
     saveAsMenuItem.setEnabled(!external);
 
-    textarea.setMarginLineEnabled(PreferencesData.getBoolean("editor.linenumbers"));
+    scrollPane.setLineNumbersEnabled(PreferencesData.getBoolean("editor.linenumbers"));
 
     if (external) {
       // disable line highlight and turn off the caret when disabling
@@ -488,6 +488,8 @@ protected void applyPreferences() {
     //sketchbook.rebuildMenus();
     // For 0126, moved into Base, which will notify all editors.
     //base.rebuildMenusAsync();
+    
+    textarea.setTheme(Preferences.get("editor.syntax_theme"));
   }
 
 
@@ -923,6 +925,7 @@ protected SketchTextArea createTextArea(){
       SketchTextArea textArea = new SketchTextArea();
       textArea.requestFocusInWindow();
       textArea.setMarkOccurrences(true);
+      textArea.setMarginLineEnabled(false);
       textArea.setCodeFoldingEnabled(PreferencesData.getBoolean("editor.codefolding"));
       textArea.setAntiAliasingEnabled(PreferencesData.getBoolean("editor.antialias"));
 //      textArea.setClearWhitespaceLinesEnabled(false);
diff --git a/app/src/processing/app/Preferences.java b/app/src/processing/app/Preferences.java
index e951f3e4623..dd5da7eaab8 100644
--- a/app/src/processing/app/Preferences.java
+++ b/app/src/processing/app/Preferences.java
@@ -230,6 +230,7 @@ public String toString() {
   JCheckBox autoAssociateBox;
   JComboBox comboLanguage;
   JComboBox comboWarnings;
+  JComboBox comboSyntaxThemes;
   JCheckBox saveVerifyUploadBox;
   JTextField proxyHTTPServer;
   JTextField proxyHTTPPort;
@@ -357,7 +358,27 @@ public void actionPerformed(ActionEvent e) {
     fontSizeField.setText(String.valueOf(editorFont.getSize()));
     top += d.height + GUI_BETWEEN;
 
+    // Syntax Coloring [    ]
 
+    box = Box.createHorizontalBox();
+    label = new JLabel(_("Syntax Coloring: "));
+    box.add(label);
+    String[] syntaxThemes = new String[]{"default","dark"};
+    comboSyntaxThemes = new JComboBox(syntaxThemes);
+    String currentTheme = PreferencesData.get("editor.syntax_theme", "default");
+    for (String item : syntaxThemes) {
+      if (currentTheme.equals(item)) {
+        comboSyntaxThemes.setSelectedItem(item);
+      }
+    }
+    box.add(comboSyntaxThemes);
+    pane.add(box);
+    d = box.getPreferredSize();
+    box.setForeground(Color.gray);
+    box.setBounds(left, top, d.width, d.height);
+    right = Math.max(right, left + d.width);
+    top += d.height + GUI_BETWEEN;
+    
     // Show verbose output during: [ ] compilation [ ] upload
 
     box = Box.createHorizontalBox();
@@ -746,6 +767,7 @@ protected void applyFrame() {
       PreferencesData.set("sketchbook.path", newPath);
     }
 
+    PreferencesData.set("editor.syntax_theme", comboSyntaxThemes.getSelectedItem().toString());
     PreferencesData.setBoolean("editor.external", externalEditorBox.isSelected());
     PreferencesData.setBoolean("update.check", checkUpdatesBox.isSelected());
     PreferencesData.setBoolean("editor.save_on_verify", saveVerifyUploadBox.isSelected());
diff --git a/app/src/processing/app/syntax/SketchTextArea.java b/app/src/processing/app/syntax/SketchTextArea.java
index 61ee6559bbd..aff5adb5f2c 100644
--- a/app/src/processing/app/syntax/SketchTextArea.java
+++ b/app/src/processing/app/syntax/SketchTextArea.java
@@ -21,14 +21,12 @@
 import javax.swing.undo.UndoManager;
 
 import org.fife.ui.rsyntaxtextarea.*;
+import org.fife.ui.rsyntaxtextarea.Theme;
 import org.fife.ui.rsyntaxtextarea.Token;
 import org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip;
 import org.fife.ui.rtextarea.RUndoManager;
 
-import processing.app.Base;
-import processing.app.BaseNoGui;
-import processing.app.EditorLineStatus;
-import processing.app.EditorListener;
+import processing.app.*;
 
 /**
  * Arduino Sketch code editor based on RSyntaxTextArea (http://fifesoft.com/rsyntaxtextarea)
@@ -57,9 +55,18 @@ public SketchTextArea() {
   
   
   protected void installFeatures(){
+    setTheme(PreferencesData.get("editor.syntax_theme", "default"));
+
+    setLinkGenerator(new DocLinkGenerator());
+    
+    fixControlTab();
+    installTokenMaker();  
+  }
+  
+  public void setTheme(String name){
     FileInputStream defaultXmlInputStream = null;
     try {
-      defaultXmlInputStream = new FileInputStream(new File(BaseNoGui.getContentFile("lib"), "theme/syntax/default.xml"));
+      defaultXmlInputStream = new FileInputStream(new File(BaseNoGui.getContentFile("lib"), "theme/syntax/"+name+".xml"));
       Theme theme = Theme.load(defaultXmlInputStream);
       theme.apply(this);
     } catch (IOException e) {
@@ -73,11 +80,6 @@ protected void installFeatures(){
         }
       }
     }
-    
-    setLinkGenerator(new DocLinkGenerator());
-    
-    fixControlTab();
-    installTokenMaker();  
   }
   
   // Removing the default focus traversal keys
diff --git a/build/shared/lib/preferences.txt b/build/shared/lib/preferences.txt
index 5dfde1ce28d..27c45c52e3a 100644
--- a/build/shared/lib/preferences.txt
+++ b/build/shared/lib/preferences.txt
@@ -86,6 +86,8 @@ editor.window.height.min = 290
 # tested to be 515 on Windows XP, this leaves some room
 #editor.window.height.min.windows = 530
 
+# Syntax coloring  ( on lib/theme/syntax )
+editor.syntax_theme = default
 
 # font size for editor
 editor.font=Monospaced,plain,12
diff --git a/build/shared/lib/theme/syntax/dark.xml b/build/shared/lib/theme/syntax/dark.xml
new file mode 100644
index 00000000000..c9283f38d3d
--- /dev/null
+++ b/build/shared/lib/theme/syntax/dark.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+    
+   
+   
+   
+   
+      
+      
+      
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+