/* * 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(); } }