/*
* Copyright 2003-2011 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 jetbrains.mps.workbench.dialogs;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.ui.IdeBorderFactory;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
public class RenameFileDialog extends DialogWrapper {
private JLabel myLabel;
private JTextField myTextField;
public RenameFileDialog(Project project, String initialText, boolean isDirectory) {
super(project);
setTitle("Rename");
myTextField = new JTextField(initialText);
String type = (isDirectory) ? "directory" : "file";
myLabel = new JLabel("Rename " + type + " " + initialText + " to:");
init();
}
@Override
protected JComponent createCenterPanel() {
JPanel centralPanel = new JPanel(new BorderLayout());
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints gbConstraints = new GridBagConstraints();
panel.setBorder(IdeBorderFactory.createBorder());
gbConstraints.insets = new Insets(4, 8, 4, 8);
gbConstraints.weighty = 0;
gbConstraints.weightx = 1;
gbConstraints.gridwidth = GridBagConstraints.REMAINDER;
gbConstraints.fill = GridBagConstraints.BOTH;
panel.add(myLabel, gbConstraints);
gbConstraints.insets = new Insets(4, 8, 4, 8);
gbConstraints.gridwidth = 2;
gbConstraints.fill = GridBagConstraints.BOTH;
gbConstraints.weightx = 1;
gbConstraints.gridx = 0;
gbConstraints.weighty = 1;
panel.add(myTextField, gbConstraints);
centralPanel.add(panel, BorderLayout.NORTH);
return centralPanel;
}
public String getResult() {
return myTextField.getText();
}
}