package com.siberika.idea.pascal.run;
import com.intellij.ide.util.BrowseFilesListener;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.uiDesigner.core.GridConstraints;
import com.intellij.uiDesigner.core.GridLayoutManager;
import javax.swing.*;
import java.awt.*;
/**
* Author: George Bakhtadze
* Date: 06/01/2013
*/
public class PascalRunConfigurationForm implements PascalRunConfigurationParams {
private JPanel rootPanel;
private JTextField parametersEdit;
private TextFieldWithBrowseButton workingDirEdit;
public PascalRunConfigurationForm(PascalRunConfiguration runConfiguration) {
assert runConfiguration != null;
workingDirEdit.addBrowseFolderListener("Choose Working Directory", "", runConfiguration.getProject(), BrowseFilesListener.SINGLE_DIRECTORY_DESCRIPTOR);
}
public JComponent getRootPanel() {
return rootPanel;
}
@Override
public String getParameters() {
return parametersEdit.getText();
}
@Override
public String getWorkingDirectory() {
return workingDirEdit.getText();
}
@Override
public void setParameters(String parameters) {
this.parametersEdit.setText(parameters);
}
@Override
public void setWorkingDirectory(String workingDirectory) {
workingDirEdit.setText(workingDirectory);
}
{
// GUI initializer generated by IntelliJ IDEA GUI Designer
// >>> IMPORTANT!! <<<
// DO NOT EDIT OR ADD ANY CODE HERE!
$$$setupUI$$$();
}
/**
* Method generated by IntelliJ IDEA GUI Designer
* >>> IMPORTANT!! <<<
* DO NOT edit this method OR call it in your code!
*
* @noinspection ALL
*/
private void $$$setupUI$$$() {
rootPanel = new JPanel();
rootPanel.setLayout(new GridLayoutManager(4, 1, new Insets(0, 0, 0, 0), -1, -1));
final JLabel label1 = new JLabel();
label1.setText("Parameters:");
rootPanel.add(label1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
parametersEdit = new JTextField();
rootPanel.add(parametersEdit, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_NORTH, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, new Dimension(14, 32), null, 0, false));
final JLabel label2 = new JLabel();
label2.setText("Working directory:");
rootPanel.add(label2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_NORTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
workingDirEdit = new TextFieldWithBrowseButton();
rootPanel.add(workingDirEdit, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_NORTH, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
}
/**
* @noinspection ALL
*/
public JComponent $$$getRootComponent$$$() {
return rootPanel;
}
}