/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
import java.awt.event.*;
import jalview.analysis.*;
+import jalview.bin.JalviewLite;
import jalview.commands.*;
import jalview.datamodel.*;
import jalview.io.*;
}
viewport.showSequenceFeatures = true;
sequenceFeatures.setState(true);
+ if (viewport.featureSettings!=null)
+ {
+ viewport.featureSettings.refreshTable();
+ }
alignPanel.paintAlignment(true);
}
{
delete_actionPerformed();
}
+ else if (source == grpsFromSelection)
+ {
+ makeGrpsFromSelection_actionPerformed();
+ }
else if (source == deleteGroups)
{
deleteGroups_actionPerformed();
return annotation;
}
+ private Hashtable getDisplayedFeatureCols()
+ {
+ if (alignPanel.getFeatureRenderer()!=null) {
+ FeatureRenderer fr = alignPanel.getFeatureRenderer();
+ Hashtable fcols = new Hashtable();
+ Enumeration en = viewport.featuresDisplayed.keys();
+ while (en.hasMoreElements())
+ {
+ Object col = en.nextElement();
+ fcols.put(col,fr.featureColours.get(col));
+ }
+ return fcols;
+ }
+ return null;
+ }
+
public String outputFeatures(boolean displayTextbox, String format)
{
String features;
if (format.equalsIgnoreCase("Jalview"))
{
features = new FeaturesFile().printJalviewFormat(viewport.alignment
- .getSequencesArray(), viewport.featuresDisplayed);
+ .getSequencesArray(), getDisplayedFeatureCols());
}
else
{
features = new FeaturesFile().printGFFFormat(viewport.alignment
- .getSequencesArray(), viewport.featuresDisplayed);
+ .getSequencesArray(), getDisplayedFeatureCols());
}
if (displayTextbox)
this.setVisible(false);
}
}
-
+ protected void makeGrpsFromSelection_actionPerformed()
+ {
+ if (viewport.getSelectionGroup() != null)
+ {
+ SequenceGroup[] gps = jalview.analysis.Grouping.makeGroupsFrom(
+ viewport.getSequenceSelection(), viewport.getAlignmentView(
+ true).getSequenceStrings(viewport.getGapCharacter()),
+ viewport.alignment.getGroups());
+ viewport.alignment.deleteAllGroups();
+ viewport.sequenceColours = null;
+ viewport.setSelectionGroup(null);
+ // set view properties for each group
+ for (int g = 0; g < gps.length; g++)
+ {
+ // gps[g].setShowunconserved(viewport.getShowUnconserved());
+ gps[g].setIncludeAllConsSymbols(viewport.isIncludeAllConsensusSymbols());
+ viewport.alignment.addGroup(gps[g]);
+ Color col = new Color((int) (Math.random() * 255), (int) (Math
+ .random() * 255), (int) (Math.random() * 255));
+ col = col.brighter();
+ for (Enumeration sq = gps[g].getSequences(null).elements(); sq
+ .hasMoreElements(); viewport.setSequenceColour(
+ (SequenceI) sq.nextElement(), col))
+ ;
+ }
+ PaintRefresher.Refresh(this, viewport.getSequenceSetId());
+ // alignPanel.updateAnnotation();
+ alignPanel.paintAlignment(true);
+ }
+ }
protected void deleteGroups_actionPerformed()
{
viewport.alignment.deleteAllGroups();
class AboutPanel extends Canvas
{
String version;
-
- public AboutPanel(String version)
+ String builddate;
+ public AboutPanel(String version, String builddate)
{
this.version = version;
+ this.builddate = builddate;
}
public void paint(Graphics g)
// lite and application
g.setFont(new Font("Helvetica", Font.BOLD, 14));
g.drawString("JalviewLite - Release " + version, x, y += fh);
+ g.setFont(new Font("Helvetica", Font.BOLD, 12));
+ g.drawString("Build date: "+builddate, x, y += fh);
g.setFont(new Font("Helvetica", Font.PLAIN, 12));
g
.drawString(
}
}
- String version = "test";
- java.net.URL url = getClass().getResource("/.build_properties");
- if (url != null)
- {
- try
- {
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- url.openStream()));
- String line;
- while ((line = reader.readLine()) != null)
- {
- if (line.indexOf("VERSION") > -1)
- {
- version = line.substring(line.indexOf("=") + 1);
- }
- }
- } catch (Exception ex)
- {
- ex.printStackTrace();
- }
- }
-
Frame frame = new Frame();
- frame.add(new AboutPanel(version));
+ frame.add(new AboutPanel(JalviewLite.getVersion(), JalviewLite.getBuildDate()));
jalview.bin.JalviewLite.addFrame(frame, "Jalview", 580, 220);
}
MenuItem deleteGroups = new MenuItem();
+ MenuItem grpsFromSelection= new MenuItem();
+
MenuItem delete = new MenuItem();
MenuItem copy = new MenuItem();
nucleotideColour.addActionListener(this);
deleteGroups.setLabel("Undefine Groups");
deleteGroups.addActionListener(this);
+ grpsFromSelection.setLabel("Make Groups for selection");
+ grpsFromSelection.addActionListener(this);
copy.setLabel("Copy");
copy.addActionListener(this);
cut.setLabel("Cut");
selectMenu.add(deselectAllSequenceMenuItem);
selectMenu.add(invertSequenceMenuItem);
selectMenu.add(invertColSel);
+ selectMenu.add(grpsFromSelection);
selectMenu.add(deleteGroups);
+
}
MenuItem featureSettings = new MenuItem();