introduce: remember settings; enable/disable checkboxes

This commit is contained in:
anna
2011-03-21 16:45:42 +01:00
parent 7d96e45dfc
commit 25e872447f
5 changed files with 10 additions and 17 deletions
@@ -136,13 +136,10 @@ public class InplaceIntroduceConstantPopup {
myWholePanel.add(myCbDeleteVariable, gc);
if (myLocalVariable != null) {
if (myReplaceAllCb != null) {
updateCbDeleteVariable();
myReplaceAllCb.addItemListener(
new ItemListener() {
public void itemStateChanged(ItemEvent e) {
updateCbDeleteVariable();
}
});
myReplaceAllCb.setEnabled(false);
myReplaceAllCb.setSelected(true);
myCbDeleteVariable.setSelected(true);
myCbDeleteVariable.setEnabled(false);
}
} else {
myCbDeleteVariable.setVisible(false);
@@ -19,10 +19,7 @@ import com.intellij.codeInsight.intention.impl.TypeExpression;
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
import com.intellij.codeInsight.template.impl.TemplateState;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.RangeMarker;
import com.intellij.openapi.project.Project;
@@ -39,8 +36,6 @@ import com.intellij.refactoring.util.occurences.OccurenceManager;
import com.intellij.ui.TitlePanel;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
@@ -78,6 +73,7 @@ public class InplaceIntroduceFieldPopup {
private String myFieldName;
private boolean myInitListeners = false;
private static BaseExpressionToFieldHandler.InitializationPlace ourLastInitializerPlace;
public InplaceIntroduceFieldPopup(PsiLocalVariable localVariable,
PsiClass parentClass,
@@ -126,7 +122,7 @@ public class InplaceIntroduceFieldPopup {
gc.insets.top = 5;
myWholePanel.add(myIntroduceFieldPanel.createCenterPanel(), gc);
myIntroduceFieldPanel.initializeControls(initializerExpression);
myIntroduceFieldPanel.initializeControls(initializerExpression, ourLastInitializerPlace);
myIntroduceFieldPanel.addOccurrenceListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
@@ -297,6 +293,7 @@ public class InplaceIntroduceFieldPopup {
@Override
protected void moveOffsetAfter(boolean success) {
if (success) {
ourLastInitializerPlace = myIntroduceFieldPanel.getInitializerPlace();
final BaseExpressionToFieldHandler.Settings settings =
new BaseExpressionToFieldHandler.Settings(myFieldName, myIntroduceFieldPanel.isReplaceAllOccurrences(), myStatic,
myIntroduceFieldPanel.isDeclareFinal(),
@@ -155,7 +155,7 @@ public class IntroduceConstantHandler extends BaseExpressionToFieldHandler {
final IntroduceConstantDialog dialog =
new IntroduceConstantDialog(project, parentClass, expr, localVariable, false, occurences, getParentClass(),
new IntroduceConstantDialog(project, parentClass, expr, localVariable, localVariable != null, occurences, getParentClass(),
typeSelectorManager);
dialog.show();
if (!dialog.isOK()) {
@@ -42,7 +42,6 @@ public class IntroduceFieldCentralPanel {
private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.introduceField.IntroduceFieldDialog");
private static boolean ourLastCbFinalState = false;
private static BaseExpressionToFieldHandler.InitializationPlace ourLastInitializerPlace;
private final PsiClass myParentClass;
private final PsiExpression myInitializerExpression;
@@ -85,7 +84,7 @@ public class IntroduceFieldCentralPanel {
myTypeSelectorManager = typeSelectorManager;
}
void initializeControls(PsiExpression initializerExpression) {
void initializeControls(PsiExpression initializerExpression, BaseExpressionToFieldHandler.InitializationPlace ourLastInitializerPlace) {
if (initializerExpression != null) {
setEnabledInitializationPlaces(initializerExpression, initializerExpression);
if (!myAllowInitInMethod) {
@@ -80,7 +80,7 @@ class IntroduceFieldDialog extends DialogWrapper {
setTitle(REFACTORING_NAME);
init();
myCentralPanel.initializeControls(initializerExpression);
myCentralPanel.initializeControls(initializerExpression, ourLastInitializerPlace);
updateButtons();
}