com.intellij.debugger.ui.CompletedInputDialog.java Source code

Java tutorial

Introduction

Here is the source code for com.intellij.debugger.ui.CompletedInputDialog.java

Source

/*
 * Copyright 2000-2009 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.intellij.debugger.ui;

import com.intellij.debugger.DebuggerManagerEx;
import com.intellij.debugger.DebuggerBundle;
import com.intellij.debugger.engine.evaluation.TextWithImports;
import com.intellij.debugger.engine.evaluation.DefaultCodeFragmentFactory;
import com.intellij.debugger.impl.DebuggerContextImpl;
import com.intellij.debugger.impl.PositionUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.psi.PsiElement;

import javax.swing.*;
import java.awt.*;

/**
 * User: lex
 * Date: Sep 16, 2003
 * Time: 6:43:46 PM
 */
public class CompletedInputDialog extends DialogWrapper {
    JPanel myPanel;
    DebuggerExpressionComboBox myCombo;
    PsiElement myContext;
    Project myProject;
    private JLabel myLabel;

    public CompletedInputDialog(String title, String okText, Project project) {
        super(project, false);
        setTitle(title);
        setOKButtonText(okText);
        myProject = project;
        setModal(false);
        DebuggerContextImpl debuggerContext = (DebuggerManagerEx.getInstanceEx(project)).getContext();
        myContext = PositionUtil.getContextElement(debuggerContext);
        this.init();
    }

    public JComponent getPreferredFocusedComponent() {
        return myCombo.getPreferredFocusedComponent();
    }

    protected JComponent createCenterPanel() {
        myPanel = new JPanel(new GridBagLayout());
        myLabel = new JLabel(DebuggerBundle.message("label.complete.input.dialog.expression"));
        myPanel.add(myLabel, new GridBagConstraints(0, 0, GridBagConstraints.REMAINDER, 1, 1, 0,
                GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 1, 0, 1), 0, 0));

        myCombo = new DebuggerExpressionComboBox(myProject, myContext, "evaluation",
                DefaultCodeFragmentFactory.getInstance());
        myCombo.selectAll();

        myPanel.add(myCombo, new GridBagConstraints(0, 1, GridBagConstraints.REMAINDER, 1, 1, 0,
                GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 1, 0, 1), 0, 0));
        myPanel.setPreferredSize(new Dimension(200, 50));
        return myPanel;
    }

    public TextWithImports getExpressionText() {
        return myCombo.getText();
    }

    public DebuggerExpressionComboBox getCombo() {
        return myCombo;
    }

    public void setExpressionLabel(String text) {
        myLabel.setText(text);
    }

    public void dispose() {
        myCombo.dispose();
        super.dispose();
    }
}