diff --git a/pdex/build.xml b/pdex/build.xml index a3a206dff..309946ae0 100644 --- a/pdex/build.xml +++ b/pdex/build.xml @@ -47,8 +47,8 @@ destdir="bin" encoding="UTF-8" includeAntRuntime="false" - classpath="../core/library/core.jar; ${env.JAVA_HOME}/lib/tools.jar; ../app/lib/ant.jar; ../app/lib/ant-launcher.jar; ../app/lib/antlr.jar; ../app/lib/apple.jar; ../app/lib/jdt-core.jar; ../app/lib/jna.jar; ../app/lib/org-netbeans-swing-outline.jar; ../app/pde.jar; mode/CompilationChecker.jar; mode/com.ibm.icu_4.4.2.v20110823.jar; mode/jdi.jar; mode/jdimodel.jar; mode/org.eclipse.core.contenttype_3.4.200.v20120523-2004.jar; mode/org.eclipse.core.jobs_3.5.300.v20120622-204750.jar; mode/org.eclipse.core.resources_3.8.1.v20120802-154922.jar; mode/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar; mode/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar; mode/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar; mode/org.eclipse.jdt.core_3.8.2.v20120814-155456.jar; mode/org.eclipse.jdt.debug_3.7.101.v20120725-115645.jar; mode/org.eclipse.osgi_3.8.1.v20120830-144521.jar; mode/org.eclipse.text_3.5.200.v20120523-1310.jar; mode/classpath-explorer-1.0.jar" - debug="on"> + classpath="../core/library/core.jar; ${env.JAVA_HOME}/lib/tools.jar; ../app/lib/ant.jar; ../app/lib/ant-launcher.jar; ../app/lib/antlr.jar; ../app/lib/apple.jar; ../app/lib/jdt-core.jar; ../app/lib/jna.jar; ../app/lib/org-netbeans-swing-outline.jar; ../app/pde.jar; mode/CompilationChecker.jar; mode/com.ibm.icu_4.4.2.v20110823.jar; mode/jdi.jar; mode/jdimodel.jar; mode/org.eclipse.core.contenttype_3.4.200.v20120523-2004.jar; mode/org.eclipse.core.jobs_3.5.300.v20120622-204750.jar; mode/org.eclipse.core.resources_3.8.1.v20120802-154922.jar; mode/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar; mode/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar; mode/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar; mode/org.eclipse.jdt.core_3.8.2.v20120814-155456.jar; mode/org.eclipse.jdt.debug_3.7.101.v20120725-115645.jar; mode/org.eclipse.osgi_3.8.1.v20120830-144521.jar; mode/org.eclipse.text_3.5.200.v20120523-1310.jar;mode/classpath-explorer-1.0.jar; mode/jsoup-1.7.1.jar;" + debug="off"> diff --git a/pdex/src/processing/mode/experimental/ASTGenerator.java b/pdex/src/processing/mode/experimental/ASTGenerator.java index 8f6ce8d23..431fb4cfb 100644 --- a/pdex/src/processing/mode/experimental/ASTGenerator.java +++ b/pdex/src/processing/mode/experimental/ASTGenerator.java @@ -10,13 +10,14 @@ import java.io.InputStreamReader; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.URL; -import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.TreeMap; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTree; @@ -50,15 +51,18 @@ import org.eclipse.jdt.core.dom.VariableDeclarationExpression; import org.eclipse.jdt.core.dom.VariableDeclarationFragment; import org.eclipse.jdt.core.dom.VariableDeclarationStatement; import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import processing.app.Base; +import processing.app.SketchCode; import com.google.classpath.ClassPath; import com.google.classpath.ClassPathFactory; import com.google.classpath.RegExpResourceFilter; import com.ibm.icu.util.StringTokenizer; -import com.sun.jdi.Type; - -import processing.app.Base; -import processing.app.SketchCode; public class ASTGenerator { @@ -78,6 +82,8 @@ public class ASTGenerator { private JTable tableAuto; + private JLabel jdocLabel; + public ASTGenerator(ErrorCheckerService ecs) { this.errorCheckerService = ecs; this.editor = ecs.getEditor(); @@ -97,6 +103,13 @@ public class ASTGenerator { JScrollPane sp2 = new JScrollPane(); sp2.setViewportView(tableAuto); frameAutoComp.add(sp2); + + jdocWindow = new JFrame(); + jdocWindow.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + jdocWindow.setBounds(new Rectangle(280, 100, 460, 460)); + jdocLabel = new JLabel(); + jdocWindow.add(jdocLabel); + jdocMap = new TreeMap(); //loadJars(); } @@ -175,10 +188,13 @@ public class ASTGenerator { if (!frame2.isVisible()) { frame2.setVisible(true); loadJars(); + loadJavaDoc(); //System.out.println(System.getProperty("java.home")); } if (!frameAutoComp.isVisible()) frameAutoComp.setVisible(true); + if(!jdocWindow.isVisible()) + jdocWindow.setVisible(true); jtree.validate(); } } @@ -194,6 +210,8 @@ public class ASTGenerator { private ClassPath classPath; + private JFrame jdocWindow; + private void loadJars() { try { factory = new ClassPathFactory(); @@ -201,18 +219,22 @@ public class ASTGenerator { String tehPaths = System.getProperty("java.class.path") + File.pathSeparatorChar + System.getProperty("java.home") + "/lib/rt.jar"; - StringBuffer tehPath = new StringBuffer(System.getProperty("java.class.path") - + File.pathSeparatorChar + System.getProperty("java.home") - + "/lib/rt.jar"); - if(errorCheckerService.classpathJars != null){ + StringBuffer tehPath = new StringBuffer( + System + .getProperty("java.class.path") + + File.pathSeparatorChar + + System + .getProperty("java.home") + + "/lib/rt.jar"); + if (errorCheckerService.classpathJars != null) { for (URL jarPath : errorCheckerService.classpathJars) { tehPath.append(jarPath.getPath() + File.pathSeparatorChar); } } - + //String paths[] = tehPaths.split(File.separatorChar +""); - StringTokenizer st = new StringTokenizer(tehPath.toString(), File.pathSeparatorChar - + ""); + StringTokenizer st = new StringTokenizer(tehPath.toString(), + File.pathSeparatorChar + ""); while (st.hasMoreElements()) { System.out.println("- " + st.nextToken()); } @@ -231,6 +253,70 @@ public class ASTGenerator { // TODO Auto-generated catch block e.printStackTrace(); } + + } + private TreeMap jdocMap; + private void loadJavaDoc() { + Document doc; + + String primTypes[] = { + "void", "int", "short", "byte", "boolean", "char", "float", "double", + "long" }; + try { + File javaDocFile = new File( + "/home/quarkninja/Documents/Processing/libraries/SimpleOpenNI/documentation/SimpleOpenNI/SimpleOpenNI.html"); + //SimpleOpenNI.SimpleOpenNI + doc = Jsoup.parse(javaDocFile, null); + + String msg = ""; + Elements elm = doc.getElementsByTag("pre"); + Elements desc = doc.getElementsByTag("dl"); + //System.out.println(elm.toString()); + + + for (Iterator iterator = elm.iterator(); iterator.hasNext();) { + Element element = (Element) iterator.next(); + + //System.out.println(element.text()); +// if (element.nextElementSibling() != null) +// System.out.println(element.nextElementSibling().text()); + System.out.println("-------------------"); + msg = " " + + element.html() + + element.nextElementSibling() + + "