diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java b/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java index 9359e31e24a1c5d8da4c7ebc962c422e9fedef24..b62bf94a0323843e9f08a74043a9a851d0fc4594 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java +++ b/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java @@ -24,17 +24,21 @@ package uk.ac.sanger.artemis.components.genebuilder.cv; +import java.awt.Color; import java.awt.Dimension; import java.awt.FontMetrics; import java.util.Vector; +import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.JTextField; import org.gmod.schema.cv.CvTerm; import uk.ac.sanger.artemis.chado.ChadoTransactionManager; +import uk.ac.sanger.artemis.components.QualifierTextArea; import uk.ac.sanger.artemis.components.genebuilder.JExtendedComboBox; +import uk.ac.sanger.artemis.components.genebuilder.TextAreaDocumentListener; import uk.ac.sanger.artemis.io.Qualifier; import uk.ac.sanger.artemis.io.QualifierVector; import uk.ac.sanger.artemis.util.DatabaseDocument; @@ -46,7 +50,7 @@ class HistoryBox extends AbstractCvBox private int value_index; private JExtendedComboBox termCombo; private JTextField curatorNameField; - private JTextField qualfTextField; + private QualifierTextArea qualfTextField; private DatePanel dateField; private String origQualifierString; private Qualifier origQualifier; @@ -69,7 +73,11 @@ class HistoryBox extends AbstractCvBox this.origQualifierString = qualifierString; this.value_index = value_index; this.xBox = Box.createHorizontalBox(); + + Box yBox = Box.createVerticalBox(); + Box lineBox = Box.createHorizontalBox(); + final String term = getField("term=", qualifierString); termCombo = @@ -92,32 +100,48 @@ class HistoryBox extends AbstractCvBox termCombo.setMaximumSize(d); termCombo.setSelectedItem(term); - xBox.add(termCombo); + lineBox.add(termCombo); // feature_cvterm_prop's + Dimension dimension2 = new Dimension(d.width*2, d.height); String qual = getField("curatorName=", qualifierString); - curatorNameField = new JTextField(qual); + curatorNameField = new JTextField(qual); curatorNameField.setToolTipText("qualifier column"); - curatorNameField.setPreferredSize(dimension); - curatorNameField.setMaximumSize(dimension); + curatorNameField.setPreferredSize(dimension2); + curatorNameField.setMaximumSize(dimension2); curatorNameField.setActionCommand("curatorName="); curatorNameField.setCaretPosition(0); - xBox.add(curatorNameField); - - qual = getFieldIgnoreSeparator("qualifier", qualifierString); - qualfTextField = new JTextField(qual); - qualfTextField.setToolTipText("qualifier column"); - Dimension dimension2 = new Dimension(dimension.width*2, dimension.height); - qualfTextField.setPreferredSize(dimension2); - qualfTextField.setMaximumSize(dimension2); - qualfTextField.setActionCommand("qualifier="); - qualfTextField.setCaretPosition(0); - xBox.add(qualfTextField); + lineBox.add(curatorNameField); dateField = new DatePanel(getField("date=", qualifierString), dimension.height); - xBox.add(dateField.getDateSpinner()); + lineBox.add(dateField.getDateSpinner()); + lineBox.add(Box.createHorizontalGlue()); + yBox.add(lineBox); + + lineBox = Box.createHorizontalBox(); + lineBox.add(Box.createHorizontalStrut(5)); + Dimension dimension4 = new Dimension( + termCombo.getPreferredSize().width+ + curatorNameField.getPreferredSize().width+ + dateField.getDateSpinner().getPreferredSize().width-5, dimension.height*20); + qual = getFieldIgnoreSeparator("qualifier", qualifierString); + qualfTextField = new QualifierTextArea(); + qualfTextField.setBorder(BorderFactory.createLineBorder(Color.gray)); + + qualfTextField.setText(qual); + qualfTextField.setToolTipText("qualifier column"); + qualfTextField.setPreferredSize(dimension4); + qualfTextField.setMaximumSize(dimension4); + qualfTextField.getDocument().addDocumentListener( + new TextAreaDocumentListener(qualfTextField)); + qualfTextField.setCaretPosition(0); + lineBox.add(qualfTextField); + lineBox.add(Box.createHorizontalGlue()); + yBox.add(lineBox); + + xBox.add(yBox); } protected boolean isQualifierChanged()