mirror of
https://github.com/processing/processing4.git
synced 2026-02-13 10:30:44 +01:00
Sketch Outline Tool like thing implemented temporarily. Should help me see things clearly.
This commit is contained in:
@@ -131,6 +131,7 @@ public class ASTGenerator {
|
||||
//loadJars();
|
||||
|
||||
//addCompletionPopupListner();
|
||||
addTreeListner();
|
||||
}
|
||||
|
||||
private DefaultMutableTreeNode buildAST(String source, CompilationUnit cu) {
|
||||
@@ -1101,6 +1102,7 @@ public class ASTGenerator {
|
||||
|
||||
@Override
|
||||
public void valueChanged(TreeSelectionEvent e) {
|
||||
System.out.println(e);
|
||||
SwingWorker worker = new SwingWorker() {
|
||||
|
||||
@Override
|
||||
@@ -1109,10 +1111,23 @@ public class ASTGenerator {
|
||||
}
|
||||
|
||||
protected void done() {
|
||||
if(jtree
|
||||
.getLastSelectedPathComponent() == null){
|
||||
return;
|
||||
}
|
||||
DefaultMutableTreeNode tnode = (DefaultMutableTreeNode) jtree
|
||||
.getLastSelectedPathComponent();
|
||||
ASTNodeWrapper awrap = (ASTNodeWrapper) tnode.getUserObject();
|
||||
.getLastSelectedPathComponent();
|
||||
if(tnode.getUserObject() == null){
|
||||
return;
|
||||
}
|
||||
|
||||
if (tnode.getUserObject() instanceof ASTNodeWrapper) {
|
||||
// 3 friggin casts. Javaaargh.
|
||||
ASTNodeWrapper awrap = (ASTNodeWrapper) tnode.getUserObject();
|
||||
int offsets[] = awrap.getPDECodeOffsets(errorCheckerService);
|
||||
ErrorCheckerService.scrollToErrorLine(editor, offsets[0],
|
||||
offsets[1]);
|
||||
}
|
||||
}
|
||||
};
|
||||
worker.execute();
|
||||
|
||||
@@ -66,9 +66,12 @@ public class ASTNodeWrapper {
|
||||
*
|
||||
* @param ecs
|
||||
* - ErrorCheckerService instance
|
||||
* @return int[0] - tab number, int[1] - line number in the int[0] tab, int[2]
|
||||
* - line start offset, int[3] - offset from line start int[2] and
|
||||
* int[3] are on TODO
|
||||
*/
|
||||
public int[] getPDECodeOffsets(ErrorCheckerService ecs) {
|
||||
return ecs.JavaToPdeOffsets(lineNumber, node.getStartPosition());
|
||||
return ecs.JavaToPdeOffsets(lineNumber + 1, node.getStartPosition());
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
|
||||
@@ -265,11 +265,12 @@ public class ErrorCheckerService implements Runnable{
|
||||
lastTimeStamp = System.currentTimeMillis();
|
||||
try {
|
||||
sourceCode = preprocessCode(editor.getSketch().getMainProgram());
|
||||
|
||||
|
||||
syntaxCheck();
|
||||
System.err.println(editor.getSketch().getName()+ "1 MCO " + mainClassOffset);
|
||||
System.out.println(editor.getSketch().getName() + "1 MCO "
|
||||
+ mainClassOffset);
|
||||
// No syntax errors, proceed for compilation check, Stage 2.
|
||||
|
||||
|
||||
if (problems.length == 0 && editor.compilationCheckEnabled) {
|
||||
//mainClassOffset++; // just a hack.
|
||||
astGenerator.buildAST(cu);
|
||||
@@ -283,10 +284,10 @@ public class ErrorCheckerService implements Runnable{
|
||||
// System.out.println(sourceCode);
|
||||
// System.out.println("--------------------------");
|
||||
compileCheck();
|
||||
System.err.println(editor.getSketch().getName()+ "2 MCO " + mainClassOffset);
|
||||
System.out.println(editor.getSketch().getName() + "2 MCO "
|
||||
+ mainClassOffset);
|
||||
}
|
||||
|
||||
|
||||
updateErrorTable();
|
||||
editor.updateErrorBar(problemsList);
|
||||
updateEditorStatus();
|
||||
@@ -734,7 +735,7 @@ public class ErrorCheckerService implements Runnable{
|
||||
* @param offset
|
||||
* - offset from the start of the 'line'
|
||||
* @return int[0] - tab number, int[1] - line number in the int[0] tab, int[2]
|
||||
* - line start offset, int[3] - offset from line start int[2] and
|
||||
* - line start offset, int[3] - offset from line start. int[2] and
|
||||
* int[3] are on TODO
|
||||
*/
|
||||
public int[] JavaToPdeOffsets(int line, int offset){
|
||||
@@ -1019,7 +1020,9 @@ public class ErrorCheckerService implements Runnable{
|
||||
mainClassOffset++;
|
||||
}
|
||||
}
|
||||
if(staticMode) mainClassOffset++;
|
||||
if(staticMode) {
|
||||
mainClassOffset++;
|
||||
}
|
||||
//mainClassOffset += 2;
|
||||
// Handle unicode characters
|
||||
sourceAlt = substituteUnicode(sourceAlt);
|
||||
|
||||
Reference in New Issue
Block a user