diff --git a/pdex/.externalToolBuilders/Ant_Builder.launch b/pdex/.externalToolBuilders/Ant_Builder.launch new file mode 100644 index 000000000..c6037b992 --- /dev/null +++ b/pdex/.externalToolBuilders/Ant_Builder.launch @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/pdex/.project b/pdex/.project index 1be6ebc0c..1dc755de3 100644 --- a/pdex/.project +++ b/pdex/.project @@ -10,6 +10,15 @@ + + org.eclipse.ui.externaltools.ExternalToolBuilder + + + LaunchConfigHandle + <project>/.externalToolBuilders/Ant_Builder.launch + + + org.eclipse.jdt.core.javanature diff --git a/pdex/src/processing/mode/experimental/ASTGenerator.java b/pdex/src/processing/mode/experimental/ASTGenerator.java index 86a4fdc3b..68a37a5b4 100644 --- a/pdex/src/processing/mode/experimental/ASTGenerator.java +++ b/pdex/src/processing/mode/experimental/ASTGenerator.java @@ -134,6 +134,7 @@ public class ASTGenerator { renameWindow.setLayout(new GridLayout(3, 1)); renameWindow.add(renameButton); renameWindow.add(listOccurrence); + renameWindow.setTitle("Rename.."); renameTextField = new JTextField(); renameTextField.setPreferredSize(new Dimension(150, 60)); renameWindow.add(renameTextField); @@ -1299,25 +1300,31 @@ public class ASTGenerator { - editor.ta.getSelectedText().length(); HashMap lineOffsetDisplacement = new HashMap(); + // I need to store the pde and java offsets beforehand because once + // the replace starts, all offsets returned are affected + int offsetsMap[][][] = new int[defCU.getChildCount()][2][]; for (int i = defCU.getChildCount() - 1; i >= 0; i--) { ASTNodeWrapper awrap = (ASTNodeWrapper) ((DefaultMutableTreeNode) (defCU .getChildAt(i))).getUserObject(); - int pdeoffsets[] = awrap.getPDECodeOffsets(errorCheckerService); - int javaoffsets[] = awrap.getJavaCodeOffsets(errorCheckerService); - + offsetsMap[i][0] = awrap.getPDECodeOffsets(errorCheckerService); + offsetsMap[i][1] = awrap.getJavaCodeOffsets(errorCheckerService); + } + + for (int i = defCU.getChildCount() - 1; i >= 0; i--) { + int pdeoffsets[] = offsetsMap[i][0]; + int javaoffsets[] = offsetsMap[i][1]; // correction for pde enhancements related displacement on a line int off = 0; - if(lineOffsetDisplacement.get(javaoffsets[0]) != null){ + if (lineOffsetDisplacement.get(javaoffsets[0]) != null) { off = lineOffsetDisplacement.get(javaoffsets[0]); - + lineOffsetDisplacement.put(javaoffsets[0], lineOffsetDisplacementConst + off); - } - else{ + } else { lineOffsetDisplacement.put(javaoffsets[0], - lineOffsetDisplacementConst); + lineOffsetDisplacementConst); } - + ErrorCheckerService.scrollToErrorLine(editor, pdeoffsets[0], pdeoffsets[1], javaoffsets[1] + off,