ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
if (brokenOff) {
- CodeStyleManager style = CodeStyleManager.getInstance(myProject);
- style.reformatText(myFile, myGlobalMarker.getStartOffset(), myGlobalMarker.getEndOffset());
+ reformat();
}
}
});
listener.finished(true);
}
}
+
+ @Override
+ public void waitingForInput(Template template) {
+ reformat();
+ }
});
templateEnded[0] = true;
if (templateFinished[0] && listener != null) {
return templateFinished[0];
}
+ private void reformat() {
+ CodeStyleManager style = CodeStyleManager.getInstance(myProject);
+ style.reformatText(myFile, myGlobalMarker.getStartOffset(), myGlobalMarker.getEndOffset());
+ }
+
public void fixStartOfTemplate(@NotNull Object key) {
int offset = myEditor.getCaretModel().getOffset();
RangeMarker marker = myEditor.getDocument().createRangeMarker(offset, offset);
public void currentVariableChanged(TemplateState templateState, Template template, int oldIndex, int newIndex) {
}
- public void templateExpanded(Template template) {
+ public void waitingForInput(Template template) {
}
}
void templateFinished(Template template, boolean brokenOff);
void templateCancelled(Template template);
void currentVariableChanged(TemplateState templateState, Template template, int oldIndex, int newIndex);
- void templateExpanded(Template template);
+ void waitingForInput(Template template);
}
calcResults(false); //Fixed SCR #[vk500] : all variables should be recalced twice on start.
doReformat(null);
- fireTemplateExpanded();
-
int nextVariableNumber = getNextVariableNumber(-1);
+
+ if (nextVariableNumber >= 0) {
+ fireWaitingForInput();
+ }
+
if (nextVariableNumber == -1) {
finishTemplateEditing(false);
}
}
}
- private void fireTemplateExpanded() {
+ private void fireWaitingForInput() {
TemplateEditingListener[] listeners = myListeners.toArray(new TemplateEditingListener[myListeners.size()]);
for (TemplateEditingListener listener : listeners) {
- listener.templateExpanded(myTemplate);
+ listener.waitingForInput(myTemplate);
}
}