diff --git a/app/build.xml b/app/build.xml
index cf86a0e11..24b114602 100644
--- a/app/build.xml
+++ b/app/build.xml
@@ -116,6 +116,7 @@
+
diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java
index d36d7ceac..8b22e0979 100644
--- a/app/src/processing/app/Base.java
+++ b/app/src/processing/app/Base.java
@@ -209,14 +209,20 @@ public class Base {
public Base(String[] args) {
+ // Get the sketchbook path, and make sure it's set properly
+ determineSketchbookFolder();
+
+ // Make sure ThinkDifferent has library examples too
+ defaultMode.rebuildLibraryList();
+
// Put this after loading the examples, so that building the default file
- // menu works on Mac OS X (since it needs examplesFolder to be set).
+ // menu works on Mac OS X (since it needs examplesFolder to be set).
platform.init(this);
toolsFolder = getContentFile("tools");
- // Get the sketchbook path, and make sure it's set properly
- determineSketchbookFolder();
+// // Get the sketchbook path, and make sure it's set properly
+// determineSketchbookFolder();
// Check if there were previously opened sketches to be restored
boolean opened = restoreSketches();
@@ -966,10 +972,10 @@ public class Base {
}
- protected void rebuildSketchbookMenu() { //JMenu menu) {
- //System.out.println("rebuilding sketchbook menu");
- //new Exception().printStackTrace();
+ protected void rebuildSketchbookMenu() {
try {
+ System.err.println("sketchbook: " + sketchbookFolder);
+
sketchbookMenu.removeAll();
addSketches(sketchbookMenu, sketchbookFolder, false);
} catch (IOException e) {
@@ -1361,6 +1367,7 @@ public class Base {
sketchbookFolder.mkdirs();
}
}
+ System.err.println("sketchbook: " + sketchbookFolder);
}
diff --git a/app/src/processing/app/EditorToolbar.java b/app/src/processing/app/EditorToolbar.java
index 1acfca00a..26f97cee7 100644
--- a/app/src/processing/app/EditorToolbar.java
+++ b/app/src/processing/app/EditorToolbar.java
@@ -134,8 +134,9 @@ public abstract class EditorToolbar extends JComponent implements MouseInputList
public Image[][] loadImages() {
// Image allButtons = Base.getThemeImage("buttons.gif", this);
// Image allButtons = Base.loadImage(file);
- Image allButtons = mode.loadImage("buttons.gif");
+ Image allButtons = mode.loadImage("theme/buttons.gif");
int count = allButtons.getWidth(this) / BUTTON_WIDTH;
+// System.out.println("width is " + allButtons.getWidth(this));
Image[][] buttonImages = new Image[count][3];
for (int i = 0; i < count; i++) {
diff --git a/app/src/processing/app/Mode.java b/app/src/processing/app/Mode.java
index 7fd5117b0..4b69003c5 100644
--- a/app/src/processing/app/Mode.java
+++ b/app/src/processing/app/Mode.java
@@ -84,6 +84,8 @@ public abstract class Mode {
public void rebuildLibraryList() {
+ System.out.println("rebuildLibraryList()");
+
// reset the table mapping imports to libraries
importToLibraryTable = new HashMap();
@@ -224,6 +226,7 @@ public abstract class Mode {
//base.addSketches(menu, examplesFolder, false);
// break down the examples folder for examples
+ System.out.println("checking examples folder " + examplesFolder);
File[] subfolders = examplesFolder.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return dir.isDirectory() && name.charAt(0) != '.';
diff --git a/app/src/processing/app/syntax/PdeKeywords.java b/app/src/processing/app/syntax/PdeKeywords.java
index 69ea18e8f..ea7692e31 100644
--- a/app/src/processing/app/syntax/PdeKeywords.java
+++ b/app/src/processing/app/syntax/PdeKeywords.java
@@ -101,6 +101,9 @@ public class PdeKeywords extends TokenMarker {
* @param coloring one of KEYWORD1, KEYWORD2, LITERAL1, etc.
*/
public void addColoring(String keyword, String coloring) {
+ if (keywordColoring == null) {
+ keywordColoring = new KeywordMap(true);
+ }
// text will be KEYWORD or LITERAL
boolean isKey = (coloring.charAt(0) == 'K');
// KEYWORD1 -> 0, KEYWORD2 -> 1, etc
diff --git a/app/src/processing/mode/java/JavaMode.java b/app/src/processing/mode/java/JavaMode.java
index 18d44d8ba..e32378779 100644
--- a/app/src/processing/mode/java/JavaMode.java
+++ b/app/src/processing/mode/java/JavaMode.java
@@ -63,7 +63,7 @@ public class JavaMode extends Mode {
}
try {
- theme = new Settings(new File(folder, "theme.txt"));
+ theme = new Settings(new File(folder, "theme/theme.txt"));
} catch (IOException e) {
Base.showError("Problem loading theme.txt",
"Could not load theme.txt, please re-install Processing", e);
diff --git a/build/build.xml b/build/build.xml
index ab108ee69..67bed494e 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -104,38 +104,42 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -248,6 +252,7 @@
+
@@ -337,6 +342,7 @@
+
@@ -448,6 +454,7 @@ http://www.gnu.org/software/tar/manual/html_section/transform.html
+
diff --git a/todo.txt b/todo.txt
index 856f896fd..c793ccc98 100644
--- a/todo.txt
+++ b/todo.txt
@@ -39,6 +39,9 @@ o message(new String(b, offset, length), err, false);
o http://code.google.com/p/processing/issues/detail?id=197
X couldn't find a good way to reproduce this, closing
+_ can't do fileMenu.add(base.getSketchbookMenu()); inside ThinkDifferent
+_ sketchbook location hasn't been determined yet
+
_ add splash image on os x
If you want a bundled app to show a splash screen you can do so by adding an entry named SplashFile to the Java section of the Info.plist:
SplashFile