From 68f63fdfacda9d05b277aec7b2d1bc8d3060b0c7 Mon Sep 17 00:00:00 2001 From: benfry Date: Fri, 28 Sep 2001 21:20:44 +0000 Subject: [PATCH] random fixes heading towards rev 9 --- app/PdeApplication.java | 68 ----------------------------------------- app/PdeEditor.java | 5 +++ app/PdeRunner.java | 14 ++++----- todo.txt | 61 ++++++++++++++++++++++++------------ 4 files changed, 53 insertions(+), 95 deletions(-) diff --git a/app/PdeApplication.java b/app/PdeApplication.java index 477cdcb23..bc4e644fe 100644 --- a/app/PdeApplication.java +++ b/app/PdeApplication.java @@ -61,74 +61,6 @@ implements ActionListener frame.add("Center", this); init(); - /* - // check for updates from the server, if enabled - if (getBoolean("update.enabled", false)) { - // open the update file to get the latest version - long lastUpdate = 0; - try { - DataInputStream dis = new DataInputStream(new FileInputStream("lib/version")); - lastUpdate = dis.readLong(); - } catch (IOException e) { } - - String baseUrl = get("update.url"); - try { - URL url = new URL(baseUrl + "version"); - URLConnection conn = url.openConnection(); - //conn.connect(); - - //System.out.println("date of last update" + conn.getDate()); - long newDate = conn.getDate(); - if (newDate > lastUpdate) { - System.out.println("new update available"); - - DataOutputStream vos = - new DataOutputStream(new FileOutputStream("lib/version.update")); - vos.writeLong(newDate); - vos.flush(); - vos.close(); - - url = new URL(baseUrl + "pde.jar"); - conn = url.openConnection(); - - // move the old pde.jar file out of the way - //File pdeJar = new File("lib/pde.jar"); - //pdeJar.renameTo("lib/pde.old.jar"); - - // download the new pde.jar file - FileOutputStream os = new FileOutputStream("lib/pde.jar.update"); - //Object object = conn.getContent(); - //System.out.println(object); - InputStream is = conn.getInputStream(); - copyStream(is, os); - os.close(); - - // if everything copied ok, rename new/old files - // this probably needs to be way more bulletproof - File file = new File("lib/version"); - if (file.exists()) file.renameTo(new File("lib/version.old")); - file = new File("lib/version.update"); - file.renameTo(new File("lib/version")); - - file = new File("lib/pde.jar"); - file.renameTo(new File("lib/pde.jar.old")); - file = new File("lib/pde.jar.update"); - file.renameTo(new File("lib/pde.jar")); - - // restart or relaunch - System.out.println("done copying new version, restart"); - System.exit(0); - } - - } catch (IOException e1) { - e1.printStackTrace(); - - //} catch (MalformedURLException e2) { - //e2.printStackTrace(); - } - } - */ - Insets insets = frame.getInsets(); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screen = tk.getScreenSize(); diff --git a/app/PdeEditor.java b/app/PdeEditor.java index 618c6f91a..aa5d7887c 100644 --- a/app/PdeEditor.java +++ b/app/PdeEditor.java @@ -753,6 +753,11 @@ public class PdeEditor extends Panel implements PdeEnvironment { // unless there's a method in AppletContext if (frame != null) frame.toFront(); + try { + //System.out.println("my parent is " + getParent()); + ((PdeApplication)getParent()).frame.toFront(); + } catch (Exception e) { } + try { ((KjcEngine)(runner.engine)).window.toFront(); } catch (Exception e) { diff --git a/app/PdeRunner.java b/app/PdeRunner.java index d1b25d13c..1375ce0be 100644 --- a/app/PdeRunner.java +++ b/app/PdeRunner.java @@ -78,13 +78,13 @@ public class PdeRunner implements Runnable { #endif */ - } else if (program.indexOf("extends ProcessingApplet") != -1) { -#ifdef JAVAC - engine = new JavacEngine(program, graphics); - engine.start(); -#else - throw new Exception("javac support not included"); -#endif + // } else if (program.indexOf("extends ProcessingApplet") != -1) { + //#ifdef JAVAC + // engine = new JavacEngine(program, graphics); + // engine.start(); + //#else + // throw new Exception("javac support not included"); + //#endif } else if (program.indexOf("// dbn") == 0) { #ifdef DBN diff --git a/todo.txt b/todo.txt index bac41fff7..2efe9adfc 100644 --- a/todo.txt +++ b/todo.txt @@ -3,36 +3,57 @@ iprocessing todo list // last updated 17 september 2001 for 0009 -_ ability to include other code from sketchbook directory -_ stop required before kill for applets that use serial -_ this is behaving strangely +X bagel fixes +X beginShape(POINTS) is not working, no marks are appearing +X this was a pain in the ass to fix +X beginShape(LINE_LOOP) is not looping around +X stroked POLYGON should emulate a LINE_LOOP +X fill white, stroke black, background white default in bagel +X remove duplicates: LINE/LINES etc +X 'draw mode' applet support +X 'advanced' applet support +_ write documentation about having to use 'extends KjcProcessingApplet' _ option to enable/disable frame -_ new objects draw behind old objects with noBackground() +_ add a note about editor.expandTabs,balanceParens,tabSize,autoIndent +_ also add note about paren balancing doing strange things +_ leave the others turned on, but parens off by default +_ getMillis() doesn't seem to work +_ write email to creas to see what the problem is _ enable/disable full screen leaves windows in back _ (may just require two toFront() calls) + + +for 0010 +_ compiling .java files leaves the .class files next to the .java +_ make sure all the dirs in sketchbook added to classpath on startup +_ if new dir added, must restart processing (this is acceptable) +_ ability to include other code from sketchbook directory +_ compile entire sketchbook on startup, then check for new files on compile? +X kjc not smart enough to just compile things that are in classpath +_ when applet window is too large to fit, center and put in back + + +for 0011 +_ stop required before kill for applets that use serial +_ this is behaving strangely +_ new objects draw behind old objects with noBackground() _ breaks on every 2nd run when using serial apps (or others?) _ try calling gc on stop as well _ post new macintosh version _ with serial port support -_ when applet window is too large to fit, center and put in back -_ add a note about editor.expandTabs,balanceParens,tabSize,autoIndent -_ also add note about paren balancing doing strange things -_ leave the others turned on, but parens off by default PROCESSING - HIGH +_ make images work again +_ make acu fonts work again +_ write code to bind with java fonts +_ write code to use simple bitmap fonts _ bug in paren balancing -_ getMillis() doesn't seem to work _ shift-click on play for 'presentation mode' _ does full screen and hides editor window _ export doesn't work properly for stuff included from scrapbook -_ processing applet: fill white, stroke black _ write dist.bat for releases _ don't forget to update 'export' dir with processing releases -_ remove duplicates: LINE/LINES etc -_ make tab key work -_ include auto-indent? -_ want emacs-style editor that's faster loading than emacs _ what happens if size() not called inside setup() ? _ when using draw() instead of loop() _ applet needs to notify runner that it has terminated @@ -49,10 +70,7 @@ _ compile from the sketchbook if there are changes _ if 'void' left out before loop or setup, cryptic message about _ 'constructor loop must be named Temporary_23498_2343' _ curves not properly implemented as part of shape architecture -_ beginShape(POINTS) is not working, no marks are appearing -_ beginShape(LINE_LOOP) is not looping around _ lines become 2 pixels thick after a 3D transform -_ stroked POLYGON should emulate a LINE_LOOP _ kill button (without stop) doesn't clear play _ image grabbing code (write to tiff) _ build a linux/x86 release @@ -87,6 +105,7 @@ _ how to use ssh identity file to maintain auth for brancusi PROCESSING - FEATURES +_ want emacs-style editor that's faster loading than emacs _ anti-aliasing _ alpha _ regexps: http://javaregex.com/cgi-bin/pat/tutorial.asp @@ -99,14 +118,12 @@ _ http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/je/index.html PROCESSING - LOWER _ tweak updater a little bit so it's more likely to work _ use numbered versioning? +_ give updater feedback (progress dialog, error msg) _ move math functions into utility library associated _ with bagel, because those will be useful on other bagel platforms _ perlin noise function -_ give updater feedback (progress dialog, error msg) -_ get proce55ing.net, make that the target launch site _ make some kind of internal color picker _ could be a separate window that's always around if needed -_ write a dbn compatability mode (forever() instead of loop() ?) _ save window x, y, width, height to pde.properties on exit _ bagelpublic.pl: open ProcessingApplet, rewrite after special token _ look at glut for other needed shapes @@ -153,6 +170,7 @@ String binary(int value) { X ctrl-s does 'save', button on toolbar does 'save as' X fixed auto-indent bug for editor X SimpleSerialDemo.pde had a bug (was old version) +X re-enabled key commands for editor (tab expansion, auto-indent) 0007 @@ -187,3 +205,6 @@ X put debugging stuff back into Kjc (i disabled some stuff) X convert documentation to html o setup imrf linux machine? +DISCARD +o get proce55ing.net, make that the target launch site +o write a dbn compatability mode (forever() instead of loop() ?)