diff --git a/core/todo.txt b/core/todo.txt index 16473161b6..218867974d 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -141,6 +141,10 @@ _ add to the API docs _ decide on getAmount() and weirdness w/ clickCount _ get mouseWheel() added to api ref _ also added to keywords.txt +_ JOGL might be reporting backwards values +_ action WHEEL only set with OpenGL? + +_ make hint(ENABLE_STROKE_PURE) the default andres _ P2D/P3D sketches don't get focus until click diff --git a/experimental/src/processing/mode/experimental/ErrorCheckerService.java b/experimental/src/processing/mode/experimental/ErrorCheckerService.java index c43bd7ef1e..c3419aacbb 100755 --- a/experimental/src/processing/mode/experimental/ErrorCheckerService.java +++ b/experimental/src/processing/mode/experimental/ErrorCheckerService.java @@ -10,6 +10,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -221,6 +222,11 @@ public void run() { }); } + /** + * checkCode() only on text area update + */ + protected AtomicInteger textModified = new AtomicInteger(0); + public void run() { stopThread = false; @@ -237,12 +243,18 @@ public void run() { if (pauseThread) continue; + if(textModified.get() == 0) + continue; + // Check every x seconds checkCode(); } } + + + private boolean checkCode() { lastTimeStamp = System.currentTimeMillis(); @@ -270,6 +282,17 @@ private boolean checkCode() { editor.updateErrorBar(problemsList); updateEditorStatus(); updateTextAreaPainter(); + int x = textModified.get(); + //System.out.println("TM " + x); + if(x>=3){ + textModified.set(3); + x = 3; + } + + if(x>0) + textModified.set(x - 1); + else + textModified.set(0); return true; } catch (Exception e) { diff --git a/experimental/src/processing/mode/experimental/TextArea.java b/experimental/src/processing/mode/experimental/TextArea.java index e8bb829915..87722498a7 100755 --- a/experimental/src/processing/mode/experimental/TextArea.java +++ b/experimental/src/processing/mode/experimental/TextArea.java @@ -21,6 +21,7 @@ import java.awt.Cursor; import java.awt.FontMetrics; import java.awt.event.ComponentListener; +import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; @@ -50,6 +51,7 @@ public class TextArea extends JEditTextArea { protected Map gutterText = new HashMap(); // maps line index to gutter text protected Map gutterTextColors = new HashMap(); // maps line index to gutter text color protected TextAreaPainter customPainter; + protected ErrorCheckerService errorCheckerService; public TextArea(TextAreaDefaults defaults, DebugEditor editor) { super(defaults); @@ -99,7 +101,15 @@ public TextArea(TextAreaDefaults defaults, DebugEditor editor) { */ public void setECSandThemeforTextArea(ErrorCheckerService ecs, ExperimentalMode mode) { - customPainter.setECSandTheme(ecs, mode); + errorCheckerService = ecs; + customPainter.setECSandTheme(ecs, mode); + } + + public void processKeyEvent(KeyEvent evt) { + super.processKeyEvent(evt); + if(evt.getID() == KeyEvent.KEY_TYPED){ + errorCheckerService.textModified.incrementAndGet(); + } } /**