From d17de8d80d37d822b905cc0553a8995c9912e4f6 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 1 Jul 2011 12:21:19 +0200 Subject: [PATCH] remove the old debugger evaluation language combo --- .../debugger/ui/EvaluationDialog.java | 90 ++----------------- .../ui/ExpressionEvaluationDialog.java | 14 --- .../ui/StatementEvaluationDialog.java | 13 --- 3 files changed, 8 insertions(+), 109 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/EvaluationDialog.java b/java/debugger/impl/src/com/intellij/debugger/ui/EvaluationDialog.java index fa62dc74d630..e7d5c3dfde41 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/EvaluationDialog.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/EvaluationDialog.java @@ -22,7 +22,10 @@ import com.intellij.debugger.actions.DebuggerActions; import com.intellij.debugger.engine.evaluation.CodeFragmentFactory; import com.intellij.debugger.engine.evaluation.DefaultCodeFragmentFactory; import com.intellij.debugger.engine.evaluation.TextWithImports; -import com.intellij.debugger.impl.*; +import com.intellij.debugger.impl.DebuggerContextImpl; +import com.intellij.debugger.impl.DebuggerContextListener; +import com.intellij.debugger.impl.DebuggerSession; +import com.intellij.debugger.impl.PositionUtil; import com.intellij.debugger.ui.impl.WatchDebuggerTree; import com.intellij.debugger.ui.impl.WatchPanel; import com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl; @@ -30,34 +33,24 @@ import com.intellij.debugger.ui.impl.watch.EvaluationDescriptor; import com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.*; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.ComboBox; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.psi.PsiElement; -import com.intellij.util.EventDispatcher; import com.intellij.xdebugger.XDebuggerBundle; +import org.jetbrains.annotations.Nullable; import javax.swing.*; -import javax.swing.event.ListDataEvent; -import javax.swing.event.ListDataListener; import javax.swing.tree.TreeModel; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.List; public abstract class EvaluationDialog extends DialogWrapper { - private static final Logger LOG = Logger.getInstance("#com.intellij.debugger.ui.EvaluationDialog"); private final MyEvaluationPanel myEvaluationPanel; - private final ComboBox myCbFactories; private final Project myProject; private final DebuggerContextListener myContextListener; private final DebuggerEditorImpl myEditor; private final List myDisposeRunnables = new ArrayList(); - private final List myFactories = new ArrayList(); public EvaluationDialog(Project project, TextWithImports text) { super(project, true); @@ -67,25 +60,8 @@ public abstract class EvaluationDialog extends DialogWrapper { setOKButtonText(DebuggerBundle.message("button.evaluate")); myEvaluationPanel = new MyEvaluationPanel(myProject); - myCbFactories = new ComboBox(new MyComboBoxModel(), 150); - myCbFactories.setRenderer(new DefaultListCellRenderer() { - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - final JLabel component = (JLabel)super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); - component.setText(((CodeFragmentFactory)value).getFileType().getLanguage().getID()); - return component; - } - }); - myCbFactories.addItemListener(new ItemListener() { - public void itemStateChanged(final ItemEvent e) { - myEditor.setFactory((CodeFragmentFactory)myCbFactories.getSelectedItem()); - myEditor.revalidate(); - } - }); - - CodeFragmentFactory factory = (CodeFragmentFactory)myCbFactories.getSelectedItem(); - if (factory == null) factory = DefaultCodeFragmentFactory.getInstance(); - myEditor = createEditor(factory); + myEditor = createEditor(DefaultCodeFragmentFactory.getInstance()); setDebuggerContext(getDebuggerContext()); initDialogData(text); @@ -134,9 +110,7 @@ public abstract class EvaluationDialog extends DialogWrapper { setOKActionEnabled(false); NodeDescriptorImpl descriptor = myEvaluationPanel.getWatchTree().addWatch(codeToEvaluate).getDescriptor(); if (descriptor instanceof EvaluationDescriptor) { - final CodeFragmentFactory factory = ((MyComboBoxModel)myCbFactories.getModel()).getSelectedItem(); - LOG.assertTrue(factory != null); // there is always at least a default factory - ((EvaluationDescriptor)descriptor).setCodeFragmentFactory(factory); + ((EvaluationDescriptor)descriptor).setCodeFragmentFactory(myEditor.getCurrentFactory()); } myEvaluationPanel.getWatchTree().rebuild(getDebuggerContext()); descriptor.myIsExpanded = true; @@ -149,6 +123,7 @@ public abstract class EvaluationDialog extends DialogWrapper { myEvaluationPanel.getContextManager().getContext().getDebuggerSession().refresh(true); } + @Nullable protected TextWithImports getCodeToEvaluate() { TextWithImports text = getEditor().getText(); String s = text.getText(); @@ -229,10 +204,6 @@ public abstract class EvaluationDialog extends DialogWrapper { protected void setDebuggerContext(DebuggerContextImpl context) { final PsiElement contextElement = PositionUtil.getContextElement(context); - myFactories.clear(); - myFactories.addAll(DebuggerUtilsEx.getCodeFragmentFactories(contextElement)); - ((MyComboBoxModel)myCbFactories.getModel()).update(); - myCbFactories.setVisible(myCbFactories.getItemCount() > 1); myEditor.setContext(contextElement); } @@ -253,10 +224,6 @@ public abstract class EvaluationDialog extends DialogWrapper { return myEditor; } - protected Component getCodeFragmentFactoryChooserComponent() { - return myCbFactories; - } - protected abstract DebuggerEditorImpl createEditor(final CodeFragmentFactory factory); protected MyEvaluationPanel getEvaluationPanel() { @@ -267,45 +234,4 @@ public abstract class EvaluationDialog extends DialogWrapper { return myProject; } - private class MyComboBoxModel implements ComboBoxModel { - private CodeFragmentFactory mySelectedItem = null; - private final EventDispatcher myDispatcher = EventDispatcher.create(ListDataListener.class); - - public void setSelectedItem(Object anItem) { - if ((anItem instanceof CodeFragmentFactory && myFactories.contains(anItem))) { - mySelectedItem = (CodeFragmentFactory)anItem; - } - else if (myFactories.size() > 0){ - mySelectedItem = myFactories.get(0); - } - else { - mySelectedItem = null; - } - } - - public CodeFragmentFactory getSelectedItem() { - return mySelectedItem; - } - - public int getSize() { - return myFactories.size(); - } - - public CodeFragmentFactory getElementAt(int index) { - return myFactories.get(index); - } - - public void addListDataListener(ListDataListener l) { - myDispatcher.addListener(l); - } - - public void removeListDataListener(ListDataListener l) { - myDispatcher.removeListener(l); - } - - void update() { - setSelectedItem(mySelectedItem); - myDispatcher.getMulticaster().contentsChanged(new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, -1, -1)); - } - } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/ExpressionEvaluationDialog.java b/java/debugger/impl/src/com/intellij/debugger/ui/ExpressionEvaluationDialog.java index 994c5cccaa99..c61d1301b83e 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/ExpressionEvaluationDialog.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/ExpressionEvaluationDialog.java @@ -21,7 +21,6 @@ import com.intellij.debugger.HelpID; import com.intellij.debugger.actions.EvaluateActionHandler; import com.intellij.debugger.engine.evaluation.CodeFragmentFactory; import com.intellij.debugger.engine.evaluation.TextWithImports; -import com.intellij.debugger.impl.DebuggerContextImpl; import com.intellij.debugger.impl.PositionUtil; import com.intellij.debugger.settings.DebuggerSettings; import com.intellij.openapi.actionSystem.AnAction; @@ -36,7 +35,6 @@ import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; public class ExpressionEvaluationDialog extends EvaluationDialog { - private JLabel myLanguageLabel; public ExpressionEvaluationDialog(Project project, TextWithImports defaultExpression) { super(project, defaultExpression); @@ -81,11 +79,6 @@ public class ExpressionEvaluationDialog extends EvaluationDialog { protected JComponent createCenterPanel() { final JPanel panel = new JPanel(new GridBagLayout()); - myLanguageLabel = new JLabel(DebuggerBundle.message("label.evaluate.dialog.language")); - myLanguageLabel.setVisible(getCodeFragmentFactoryChooserComponent().isVisible()); - panel.add(myLanguageLabel, new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0)); - panel.add(getCodeFragmentFactoryChooserComponent(), new GridBagConstraints(1, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0)); - final JLabel expressionLabel = new JLabel(DebuggerBundle.message("label.evaluate.dialog.expression")); panel.add(expressionLabel, new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0)); panel.add(getExpressionCombo(), new GridBagConstraints(1, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5, 0, 0, 0), 0, 0)); @@ -97,13 +90,6 @@ public class ExpressionEvaluationDialog extends EvaluationDialog { return panel; } - protected void setDebuggerContext(DebuggerContextImpl context) { - super.setDebuggerContext(context); - if (myLanguageLabel != null) { - myLanguageLabel.setVisible(getCodeFragmentFactoryChooserComponent().isVisible()); - } - } - protected void initDialogData(TextWithImports text) { super.initDialogData(text); getExpressionCombo().selectAll(); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/StatementEvaluationDialog.java b/java/debugger/impl/src/com/intellij/debugger/ui/StatementEvaluationDialog.java index f90764a55b30..d87f0d1bb119 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/StatementEvaluationDialog.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/StatementEvaluationDialog.java @@ -21,7 +21,6 @@ import com.intellij.debugger.HelpID; import com.intellij.debugger.actions.EvaluateActionHandler; import com.intellij.debugger.engine.evaluation.CodeFragmentFactory; import com.intellij.debugger.engine.evaluation.TextWithImports; -import com.intellij.debugger.impl.DebuggerContextImpl; import com.intellij.debugger.impl.PositionUtil; import com.intellij.debugger.settings.DebuggerSettings; import com.intellij.openapi.actionSystem.AnAction; @@ -53,7 +52,6 @@ public class StatementEvaluationDialog extends EvaluationDialog{ private final Action mySwitchAction = new SwitchAction(); private static final @NonNls String STATEMENT_EDITOR_DIMENSION_KEY = "#com.intellij.debugger.ui.StatementEvaluationDialog.StatementEditor"; private static final @NonNls String EVALUATION_PANEL_DIMENSION_KEY = "#com.intellij.debugger.ui.StatementEvaluationDialog.EvaluationPanel"; - private final JLabel myLanguageLabel; public StatementEvaluationDialog(final Project project, TextWithImports text) { super(project, text); @@ -64,10 +62,6 @@ public class StatementEvaluationDialog extends EvaluationDialog{ splitter.setHonorComponentsMinimumSize(true); final JPanel editorPanel = new JPanel(new GridBagLayout()); - myLanguageLabel = new JLabel(DebuggerBundle.message("label.evaluate.dialog.language")); - myLanguageLabel.setVisible(getCodeFragmentFactoryChooserComponent().isVisible()); - editorPanel.add(myLanguageLabel, new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0)); - editorPanel.add(getCodeFragmentFactoryChooserComponent(), new GridBagConstraints(1, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0)); final JLabel statementsLabel = new JLabel(DebuggerBundle.message("label.evaluation.dialog.statements")); editorPanel.add(statementsLabel, new GridBagConstraints(0, GridBagConstraints.RELATIVE, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0)); @@ -152,13 +146,6 @@ public class StatementEvaluationDialog extends EvaluationDialog{ init(); } - protected void setDebuggerContext(DebuggerContextImpl context) { - super.setDebuggerContext(context); - if (myLanguageLabel != null) { - myLanguageLabel.setVisible(getCodeFragmentFactoryChooserComponent().isVisible()); - } - } - private void updateSwitchButton(Document document) { PsiDocumentManager.getInstance(getProject()).commitDocument(document); PsiFile psiFile = PsiDocumentManager.getInstance(getProject()).getPsiFile(document);