/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.appletgui;
import jalview.analysis.AlignmentSorter;
import jalview.analysis.Conservation;
+import jalview.api.AlignViewControllerGuiI;
+import jalview.api.AlignViewControllerI;
import jalview.api.SequenceStructureBinding;
import jalview.bin.JalviewLite;
import jalview.commands.CommandI;
import java.util.Vector;
public class AlignFrame extends EmbmenuFrame implements ActionListener,
- ItemListener, KeyListener
+ ItemListener, KeyListener, AlignViewControllerGuiI
{
+ public AlignViewControllerI avc;
public AlignmentPanel alignPanel;
public AlignViewport viewport;
{
ex.printStackTrace();
}
-
+ // need to get window geometry before we calculate alignment layout
+ if (applet != null)
+ {
+ String param;
+ try
+ {
+ param = applet.getParameter("windowWidth");
+ if (param != null)
+ {
+ int width = Integer.parseInt(param);
+ DEFAULT_WIDTH = width;
+ }
+ param = applet.getParameter("windowHeight");
+ if (param != null)
+ {
+ int height = Integer.parseInt(param);
+ DEFAULT_HEIGHT = height;
+ }
+ } catch (Exception ex)
+ {
+ }
+ }
viewport = new AlignViewport(al, applet);
alignPanel = new AlignmentPanel(this, viewport);
-
+ avc = new jalview.controller.AlignViewController(this, viewport, alignPanel);
viewport.updateConservation(alignPanel);
viewport.updateConsensus(alignPanel);
showConsensusHistogram.setState(viewport.isShowConsensusHistogram());
showSequenceLogo.setState(viewport.isShowSequenceLogo());
normSequenceLogo.setState(viewport.isNormaliseSequenceLogo());
-
+ applyToAllGroups.setState(viewport.getColourAppliesToAllGroups());
+
seqLimits.setState(viewport.showJVSuffix);
if (applet != null)
centreColumnLabelFlag.setState(true);
centreColumnLabelFlag_stateChanged();
}
- try
- {
- param = applet.getParameter("windowWidth");
- if (param != null)
- {
- int width = Integer.parseInt(param);
- DEFAULT_WIDTH = width;
- }
- param = applet.getParameter("windowHeight");
- if (param != null)
- {
- int height = Integer.parseInt(param);
- DEFAULT_HEIGHT = height;
- }
- } catch (Exception ex)
- {
- }
}
if (viewport.getAlignment().isNucleotide())
}
break;
+ case KeyEvent.VK_G:
+ if (evt.isControlDown())
+ {
+ if (evt.isShiftDown())
+ {
+ this.unGroup_actionPerformed();
+ }
+ else
+ {
+ this.createGroup_actionPerformed();
+ }
+ }
+ break;
+
case KeyEvent.VK_U:
if (evt.isControlDown())
{
cap.setText(contents.toString());
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, "Alignment Properties: "
- + getTitle(), 400, 250);
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage("label.alignment_properties", new String[]{getTitle()}),
+ 400, 250);
}
else if (source == overviewMenuItem)
{
CutAndPasteTransfer cap = new CutAndPasteTransfer(true, this);
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, "Cut & Paste Input", 500, 500);
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.input_cut_paste"), 500, 500);
}
protected void outputText_actionPerformed(ActionEvent e)
Frame frame = new Frame();
frame.add(cap);
jalview.bin.JalviewLite.addFrame(frame,
- "Alignment output - " + e.getActionCommand(), 600, 500);
+ MessageManager.formatMessage("label.alignment_output_command", new String[]{e.getActionCommand()}),600, 500);
cap.setText(new AppletFormatAdapter().formatSequences(
e.getActionCommand(), viewport.getAlignment(),
viewport.showJVSuffix));
CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this);
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, "Annotations", 600, 500);
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.annotations"), 600, 500);
cap.setText(annotation);
}
}
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, "Features", 600, 500);
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.features"), 600, 500);
cap.setText(features);
}
else
protected void makeGrpsFromSelection_actionPerformed()
{
- if (viewport.getSelectionGroup() != null)
- {
- SequenceGroup[] gps = jalview.analysis.Grouping.makeGroupsFrom(
- viewport.getSequenceSelection(),
- viewport.getAlignmentView(true).getSequenceStrings(
- viewport.getGapCharacter()), viewport.getAlignment()
- .getGroups());
- viewport.getAlignment().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].setshowSequenceLogo(viewport.isShowSequenceLogo());
- viewport.getAlignment().addGroup(gps[g]);
- Color col = new Color((int) (Math.random() * 255),
- (int) (Math.random() * 255), (int) (Math.random() * 255));
- col = col.brighter();
- for (SequenceI sq : gps[g].getSequences(null))
- viewport.setSequenceColour(sq, col);
- }
+ if (avc.makeGroupsFromSelection()) {
PaintRefresher.Refresh(this, viewport.getSequenceSetId());
alignPanel.updateAnnotation();
alignPanel.paintAlignment(true);
}
}
+ protected void createGroup_actionPerformed()
+ {
+ avc.createGroup();
+ }
+ protected void unGroup_actionPerformed()
+ {
+ if (avc.unGroup())
+ {
+ alignPanel.alignmentChanged();
+ }
+ }
protected void deleteGroups_actionPerformed()
{
- viewport.getAlignment().deleteAllGroups();
- viewport.sequenceColours = null;
- viewport.setSelectionGroup(null);
-
- alignPanel.paintAlignment(true);
+ if (avc.deleteGroups())
+ {
+ alignPanel.alignmentChanged();
+ }
}
public void selectAllSequenceMenuItem_actionPerformed()
OverviewPanel overview = new OverviewPanel(alignPanel);
frame.add(overview);
// +50 must allow for applet frame window
- jalview.bin.JalviewLite.addFrame(frame, "Overview " + this.getTitle(),
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage("label.overview_params", new String[]{this.getTitle()}),
overview.getPreferredSize().width,
overview.getPreferredSize().height + 50);
{
if (viewport.getAbovePIDThreshold())
{
- threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,
- "Background");
-
- cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());
-
- viewport.setGlobalColourScheme(cs);
- }
- else
- {
- cs.setThreshold(0, viewport.getIgnoreGapsConsensus());
- }
+ viewport.setThreshold(SliderPanel.setPIDSliderSource(alignPanel, cs,
+ "Background"));
+ }
if (viewport.getConservationSelected())
{
-
- Alignment al = (Alignment) viewport.getAlignment();
- Conservation c = new Conservation("All",
- ResidueProperties.propHash, 3, al.getSequences(), 0,
- al.getWidth() - 1);
-
- c.calculate();
- c.verdict(false, viewport.getConsPercGaps());
-
- cs.setConservation(c);
-
- cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,
+ cs.setConservationApplied(true);
+ viewport.setIncrement(SliderPanel.setConservationSlider(alignPanel,
cs, "Background"));
-
}
else
{
- cs.setConservation(null);
+ cs.setConservationApplied(false);
}
-
- cs.setConsensus(viewport.getSequenceConsensusHash());
-
}
viewport.setGlobalColourScheme(cs);
{
Frame frame = new Frame();
frame.add(new PairwiseAlignPanel(alignPanel));
- jalview.bin.JalviewLite.addFrame(frame, "Pairwise Alignment", 600,
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("action.pairwise_alignment"), 600,
500);
}
}
cap.setTreeImport();
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, "Paste Newick file ", 400, 300);
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.paste_newick_file"), 400, 300);
}
public void loadTree(jalview.io.NewickFile tree, String treeFile)
{
- TreePanel tp = new TreePanel(alignPanel, treeFile, "From File - ", tree);
+ TreePanel tp = new TreePanel(alignPanel, treeFile, MessageManager.getString("label.load_tree_from_file"), tree);
jalview.bin.JalviewLite.addFrame(tp, treeFile, 600, 500);
addTreeMenuItem(tp, treeFile);
}
// TODO: update this text for each release or centrally store it for
// lite and application
g.setFont(new Font("Helvetica", Font.BOLD, 14));
- g.drawString("JalviewLite - Release " + version, x, y += fh);
+ g.drawString(MessageManager.formatMessage("label.jalviewLite_release", new String[]{version}), x, y += fh);
g.setFont(new Font("Helvetica", Font.BOLD, 12));
- g.drawString("Build date: " + builddate, x, y += fh);
+ g.drawString(MessageManager.formatMessage("label.jaview_build_date", new String[]{builddate}), x, y += fh);
g.setFont(new Font("Helvetica", Font.PLAIN, 12));
g.drawString(
- "Authors: Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui,",
+ MessageManager.getString("label.jalview_authors_1"),
x, y += fh * 1.5);
- g.drawString("Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.", x + 50, y += fh+8);
+ g.drawString(MessageManager.getString("label.jalview_authors_2"), x + 50, y += fh+8);
g.drawString(
- "Development managed by The Barton Group, University of Dundee, Scotland, UK.",
+ MessageManager.getString("label.jalview_dev_managers"),
x, y += fh);
g.drawString(
- "For help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list",
+ MessageManager.getString("label.jalview_distribution_lists"),
x, y += fh);
- g.drawString("If you use Jalview, please cite:", x, y += fh + 8);
+ g.drawString(MessageManager.getString("label.jalview_please_cite"), x, y += fh + 8);
g.drawString(
- "Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)",
+ MessageManager.getString("label.jalview_cite_1_authors"),
x, y += fh);
g.drawString(
- "Jalview Version 2 - a multiple sequence alignment editor and analysis workbench",
+ MessageManager.getString("label.jalview_cite_1_title"),
x, y += fh);
- g.drawString("Bioinformatics doi: 10.1093/bioinformatics/btp033",
+ g.drawString(MessageManager.getString("label.jalview_cite_1_ref"),
x, y += fh);
}
}
Frame frame = new Frame();
frame.add(new AboutPanel(JalviewLite.getVersion(), JalviewLite
.getBuildDate()));
- jalview.bin.JalviewLite.addFrame(frame, "Jalview", 580, 220);
+ jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.jalview"), 580, 220);
}
MenuBar alignFrameMenuBar = new MenuBar();
- Menu fileMenu = new Menu("File");
+ Menu fileMenu = new Menu(MessageManager.getString("action.file"));
- MenuItem loadApplication = new MenuItem("View in Full Application");
+ MenuItem loadApplication = new MenuItem(MessageManager.getString("label.view_full_application"));
- MenuItem loadTree = new MenuItem("Load Associated Tree ...");
+ MenuItem loadTree = new MenuItem(MessageManager.getString("label.load_associated_tree"));
- MenuItem loadAnnotations = new MenuItem("Load Features/Annotations ...");
+ MenuItem loadAnnotations = new MenuItem(MessageManager.getString("label.load_features_annotations"));
- MenuItem outputFeatures = new MenuItem("Export Features ...");
+ MenuItem outputFeatures = new MenuItem(MessageManager.getString("label.export_features"));
- MenuItem outputAnnotations = new MenuItem("Export Annotations ...");
+ MenuItem outputAnnotations = new MenuItem(MessageManager.getString("label.export_annotations"));
- MenuItem closeMenuItem = new MenuItem("Close");
+ MenuItem closeMenuItem = new MenuItem(MessageManager.getString("action.close"));
- Menu editMenu = new Menu("Edit");
+ Menu editMenu = new Menu(MessageManager.getString("action.edit"));
- Menu viewMenu = new Menu("View");
+ Menu viewMenu = new Menu(MessageManager.getString("action.view"));
- Menu colourMenu = new Menu("Colour");
+ Menu colourMenu = new Menu(MessageManager.getString("action.colour"));
- Menu calculateMenu = new Menu("Calculate");
+ Menu calculateMenu = new Menu(MessageManager.getString("action.calculate"));
- MenuItem selectAllSequenceMenuItem = new MenuItem("Select all");
+ MenuItem selectAllSequenceMenuItem = new MenuItem(MessageManager.getString("action.select_all"));
- MenuItem deselectAllSequenceMenuItem = new MenuItem("Deselect All");
+ MenuItem deselectAllSequenceMenuItem = new MenuItem(MessageManager.getString("action.deselect_all"));
- MenuItem invertSequenceMenuItem = new MenuItem("Invert Selection");
+ MenuItem invertSequenceMenuItem = new MenuItem(MessageManager.getString("action.invert_selection"));
MenuItem remove2LeftMenuItem = new MenuItem();
CheckboxMenuItem displayNonconservedMenuItem = new CheckboxMenuItem();
- MenuItem alProperties = new MenuItem("Alignment Properties...");
+ MenuItem alProperties = new MenuItem(MessageManager.getString("label.alignment_props"));
MenuItem overviewMenuItem = new MenuItem();
MenuItem grpsFromSelection = new MenuItem();
+ MenuItem createGroup = new MenuItem();
+
+ MenuItem unGroup = new MenuItem();
+
MenuItem delete = new MenuItem();
MenuItem copy = new MenuItem();
deleteGroups.addActionListener(this);
grpsFromSelection.setLabel(MessageManager.getString("action.make_groups_selection"));
grpsFromSelection.addActionListener(this);
+ createGroup.setLabel(MessageManager.getString("action.create_group"));
+ unGroup.setLabel(MessageManager.getString("action.remove_group"));
copy.setLabel(MessageManager.getString("action.copy"));
copy.addActionListener(this);
cut.setLabel(MessageManager.getString("action.cut"));
menu1.setLabel(MessageManager.getString("action.show"));
showColumns.setLabel(MessageManager.getString("label.all_columns"));
showSeqs.setLabel(MessageManager.getString("label.all_sequences"));
- menu2.setLabel(MessageManager.getString("aciton.hide"));
+ menu2.setLabel(MessageManager.getString("action.hide"));
hideColumns.setLabel(MessageManager.getString("label.selected_columns"));
hideSequences.setLabel(MessageManager.getString("label.selected_sequences"));
hideAllButSelection.setLabel(MessageManager.getString("label.all_but_selected_region"));
selectMenu.add(deselectAllSequenceMenuItem);
selectMenu.add(invertSequenceMenuItem);
selectMenu.add(invertColSel);
+ selectMenu.add(createGroup);
+ selectMenu.add(unGroup);
selectMenu.add(grpsFromSelection);
selectMenu.add(deleteGroups);
}
+
+ public void setStatus(String string) {
+ statusBar.setText(string);
+ };
+
MenuItem featureSettings = new MenuItem();
CheckboxMenuItem sequenceFeatures = new CheckboxMenuItem();