From 4047cd03e85335b35873bec92e5b76b7f05716ff Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 20 Jul 2012 09:57:49 +0200 Subject: [PATCH] IDEA-89012 Live Template - Edit Variable - variable order is ignored --- .../codeInsight/template/impl/TemplateImpl.java | 4 ++++ .../codeInsight/template/impl/TemplateListPanel.java | 4 ++++ .../intellij/codeInsight/template/impl/Variable.java | 11 +++++++++++ 3 files changed, 19 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateImpl.java index 50e562addaab..a8b1c96d60c7 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateImpl.java @@ -449,6 +449,10 @@ public class TemplateImpl extends Template implements SchemeElement { return myVariables.get(i).skipOnStart(); } + public ArrayList getVariables() { + return myVariables; + } + private static class Segment { public String name; public int offset; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java index fcadc2924b98..739ea0036822 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java @@ -252,6 +252,10 @@ public class TemplateListPanel extends JPanel implements Disposable { return false; } + if (!newTemplate.getVariables().equals(originalTemplate.getVariables())) { + return false; + } + if (!areOptionsEqual(newTemplate, originalTemplate)) { return false; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/Variable.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/Variable.java index 0b6d067ccde5..db5071336c94 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/Variable.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/Variable.java @@ -124,6 +124,17 @@ public class Variable implements Cloneable { return result; } + @Override + public String toString() { + return "Variable{" + + "myName='" + myName + '\'' + + ", myAlwaysStopAt=" + myAlwaysStopAt + + ", myExpressionString='" + myExpressionString + '\'' + + ", myDefaultValueString='" + myDefaultValueString + '\'' + + ", mySkipOnStart=" + mySkipOnStart + + '}'; + } + public boolean skipOnStart() { return mySkipOnStart; }