diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java b/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java index a7ea0646fa454f05b0e21c20507d5bfb6184107c..847710b3089b4a2b0448c890a9c43b5c2f3cd737 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java +++ b/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java @@ -216,7 +216,9 @@ public class GeneBuilderFrame extends JFrame feature_editor = new FeatureEdit(feature, entry_group, selection, goto_event_source, this); - + feature_editor.getQualifierTextArea().getDocument().addDocumentListener( + new TextAreaDocumentListener(feature_editor.getQualifierTextArea())); + tabpane = new JTabbedPane(); tabpane.addTab("Annotation", feature_editor); setTabTitle(); diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java b/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java index 1c5680fd193ee3064285bba9dd426557455014fb..9939010fbf9d7effaa81047c3942912b3c2d6772 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java @@ -57,11 +57,13 @@ public class GeneEditorPanel extends JPanel private OpenSectionButton cvButton; private OpenSectionButton matchButton; private OpenSectionButton propertiesButton; + private OpenSectionButton refButton; private QualifierTextArea qualifier_text_area; private CVPanel cvForm; private MatchPanel matchForm; private PropertiesPanel propertiesPanel; + private ReferencesPanel refPanel; /** * Gene editor panel - showing annotation in a single panel. @@ -71,7 +73,8 @@ public class GeneEditorPanel extends JPanel * @param propertiesPanel */ public GeneEditorPanel(final QualifierTextArea qualifier_text_area, - final CVPanel cvForm, + final CVPanel cvForm, + final ReferencesPanel refPanel, final MatchPanel matchForm, final PropertiesPanel propertiesPanel) { @@ -79,19 +82,24 @@ public class GeneEditorPanel extends JPanel this.cvForm = cvForm; this.matchForm = matchForm; this.propertiesPanel = propertiesPanel; + this.refPanel = refPanel; setLayout( new BoxLayout(this, BoxLayout.PAGE_AXIS) ); setBackground(Color.WHITE); - JScrollPane jspCore = new JScrollPane(qualifier_text_area); - jspCore.setPreferredSize(new Dimension(jspCore.getPreferredSize().width, 100)); + //JScrollPane jspCore = new JScrollPane(qualifier_text_area); + //jspCore.setPreferredSize(new Dimension(jspCore.getPreferredSize().width, 100)); addDarkSeparator(this); propertiesButton = addOpenClosePanel("Properties", propertiesPanel, this, null); add(propertiesPanel); addDarkSeparator(this); - coreButton = addOpenClosePanel("Core",jspCore, this, null); - add(jspCore); + coreButton = addOpenClosePanel("Core",qualifier_text_area, this, null); + add(qualifier_text_area); + + addDarkSeparator(this); + refButton = addOpenClosePanel("References",refPanel, this, null); + add(refPanel); addDarkSeparator(this); cvButton = addOpenClosePanel("Controlled Vocabulary", cvForm, this, @@ -122,6 +130,11 @@ public class GeneEditorPanel extends JPanel else cvButton.setOpen(true); + if(refPanel.isEmpty()) + refButton.setOpen(false); + else + refButton.setOpen(true); + if(matchForm.isEmpty()) matchButton.setOpen(false); else diff --git a/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java b/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java index e32b06973b99be33110ad407a181688e2a084566..92dc9b373a9cd5f42205ddf821cf1558a76c0530 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java @@ -62,8 +62,9 @@ public class ReferencesPanel extends JPanel return false; } - private void updateFromFeature(Feature feature) + public void updateFromFeature(Feature feature) { + super.removeAll(); GridBagConstraints c = new GridBagConstraints(); JPanel gridPanel = new JPanel(new GridBagLayout()); gridPanel.setBackground(Color.white); @@ -98,20 +99,27 @@ public class ReferencesPanel extends JPanel c.gridy = 0; c.ipadx = 5; c.ipady = 5; - c.anchor = GridBagConstraints.NORTHWEST; + c.anchor = GridBagConstraints.NORTHEAST; c.fill = GridBagConstraints.NONE; - gridPanel.add(new JLabel("Literature"),c); + JLabel litLab = new JLabel("Literature"); + litLab.setToolTipText("Comma separated list, e.g. PMID:12345, PMID:56789..."); + gridPanel.add(litLab,c); c.gridx = 1; + c.anchor = GridBagConstraints.NORTHWEST; gridPanel.add(literatureTextArea,c); c.gridx = 0; c.gridy = 1; - gridPanel.add(new JLabel("Dbxref"),c); + c.anchor = GridBagConstraints.NORTHEAST; + JLabel dbLab = new JLabel("Dbxref"); + dbLab.setToolTipText("Comma separated list, e.g. UniProtKB:Q9NFB6, ..."); + gridPanel.add(dbLab,c); c.gridx = 1; + c.anchor = GridBagConstraints.NORTHWEST; gridPanel.add(dbxrefTextArea,c); - + add(gridPanel); - + literatureTextArea.setText(litBuffer.toString()+"\n"); dbxrefTextArea.setText(dbxrefBuffer.toString()+"\n"); }