From 65119b28cc0fcf6cce2d01bae5a938c171a35578 Mon Sep 17 00:00:00 2001 From: tcarver <tjc> Date: Fri, 11 Oct 2013 11:49:06 +0100 Subject: [PATCH] change date panel to spinner --- .../genebuilder/cv/ControlledCurationBox.java | 2 +- .../components/genebuilder/cv/DatePanel.java | 81 +++++-------------- .../components/genebuilder/cv/GoBox.java | 2 +- .../components/genebuilder/cv/HistoryBox.java | 4 +- 4 files changed, 23 insertions(+), 66 deletions(-) diff --git a/uk/ac/sanger/artemis/components/genebuilder/cv/ControlledCurationBox.java b/uk/ac/sanger/artemis/components/genebuilder/cv/ControlledCurationBox.java index 321eddcb7..dee768e5d 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 9c275c995..1edf386b7 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 c49399ba0..be3f01019 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 2c619898c..1af0e8fc1 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); -- GitLab