package de.jigp.plugin.configuration;
import javax.swing.*;
import java.awt.*;
public class BuilderConfigurationPanel extends JPanel {
private JTextField annotation;
private JTextField assertionExpression;
private GridBagConstraints constraints;
public BuilderConfigurationPanel() {
initPanel();
}
private void initPanel() {
addBorder();
initLayout();
setXY(0, 0);
this.add(new JLabel("Annotation (full qualified)"), constraints);
setXY(1, 0);
setWeightX(1.0);
this.add(annotation, constraints);
setXY(0, 1);
setWeightX(0);
this.add(new JLabel("Static assertion method (full qualified)"), constraints);
setXY(1, 1);
setWeightX(1.0);
setWeightY(1.0);
constraints.fill = GridBagConstraints.BOTH;
this.add(assertionExpression, constraints);
}
private void setWeightY(double y) {
constraints.weighty = y;
}
private void setWeightX(double x) {
constraints.weightx = x;
}
private void setXY(int x, int y) {
constraints.gridx = x;
constraints.gridy = y;
}
private void initLayout() {
annotation = new JTextField();
assertionExpression = new JTextField();
setLayout(new GridBagLayout());
constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 0;
constraints.anchor = GridBagConstraints.LINE_START;
constraints.insets = new Insets(0, 0, 0, 0);
constraints.gridwidth = 1;
constraints.gridheight = 1;
}
private void addBorder() {
this.setBorder(BorderFactory.createTitledBorder("Builder configuration"));
}
public void fillConfiguration(Configuration configuration) {
configuration.builderAnnotation = annotation.getText();
configuration.builderAssertionExpression = assertionExpression.getText();
}
public void setConfiguration(Configuration configuration) {
annotation.setText(configuration.builderAnnotation);
assertionExpression.setText(configuration.builderAssertionExpression);
}
}