fix shift-tab quirk (issue #458)

This commit is contained in:
benfry
2011-04-16 20:28:23 +00:00
parent 05aa42c313
commit 708bf83f1d
4 changed files with 39 additions and 84 deletions
+2
View File
@@ -5,6 +5,8 @@ X Build an interface for control of permissions on Android
X http://code.google.com/p/processing/issues/detail?id=275
X Implement createGraphics()
X http://code.google.com/p/processing/issues/detail?id=240
X Android 0192 sketch in static mode crashes on exit
X http://code.google.com/p/processing/issues/detail?id=518
_ go through all basics/topics examples
@@ -213,70 +213,19 @@ public class PdeKeyListener {
switch ((int) c) {
case 9: // TAB
if (textarea.isSelectionActive()) {
if ((event.getModifiers() & KeyEvent.SHIFT_MASK) == 0) {
editor.handleIndent();
} else {
editor.handleOutdent();
}
if ((event.getModifiers() & KeyEvent.SHIFT_MASK) != 0) {
// if shift is down, the user always expects an outdent
// http://code.google.com/p/processing/issues/detail?id=458
editor.handleOutdent();
} else if (textarea.isSelectionActive()) {
editor.handleIndent();
} else if (Preferences.getBoolean("editor.tabs.expand")) {
int tabSize = Preferences.getInteger("editor.tabs.size");
textarea.setSelectedText(spaces(tabSize));
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;
+24 -23
View File
@@ -3,10 +3,12 @@ o textAlign(RIGHT) is shutting off native fonts
o makes salaryper super ugly
X i think this must have been fixed?
X fix minor native fonts issue
_ image resizing is ugly (just use java2d?)
_ also deal with copy()/blend() inaccuracies
_ http://code.google.com/p/processing/issues/detail?id=332
o updatePixels() is slow to create a BufferedImage
o therefore the incomplete rendering
o could this be an issue fixed by a MediaTracker?
o first line of applets is missing on java 1.4+ on the mac
X http://dev.processing.org/bugs/show_bug.cgi?id=283
o make the PFont index lookup use numbers up to 256?
for 2.0
@@ -27,6 +29,24 @@ _ clean up filter stuff?
_ filter(GRAY) -> to push things to luminosity-based gray
_ filter(MASK, ...) -> or ALPHA?
_ filter(TINT, tintColor)
_ post() is called after setup() (make decision)
_ http://code.google.com/p/processing/issues/detail?id=455
_ image resizing is ugly (just use java2d?)
_ also deal with copy()/blend() inaccuracies
_ http://code.google.com/p/processing/issues/detail?id=332
_ implement a more efficient version of blend()
_ http://dev.processing.org/bugs/show_bug.cgi?id=942
_ blend() bugs with identically-sized images
_ http://code.google.com/p/processing/issues/detail?id=285
_ transparency issue with JAVA2D
_ http://dev.processing.org/bugs/show_bug.cgi?id=1280
_ http://code.google.com/p/processing/issues/detail?id=182
o filter() doesn't need a loadPixels
o but if you want to filter *and* mess w/ pixels (avoid double load)
o then do loadPixels() /before/ filter, and updatePixels after messing
o same will go for blend()
_ make sure that filter, blend, copy, etc say that no loadPixels necessary
_ clipping
_ http://mrl.nyu.edu/~perlin/experiments/borg/render/index.html
@@ -67,9 +87,6 @@ _ http://dev.processing.org/bugs/show_bug.cgi?id=1504
_ new PGraphics(... OutputStream)
_ http://dev.processing.org/bugs/show_bug.cgi?id=1502
_ transparency issue (might just be a bug in their code?)
_ http://dev.processing.org/bugs/show_bug.cgi?id=1280
_ http://code.google.com/p/processing/issues/detail?id=182
_ need to make sure the createFont() reference is up to date for charset
@@ -181,8 +198,6 @@ _ need to say "no drawing inside mouse/key events w/ noLoop"
_ redraw() doesn't work from within draw()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1363
_ make the index lookup use numbers up to 256?
_ decide whether to keep:
_ public float textWidth(char[] chars, int start, int length)
@@ -276,11 +291,6 @@ _ or it's the PGraphics object, which does an updatePixels() immediately
_ if (modified) don't loadPixels again, just ignore it
_ make a note that updatePixels() only sets a flag in PImage
_ (but not PGraphics, which does it immediately)
o filter() doesn't need a loadPixels
o but if you want to filter *and* mess w/ pixels (avoid double load)
o then do loadPixels() /before/ filter, and updatePixels after messing
o same will go for blend()
_ make sure that filter, blend, copy, etc say that no loadPixels necessary
rework some text/font code [1.0]
@@ -580,8 +590,6 @@ _ http://dev.processing.org/bugs/show_bug.cgi?id=1420
_ improve blend() accuracy when using ADD
_ http://code.google.com/p/processing/issues/detail?id=133
_ includes code for a slow but more accurate mode
_ blend() bugs with identically-sized images
_ http://code.google.com/p/processing/issues/detail?id=285
_ for a PGraphics2D, should its image cache object be the memoryimagesource?
_ loading lots of images is a problem, describe how to unload
_ is it possible? necessary to call delay(5) or something?
@@ -595,9 +603,6 @@ _ http://dev.processing.org/bugs/show_bug.cgi?id=342
_ when drawing an image, sense whether drawn rotated
_ specifically, if drawn rotated 90 in either direction, or 180
_ if just rotate/translate, then can use SCREEN_SPACE for fonts
_ updatePixels() is slow to create a BufferedImage
_ therefore the incomplete rendering
_ could this be an issue fixed by a MediaTracker?
_ should smoothing not be turned on by default? handle this where?
_ http://dev.processing.org/bugs/show_bug.cgi?id=1195
@@ -645,8 +650,6 @@ _ set the application name to sketch name (not processing.core.PApplet)
_ System.setProperty("com.apple.mrj.application.apple.menu.about.name", ...)
_ -Xdock:name=<application name>
_ -Xdock:icon=<path to icon file>
_ first line of applets is missing on java 1.4+ on the mac
_ http://dev.processing.org/bugs/show_bug.cgi?id=283
_ cursor() broken in applets on macosx?
_ or is it a java 1.4 versus java 1.3 problem?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081645955
@@ -685,8 +688,6 @@ _ implement setImpl() instead of set() inside PGraphicsOpenGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=943
_ use glCopyPixels() or glReadPixels() instead of copy() method
_ http://dev.processing.org/bugs/show_bug.cgi?id=941
_ implement a more efficient version of blend()
_ http://dev.processing.org/bugs/show_bug.cgi?id=942
_ copy() does not update the screen with OpenGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=933
_ set() requires updatePixels() with OpenGL
+5 -2
View File
@@ -11,6 +11,11 @@ X http://dev.processing.org/bugs/show_bug.cgi?id=810
X http://code.google.com/p/processing/issues/detail?id=100
X fix bug in loadfile2 example
X http://code.google.com/p/processing/issues/detail?id=522
o when running with external editor, hide the editor text area
o http://dev.processing.org/bugs/show_bug.cgi?id=20
X http://code.google.com/p/processing/issues/detail?id=9
X shift-indent without selection increases indention
X http://code.google.com/p/processing/issues/detail?id=458
_ allow more than one sketch to run at a time
_ help casey re-export all applets for the site
@@ -970,8 +975,6 @@ _ unchecking 'use external editor' sketch should not set modified
_ dangerous if a version that hasn't been re-loaded has possibility
_ to overwrite. i.e. make a change and save in external editor,
_ don't actually
_ when running with external editor, hide the editor text area
_ http://dev.processing.org/bugs/show_bug.cgi?id=20
_ add mnemonics for menus (alt-f to open 'file')
_ http://code.google.com/p/processing/issues/detail?id=12
_ option to just print all code in project