Skip to content
Snippets Groups Projects
Commit c27627c6 authored by tjc's avatar tjc
Browse files

updates

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@5933 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent ee1742fa
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,7 @@ import java.awt.Color;
import java.awt.Component;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
......@@ -110,12 +111,14 @@ public class CVPanel extends JPanel
editableComponents = new Vector();
Dimension dimension = new Dimension(150, 30);
final Dimension dimension = new Dimension(100, 30);
final Dimension dimension4 = new Dimension(dimension.width*4, 30);
Box cvBox = Box.createVerticalBox();
Box xBox = Box.createHorizontalBox();
JButton addRemove = new JButton("ADD");
addRemove.setOpaque(false);
addRemove.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
......@@ -160,14 +163,9 @@ public class CVPanel extends JPanel
}
}
JSeparator separator = new JSeparator();
separator.setPreferredSize(new Dimension(350,10));
separator.setMaximumSize(new Dimension(350,10));
if(n > 0)
{
cvBox.add(Box.createVerticalStrut(5));
cvBox.add(separator);
}
addSeparator(cvBox);
n = 0;
for(int qualifier_index = 0; qualifier_index < cvQualifiers.size();
......@@ -190,7 +188,7 @@ public class CVPanel extends JPanel
ControlledCurationBox ccBox = new ControlledCurationBox(this_qualifier,
qualifierString, value_index,
dimension, go_dimension);
dimension4, go_dimension);
editableComponents.add(ccBox);
xBox = ccBox.getBox();
......@@ -202,10 +200,7 @@ public class CVPanel extends JPanel
}
if(n > 0)
{
cvBox.add(Box.createVerticalStrut(5));
cvBox.add(separator);
}
addSeparator(cvBox);
//
// RILEY
......@@ -213,7 +208,7 @@ public class CVPanel extends JPanel
if(go_dimension == null)
go_dimension = new JLabel("product ").getPreferredSize();
n = 0;
for(int qualifier_index = 0; qualifier_index < cvQualifiers.size(); ++qualifier_index)
{
final Qualifier this_qualifier = (Qualifier) cvQualifiers
......@@ -258,10 +253,7 @@ public class CVPanel extends JPanel
if(n > 0)
{
cvBox.add(Box.createVerticalStrut(5));
cvBox.add(separator);
}
addSeparator(cvBox);
for(int qualifier_index = 0; qualifier_index < cvQualifiers.size();
++qualifier_index)
......@@ -288,8 +280,8 @@ public class CVPanel extends JPanel
JTextField termTextField = new JTextField(qualifierString);
termTextField.setEditable(false);
termTextField.setToolTipText("term column");
termTextField.setPreferredSize(dimension);
termTextField.setMaximumSize(dimension);
termTextField.setPreferredSize(dimension4);
termTextField.setMaximumSize(dimension4);
termTextField.setCaretPosition(0);
xBox.add(termTextField);
......@@ -307,11 +299,25 @@ public class CVPanel extends JPanel
return cvBox;
}
private void addSeparator(final Box cvBox)
{
JSeparator separator = new JSeparator();
separator.setPreferredSize(new Dimension(getSize().width,10));
separator.setMaximumSize(new Dimension(getSize().width,10));
cvBox.add(Box.createVerticalStrut(5));
cvBox.add(separator);
}
private JButton getRemoveButton(final Qualifier this_qualifier,
final int v_index)
{
JButton buttRemove = new JButton("REMOVE");
JButton buttRemove = new JButton("X");
buttRemove.setOpaque(false);
Font font = buttRemove.getFont().deriveFont(Font.BOLD);
buttRemove.setFont(font);
buttRemove.setToolTipText("REMOVE");
buttRemove.setForeground(new Color(139,35,35));
buttRemove.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
......
......@@ -25,11 +25,8 @@
package uk.ac.sanger.artemis.components.genebuilder.cv;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.Box;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JTextField;
......@@ -43,7 +40,7 @@ class ControlledCurationBox extends CvBoxA
private Box xBox;
private int value_index;
private JTextField termTextField;
private JFormattedTextField dateField;
private DatePanel dateField;
private String origQualifierString;
private Qualifier origQualifier;
......@@ -73,22 +70,11 @@ class ControlledCurationBox extends CvBoxA
termTextField.setCaretPosition(0);
xBox.add(termTextField);
String date = getField("date=", qualifierString);
Date this_date = getDate(date);
dateField = new JFormattedTextField(new SimpleDateFormat("yyyyMMdd"))
{
protected int getColumnWidth()
{
return dateField.getFontMetrics(getFont()).charWidth('0');
}
};
dateField.setInputVerifier(new DateVerifier());
dateField.setValue(this_date);
dateField.setToolTipText("date column");
dateField.setColumns(8);
dateField.setMaximumSize(dimension);
xBox.add(dateField);
dateField = new DatePanel(getField("date=", qualifierString),
dimension.height);
xBox.add(dateField.getDateSpinner());
}
......
......@@ -27,12 +27,6 @@ package uk.ac.sanger.artemis.components.genebuilder.cv;
import java.util.Calendar;
import java.util.Date;
import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JFormattedTextField;
import javax.swing.JOptionPane;
import uk.ac.sanger.artemis.io.Qualifier;
import uk.ac.sanger.artemis.io.QualifierVector;
/**
......@@ -136,38 +130,7 @@ abstract class CvBoxA
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;
}
}
protected abstract boolean isQualifierChanged();
......
/* DatePanel.java
*
* created: 2007
*
* This file is part of Artemis
*
* Copyright (C) 2007 Genome Research Limited
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
**/
package uk.ac.sanger.artemis.components.genebuilder.cv;
import java.awt.Dimension;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
/**
* Date input panel
*/
public class DatePanel
{
private JSpinner spinner;
public DatePanel(final String date,
final int height)
{
this(date);
spinner.setMaximumSize(
new Dimension(spinner.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);
Date latestDate = calendar.getTime();
SpinnerDateModel model = new SpinnerDateModel(initDate,
earliestDate,
latestDate,
Calendar.YEAR);
spinner = new JSpinner(model);
spinner.setEditor(new JSpinner.DateEditor(spinner, "yyyy/MM/dd"));
}
/**
* Get a Date object from a date string in the format 20061129
* @param dateStr
* @return
*/
protected Date getDate(String dateStr)
{
Calendar cal = Calendar.getInstance();
cal.clear();
if(dateStr == null ||
dateStr.equals("") ||
dateStr.length() != 8)
return null;
int year = Integer.parseInt(dateStr.substring(0,4));
int month = Integer.parseInt(dateStr.substring(4, 6))-1;
int day = Integer.parseInt(dateStr.substring(6,8));
cal.set(year,month,day);
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()
{
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyyMMdd");
Date date = ((SpinnerDateModel)spinner.getModel()).getDate();
return sdf.format(date);
}
}
\ No newline at end of file
......@@ -24,13 +24,12 @@
package uk.ac.sanger.artemis.components.genebuilder.cv;
import java.awt.Color;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.awt.Font;
import java.util.Vector;
import javax.swing.Box;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JTextField;
......@@ -86,7 +85,7 @@ class GoBox extends CvBoxA
private JTextField dbxrefTextField;
private JExtendedComboBox evidenceList;
private JTextField qualfTextField;
private JFormattedTextField dateField;
private DatePanel dateField;
private String origQualifierString;
private Qualifier origQualifier;
......@@ -107,20 +106,37 @@ class GoBox extends CvBoxA
final String term = getField("term=", qualifierString);
CvTerm cvTerm = DatabaseDocument.getCvTermByCvTermName(term);
JLabel goTermField = new JLabel(goId);
JLabel goAspect = null;
Font font = goTermField.getFont().deriveFont(Font.BOLD);
if(cvTerm.getCv().getName().equals("molecular_function"))
goId = goId+" aspect=F ";
{
goAspect = new JLabel(" [F] ");
goAspect.setForeground(Color.RED);
goAspect.setFont(font);
}
else if(cvTerm.getCv().getName().equals("biological_process"))
goId = goId+" aspect=P ";
{
goAspect = new JLabel(" [P] ");
goAspect.setForeground(Color.GREEN);
goAspect.setFont(font);
}
else if(cvTerm.getCv().getName().equals("cellular_component"))
goId = goId+" aspect=C ";
{
goAspect = new JLabel(" [C] ");
goAspect.setForeground(Color.BLUE);
goAspect.setFont(font);
}
JLabel goTermField = new JLabel(goId);
if(go_dimension == null)
this.go_dimension = new Dimension(goTermField.getPreferredSize().width+10,
this.go_dimension = new Dimension(goTermField.getPreferredSize().width+
goAspect.getPreferredSize().width,
goTermField.getPreferredSize().height);
goTermField.setPreferredSize(this.go_dimension);
goTermField.setToolTipText(term);
xBox.add(goTermField);
xBox.add(goAspect);
// the WITH column is associated with one or more FeatureCvTermDbXRef
String with = getField("with=", qualifierString);
......@@ -148,6 +164,7 @@ class GoBox extends CvBoxA
String evidence = getField("evidence=", qualifierString);
evidenceList = new JExtendedComboBox(evidenceCodes[1]);
evidenceList.setOpaque(false);
evidenceList.setToolTipText("evidence column");
evidenceList.setSelectedIndex( getEvidenceIndex(evidence) );
......@@ -168,26 +185,11 @@ class GoBox extends CvBoxA
editable.add(qualfTextField);
xBox.add(qualfTextField);
String date = getField("date=", qualifierString);
Date this_date = getDate(date);
dateField = new JFormattedTextField(new SimpleDateFormat("yyyyMMdd"))
{
/** */
private static final long serialVersionUID = 1L;
dateField = new DatePanel( getField("date=", qualifierString),
d.height);
protected int getColumnWidth()
{
return dateField.getFontMetrics(getFont()).charWidth('0');
}
};
dateField.setInputVerifier(new DateVerifier());
dateField.setValue(this_date);
dateField.setToolTipText("date column");
dateField.setColumns(8);
dateField.setMaximumSize(dimension);
dateField.setActionCommand("date=");
editable.add(dateField);
xBox.add(dateField);
xBox.add(dateField.getDateSpinner());
}
private int getEvidenceIndex(String evidence)
......
......@@ -17,11 +17,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/gff/GffPanel.java,v 1.6 2007-02-20 14:38:03 tjc Exp $
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/gff/GffPanel.java,v 1.7 2007-04-19 15:22:06 tjc Exp $
*/
package uk.ac.sanger.artemis.components.genebuilder.gff;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
......@@ -98,6 +99,7 @@ public class GffPanel extends JPanel
GridBagConstraints c = new GridBagConstraints();
c.ipady = 5;
JPanel gridPanel = new JPanel(grid);
gridPanel.setBackground(Color.WHITE);
Dimension cellDimension = null;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment