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

fixes and updates

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@5999 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 7d671edd
No related branches found
No related tags found
No related merge requests found
......@@ -20,7 +20,7 @@
* 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/GeneComponentTree.java,v 1.18 2007-05-01 09:36:42 tjc Exp $
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/GeneComponentTree.java,v 1.19 2007-05-03 12:57:01 tjc Exp $
*/
package uk.ac.sanger.artemis.components.genebuilder;
......@@ -351,7 +351,11 @@ public class GeneComponentTree extends JTree
if(feature == null)
feature = new uk.ac.sanger.artemis.Feature(embl_feature);
gene_builder.setActiveFeature(feature, true);
boolean isSet = true;
if(feature.isReadOnly())
isSet = false;
gene_builder.setActiveFeature(feature, isSet);
if(selection != null)
selection.set(feature);
}
......
......@@ -20,7 +20,7 @@
* 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/GeneViewerPanel.java,v 1.50 2007-05-01 15:02:18 tjc Exp $
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java,v 1.51 2007-05-03 12:57:01 tjc Exp $
*/
package uk.ac.sanger.artemis.components.genebuilder;
......@@ -1654,8 +1654,13 @@ public class GeneViewerPanel extends JPanel
{
selection.set(
(uk.ac.sanger.artemis.Feature)((Feature)feature).getUserData());
boolean isSet = true;
if(((Feature)feature).isReadOnly())
isSet = false;
gene_builder.setActiveFeature(
(uk.ac.sanger.artemis.Feature)((Feature)feature).getUserData(), true);
(uk.ac.sanger.artemis.Feature)((Feature)feature).getUserData(), isSet);
}
else
{
......
......@@ -77,6 +77,10 @@ public class CVPanel extends JPanel
private JExtendedComboBox evidenceList;
private JButton hide_show_CC;
private JButton hide_show_GO;
public CVPanel(final Feature feature)
{
super(new BorderLayout());
......@@ -141,6 +145,21 @@ public class CVPanel extends JPanel
if(this_qualifier.getName().equals("GO"))
{
final Box yBox = Box.createVerticalBox();
if(hide_show_GO == null)
hide_show_GO = new JButton("-");
addHideShowButton(yBox, hide_show_GO);
Box xLabel = Box.createHorizontalBox();
JLabel lab = new JLabel("GO terms");
lab.setFont(lab.getFont().deriveFont(Font.BOLD));
xLabel.add(lab);
xLabel.add(Box.createHorizontalGlue());
xLabel.add(hide_show_GO);
cvBox.add(xLabel);
n++;
final StringVector qualifier_strings = this_qualifier.getValues();
......@@ -161,8 +180,11 @@ public class CVPanel extends JPanel
xBox.add(Box.createHorizontalGlue());
xBox.add(getRemoveButton(this_qualifier, v_index));
cvBox.add(xBox);
yBox.add(xBox);
}
cvBox.add(yBox);
if(hide_show_GO.getText().equals("+"))
yBox.setVisible(false);
}
}
......@@ -180,6 +202,20 @@ public class CVPanel extends JPanel
{
final StringVector qualifier_strings = this_qualifier.getValues();
final Box yBox = Box.createVerticalBox();
if(hide_show_CC == null)
hide_show_CC = new JButton("-");
addHideShowButton(yBox, hide_show_CC);
Box xLabel = Box.createHorizontalBox();
JLabel lab = new JLabel("Controlled Curation");
lab.setFont(lab.getFont().deriveFont(Font.BOLD));
xLabel.add(lab);
xLabel.add(Box.createHorizontalGlue());
xLabel.add(hide_show_CC);
cvBox.add(xLabel);
for(int value_index = 0; value_index < qualifier_strings.size();
++value_index)
{
......@@ -192,14 +228,17 @@ public class CVPanel extends JPanel
ControlledCurationBox ccBox = new ControlledCurationBox(this_qualifier,
qualifierString, value_index,
dimension4, go_dimension);
dimension, go_dimension);
editableComponents.add(ccBox);
xBox = ccBox.getBox();
xBox.add(Box.createHorizontalGlue());
xBox.add(getRemoveButton(this_qualifier, v_index));
cvBox.add(xBox);
yBox.add(xBox);
}
cvBox.add(yBox);
if(hide_show_CC.getText().equals("+"))
yBox.setVisible(false);
}
}
......@@ -306,6 +345,42 @@ public class CVPanel extends JPanel
return cvBox;
}
/**
* Add hide/show button to CV section
* @param box
*/
private void addHideShowButton(final Box box, final JButton hide_show)
{
hide_show.setOpaque(false);
// remove any old listeners
ActionListener l[] = hide_show.getActionListeners();
if(l != null)
for(int i=0;i<l.length;i++)
hide_show.removeActionListener(l[i]);
hide_show.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(hide_show.getText().equals("-"))
{
hide_show.setText("+");
box.setVisible(false);
}
else
{
hide_show.setText("-");
box.setVisible(true);
}
}
});
}
/**
* Separator between CV's
* @param cvBox
*/
private void addSeparator(final Box cvBox)
{
JSeparator separator = new JSeparator();
......
......@@ -27,10 +27,10 @@ package uk.ac.sanger.artemis.components.genebuilder.cv;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.JLabel;
import javax.swing.JTextField;
import uk.ac.sanger.artemis.components.Splash;
import uk.ac.sanger.artemis.components.genebuilder.JExtendedComboBox;
import uk.ac.sanger.artemis.io.Qualifier;
import uk.ac.sanger.artemis.io.QualifierVector;
import uk.ac.sanger.artemis.util.StringVector;
......@@ -40,6 +40,9 @@ class ControlledCurationBox extends AbstractCvBox
private Box xBox;
private int value_index;
private JTextField termTextField;
private JTextField dbxrefTextField;
private JExtendedComboBox evidenceList;
private JTextField qualfTextField;
private DatePanel dateField;
private String origQualifierString;
private Qualifier origQualifier;
......@@ -55,23 +58,66 @@ class ControlledCurationBox extends AbstractCvBox
this.value_index = value_index;
this.xBox = Box.createHorizontalBox();
JLabel cclabel = new JLabel("controlled_curation");
if(go_dimension != null)
cclabel.setPreferredSize(go_dimension);
//JLabel cclabel = new JLabel("controlled_curation");
//if(go_dimension != null)
// cclabel.setPreferredSize(go_dimension);
xBox.add(cclabel);
//xBox.add(cclabel);
String term = getField("term=", qualifierString);
termTextField = new JTextField(term);
termTextField.setOpaque(false);
termTextField.setEditable(false);
termTextField.setToolTipText("term column");
if(go_dimension != null)
{
final Dimension d = new Dimension(go_dimension.width+dimension.width,
dimension.height);
termTextField.setPreferredSize(d);
termTextField.setMaximumSize(d);
}
else
{
termTextField.setPreferredSize(dimension);
termTextField.setMaximumSize(dimension);
}
termTextField.setCaretPosition(0);
xBox.add(termTextField);
String dbxref = getField("db_xref=", qualifierString);
dbxrefTextField = new JTextField(dbxref);
dbxrefTextField.setToolTipText("dbxref column");
dbxrefTextField.setPreferredSize(dimension);
dbxrefTextField.setMaximumSize(dimension);
dbxrefTextField.setActionCommand("db_xref=");
xBox.add(dbxrefTextField);
// feature_cvterm_prop's
String evidence = getField("evidence=", qualifierString);
evidenceList = new JExtendedComboBox(GoBox.evidenceCodes[1]);
evidenceList.setOpaque(false);
evidenceList.setToolTipText("evidence column");
evidenceList.setSelectedIndex( GoBox.getEvidenceIndex(evidence) );
Dimension d = evidenceList.getPreferredSize();
d = new Dimension(80,(int)d.getHeight());
evidenceList.setPreferredSize(d);
evidenceList.setMaximumSize(d);
evidenceList.setActionCommand("evidence=");
xBox.add(evidenceList);
String qual = getField("qualifier=", qualifierString);
qualfTextField = new JTextField(qual);
qualfTextField.setToolTipText("qualifier column");
qualfTextField.setPreferredSize(dimension);
qualfTextField.setMaximumSize(dimension);
qualfTextField.setActionCommand("qualifier=");
xBox.add(qualfTextField);
dateField = new DatePanel(getField("date=", qualifierString),
dimension.height);
......@@ -82,9 +128,23 @@ class ControlledCurationBox extends AbstractCvBox
protected boolean isQualifierChanged()
{
String old = getField("date=", origQualifierString);
String old = getField("db_xref=", origQualifierString);
if(!old.equals(dbxrefTextField.getText().trim()))
return true;
old = getField("evidence=", origQualifierString);
if(!(old.equals("") && evidenceList.getSelectedIndex() == -1) )
if(!old.equals(GoBox.evidenceCodes[2][ evidenceList.getSelectedIndex() ]))
return true;
old = getField("qualifier=", origQualifierString);
if(!old.equals(qualfTextField.getText()))
return true;
old = getField("date=", origQualifierString);
if(!old.equals(dateField.getText()))
return true;
return false;
}
......@@ -116,6 +176,28 @@ class ControlledCurationBox extends AbstractCvBox
newQualifierString);
}
old = getField("db_xref=", origQualifierString);
if(!old.equals(dbxrefTextField.getText().trim()))
{
newQualifierString = changeField("db_xref=", dbxrefTextField.getText().trim(),
newQualifierString);
}
old = getField("evidence=", origQualifierString);
if(evidenceList.getSelectedIndex() > -1 &&
!old.equals(GoBox.evidenceCodes[2][ evidenceList.getSelectedIndex() ]))
{
newQualifierString = changeField("evidence=", GoBox.evidenceCodes[2][ evidenceList.getSelectedIndex() ],
newQualifierString);
}
old = getField("qualifier=", origQualifierString);
if(!old.equals(qualfTextField.getText()))
{
newQualifierString = changeField("qualifier=", qualfTextField.getText().trim(),
newQualifierString);
}
return newQualifierString;
}
......
......@@ -198,13 +198,21 @@ class GoBox extends AbstractCvBox
xBox.add(dateField.getDateSpinner());
}
private int getEvidenceIndex(String evidence)
protected static int getEvidenceIndex(String evidence)
{
for(int i=0; i<evidenceCodes[2].length; i++)
{
if(evidenceCodes[2][i].equals(evidence))
if(evidenceCodes[2][i].equalsIgnoreCase(evidence))
return i;
}
// this is mainly to catch RCA
// - reviewed computational analysis (inferred from missing)
/*for(int i=0; i<evidenceCodes[2].length; i++)
{
if(evidenceCodes[2][i].indexOf(evidence) > -1)
return i;
}*/
return -1;
}
......@@ -229,7 +237,7 @@ class GoBox extends AbstractCvBox
return true;
old = getField("evidence=", origQualifierString);
if(!old.equals(evidenceCodes[2][ evidenceList.getSelectedIndex() ]))
if(!old.equalsIgnoreCase(evidenceCodes[2][ evidenceList.getSelectedIndex() ]))
return true;
old = getField("qualifier=", origQualifierString);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment