Sketch Outline Tool like thing implemented temporarily. Should help me see things clearly.

This commit is contained in:
Manindra Moharana
2013-06-18 02:03:45 +05:30
parent a988b74785
commit a2cf09f7fe
3 changed files with 31 additions and 10 deletions

View File

@@ -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();

View File

@@ -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() {

View File

@@ -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);