diff --git a/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java b/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java index 8706438e6455fb6a44f806c06aede505f9fe2c76..9288335bf559ab8e1579e6347d87007e4c7db1c8 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java @@ -411,12 +411,25 @@ public class PropertiesPanel extends JPanel Dimension d = calcPreferred(partialField5prime.getPreferredSize().width); partialField5prime.setPreferredSize(d); partialField5prime.setOpaque(false); + partialField5prime.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e) + { + checkPartial(); + } + }); + optionsBox.add(partialField5prime); partialField3prime = new JCheckBox("partial 3'", ( isPartialQualfier3 != null ) ? true : false); partialField3prime.setPreferredSize(d); partialField3prime.setOpaque(false); + partialField3prime.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e) + { + checkPartial(); + } + }); optionsBox.add(partialField3prime); Qualifier obsoleteQualifier = gffQualifiers.getQualifierByName("isObsolete"); @@ -769,6 +782,25 @@ public class PropertiesPanel extends JPanel } } + /** + * Partial settings are made on the gene or transcript features. + * Provide a warning if this is not the case. + */ + private void checkPartial() + { + String keyStr = feature.getKey().getKeyString(); + if(keyStr.equals("polypeptide") || + keyStr.equals("CDS") || + keyStr.equals("pseudogenic_exon")) + { + JOptionPane.showMessageDialog(null, + "Partial settings should be updated on the transcript\n"+ + "or gene feature not a "+keyStr+". Please make this change\n"+ + "on the transcript or gene feature now.", + "Error", JOptionPane.WARNING_MESSAGE); + } + } + private boolean isSystematicId(final String synonymType) { if(synonymType.indexOf("systematic_id") > -1)