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,