diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/ControlledCurationBox.java b/uk/ac/sanger/artemis/components/genebuilder/cv/ControlledCurationBox.java index 321eddcb77b4b67fb442cbf426c5f61ede8aaafd..dee768e5d30a2bd5c2ea40ddeef75c1167d3d60d 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/cv/ControlledCurationBox.java +++ b/uk/ac/sanger/artemis/components/genebuilder/cv/ControlledCurationBox.java @@ -143,7 +143,7 @@ class ControlledCurationBox extends AbstractCvBox dateField = new DatePanel(getField("date=", qualifierString), dimension.height); - xBox.add(dateField.getDateSpinner()); + xBox.add(dateField); } diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/DatePanel.java b/uk/ac/sanger/artemis/components/genebuilder/cv/DatePanel.java index 9c275c9954638262ab828192a5a8093dc032d654..1edf386b70030ebae2f4f1e0c17ae4ff16f02ef2 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/cv/DatePanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/cv/DatePanel.java @@ -39,25 +39,22 @@ import javax.swing.event.ChangeListener; /** * Date input panel */ -public class DatePanel +public class DatePanel extends JSpinner { - private JSpinner spinner; - + private static final long serialVersionUID = 1L; + public DatePanel(final String date, final int height) { this(date); - spinner.setMaximumSize( - new Dimension(spinner.getPreferredSize().width, height)); + setMaximumSize( + new Dimension(getPreferredSize().width, height)); } public DatePanel(final String date) { Date initDate = getDate(date); Calendar calendar = Calendar.getInstance(); - - //if(initDate == null) - // initDate = calendar.getTime(); calendar.add(Calendar.YEAR, -100); Date earliestDate = calendar.getTime(); calendar.add(Calendar.YEAR, 200); @@ -69,29 +66,28 @@ public class DatePanel earliestDate, latestDate, Calendar.YEAR); - spinner = new JSpinner(model); - spinner.setBackground(Color.white); - spinner.setEditor(new JSpinner.DateEditor(spinner, "yyyy/MM/dd")); + setModel(model); + setBackground(Color.white); + setEditor(new JSpinner.DateEditor(this, "yyyy/MM/dd")); } else { SpinnerListModel model = new SpinnerListModel( new String[] { "", "----/--/--", "" } ); - spinner = new JSpinner(model); - spinner.setBackground(Color.white); - spinner.setValue("----/--/--"); + setModel(model); + setBackground(Color.white); + setValue("----/--/--"); model.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { - if(spinner.getModel() instanceof SpinnerListModel) + if(getModel() instanceof SpinnerListModel) { - spinner.setModel(new SpinnerDateModel()); - spinner.setEditor(new JSpinner.DateEditor(spinner, "yyyy/MM/dd")); + setModel(new SpinnerDateModel()); + setEditor(new JSpinner.DateEditor(DatePanel.this, "yyyy/MM/dd")); } } }); - } - + } } /** @@ -116,51 +112,13 @@ public class DatePanel return cal.getTime(); } - /*class DateVerifier extends InputVerifier - { - java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( - "yyyyMMdd"); - java.util.Calendar cal = java.util.Calendar.getInstance(); - public DateVerifier() - { - sdf.setLenient(false); - } - - public boolean verify(JComponent input) - { - JFormattedTextField ftf = (JFormattedTextField) input; - // allow null entry which will include slashes because of the - // mask - if(ftf.getText().trim().equals("")) - { - ftf.setValue( null ); - return true; - } - - try - { - cal.setTime(sdf.parse(ftf.getText())); - } - catch (Exception pe) - { - return false; - } - return true; - } - }*/ - - public JSpinner getDateSpinner() - { - return spinner; - } - - public String getText() + protected String getText() { - if(spinner.getModel() instanceof SpinnerDateModel) + if(getModel() instanceof SpinnerDateModel) { java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( "yyyyMMdd"); - Date date = ((SpinnerDateModel)spinner.getModel()).getDate(); + Date date = ((SpinnerDateModel)getModel()).getDate(); return sdf.format(date); } return ""; @@ -173,5 +131,4 @@ public class DatePanel Date date = new Date(); return sdf.format(date); } - -} \ No newline at end of file +} diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/GoBox.java b/uk/ac/sanger/artemis/components/genebuilder/cv/GoBox.java index c49399ba0c85c08eb76edd23e051f88e0225518a..be3f01019a22fee43d226948b80f0537b574e5e0 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/cv/GoBox.java +++ b/uk/ac/sanger/artemis/components/genebuilder/cv/GoBox.java @@ -244,7 +244,7 @@ public class GoBox extends AbstractCvBox dimension.height); editable.add(dateField); - xBox.add(dateField.getDateSpinner()); + xBox.add(dateField); } public static CvTerm getGOCvTerm(String term) diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java b/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java index 2c619898c38dbb67b1ab789d7a5eedb704b6d8f3..1af0e8fc14fdbb309a0d44c031a1cb61f6b921e4 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java +++ b/uk/ac/sanger/artemis/components/genebuilder/cv/HistoryBox.java @@ -115,7 +115,7 @@ public class HistoryBox extends AbstractCvBox dateField = new DatePanel(getField("date=", qualifierString), dimension.height); - lineBox.add(dateField.getDateSpinner()); + lineBox.add(dateField); lineBox.add(Box.createHorizontalGlue()); yBox.add(lineBox); @@ -124,7 +124,7 @@ public class HistoryBox extends AbstractCvBox Dimension dimension4 = new Dimension( termCombo.getPreferredSize().width+ curatorNameField.getPreferredSize().width+ - dateField.getDateSpinner().getPreferredSize().width-5, dimension.height*20); + dateField.getPreferredSize().width-5, dimension.height*20); qual = getFieldIgnoreSeparator("qualifier", qualifierString); qualfTextField = new QualifierTextArea(); qualfTextField.setUseHyperlinks(false);