*/
package jalview.appletgui;
-import java.awt.BorderLayout;
-import java.awt.Canvas;
-import java.awt.CheckboxMenuItem;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Label;
-import java.awt.Menu;
-import java.awt.MenuBar;
-import java.awt.MenuItem;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.FocusEvent;
-import java.awt.event.FocusListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.IOException;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.util.Arrays;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
import jalview.analysis.AlignmentSorter;
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.api.AlignViewControllerGuiI;
import jalview.api.AlignViewControllerI;
import jalview.api.AlignViewportI;
import jalview.api.FeatureRenderer;
+import jalview.api.FeatureSettingsControllerI;
import jalview.api.SequenceStructureBinding;
import jalview.bin.JalviewLite;
import jalview.commands.CommandI;
import jalview.commands.RemoveGapsCommand;
import jalview.commands.SlideSequencesCommand;
import jalview.commands.TrimRegionCommand;
+import jalview.controller.AlignViewController;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
+import jalview.io.AlignmentProperties;
import jalview.io.AnnotationFile;
import jalview.io.AppletFormatAdapter;
import jalview.io.FeaturesFile;
+import jalview.io.NewickFile;
import jalview.io.TCoffeeScoreFile;
import jalview.schemes.Blosum62ColourScheme;
import jalview.schemes.BuriedColourScheme;
import jalview.schemes.ZappoColourScheme;
import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel;
+import jalview.util.Comparison;
import jalview.util.MappingUtils;
import jalview.util.MessageManager;
import jalview.viewmodel.AlignmentViewport;
+import java.awt.BorderLayout;
+import java.awt.Canvas;
+import java.awt.CheckboxMenuItem;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.Label;
+import java.awt.Menu;
+import java.awt.MenuBar;
+import java.awt.MenuItem;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.Arrays;
+import java.util.Deque;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import org.jmol.viewer.Viewer;
+
public class AlignFrame extends EmbmenuFrame implements ActionListener,
ItemListener, KeyListener, AlignViewControllerGuiI
{
public AlignFrame(AlignmentI al, JalviewLite applet,
String title, boolean embedded, boolean addToDisplay)
{
+ this(al, null, null, applet, title, embedded, addToDisplay);
+ }
+
+ public AlignFrame(AlignmentI al, SequenceI[] hiddenSeqs,
+ ColumnSelection columnSelection, JalviewLite applet,
+ String title, boolean embedded)
+ {
+ this(al, hiddenSeqs, columnSelection, applet, title, embedded, true);
+ }
+
+ public AlignFrame(AlignmentI al, SequenceI[] hiddenSeqs,
+ ColumnSelection columnSelection, JalviewLite applet,
+ String title, boolean embedded, boolean addToDisplay)
+ {
if (applet != null)
{
jalviewServletURL = applet.getParameter("APPLICATION_URL");
}
}
viewport = new AlignViewport(al, applet);
+
+ if (hiddenSeqs != null && hiddenSeqs.length > 0)
+ {
+ viewport.hideSequence(hiddenSeqs);
+ }
+ if (columnSelection != null)
+ {
+ viewport.setColumnSelection(columnSelection);
+ }
+
alignPanel = new AlignmentPanel(this, viewport);
- avc = new jalview.controller.AlignViewController(this, viewport,
+ avc = new AlignViewController(this, viewport,
alignPanel);
viewport.updateConservation(alignPanel);
viewport.updateConsensus(alignPanel);
boolean featuresFile = false;
try
{
- featuresFile = new jalview.io.FeaturesFile(file, type)
+ featuresFile = new FeaturesFile(file, type)
.parse(viewport.getAlignment(), alignPanel.seqPanel.seqCanvas
.getFeatureRenderer().getFeatureColours(), featureLinks,
true, viewport.applet.getDefaultParameter(
: showForSequences);
aa.visible = visible;
}
- alignPanel.validateAnnotationDimensions(false);
+ alignPanel.validateAnnotationDimensions(true);
+ validate();
+ repaint();
}
private void setAnnotationSortOrder(SequenceAnnotationOrder order)
}
else if (source == alProperties)
{
- StringBuffer contents = new jalview.io.AlignmentProperties(
+ StringBuffer contents = new AlignmentProperties(
viewport.getAlignment()).formatAsString();
CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this);
cap.setText(contents.toString());
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage(
+ JalviewLite.addFrame(frame, MessageManager.formatMessage(
"label.alignment_properties", new String[]
{ getTitle() }), 400, 250);
}
CutAndPasteTransfer cap = new CutAndPasteTransfer(true, this);
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("label.input_cut_paste"), 500, 500);
}
CutAndPasteTransfer cap = new CutAndPasteTransfer(true, this);
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage(
+ JalviewLite.addFrame(frame, MessageManager.formatMessage(
"label.alignment_output_command", new Object[]
{ e.getActionCommand() }), 600, 500);
- cap.setText(new AppletFormatAdapter().formatSequences(
+
+ FeatureRenderer fr = this.alignPanel.cloneFeatureRenderer();
+ cap.setText(new AppletFormatAdapter(alignPanel).formatSequences(
e.getActionCommand(), viewport.getAlignment(),
viewport.getShowJVSuffix()));
}
cap.setAnnotationImport();
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("action.paste_annotations"), 400, 300);
}
CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this);
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("label.annotations"), 600, 500);
cap.setText(annotation);
}
}
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("label.features"), 600, 500);
cap.setText(features);
}
for (int j = 0; j < sg.getEndRes() + 1 && j < seq.getLength(); j++)
{
ch = seq.getCharAt(j);
- if (!jalview.util.Comparison.isGap((ch)))
+ if (!Comparison.isGap((ch)))
{
endRes++;
}
}
}
- jalview.bin.JalviewLite.addFrame(af, newtitle, frameWidth,
+ JalviewLite.addFrame(af, newtitle, frameWidth,
frameHeight);
}
else
OverviewPanel overview = new OverviewPanel(alignPanel);
frame.add(overview);
// +50 must allow for applet frame window
- jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage(
+ JalviewLite.addFrame(frame, MessageManager.formatMessage(
"label.overview_params", new String[]
{ this.getTitle() }), overview.getPreferredSize().width,
overview.getPreferredSize().height + 50);
alignPanel.getOverviewPanel().updateOverviewImage();
}
- jalview.structure.StructureSelectionManager
- .getStructureSelectionManager(viewport.applet)
+ StructureSelectionManager.getStructureSelectionManager(viewport.applet)
.sequenceColoursChanged(alignPanel);
alignPanel.paintAlignment(true);
{
Frame frame = new Frame();
frame.add(new PairwiseAlignPanel(alignPanel));
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("action.pairwise_alignment"), 600,
500);
}
addTreeMenuItem(tp, title);
- jalview.bin.JalviewLite.addFrame(tp, title, 600, 500);
+ JalviewLite.addFrame(tp, title, 600, 500);
}
}
cap.setTreeImport();
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("label.paste_newick_file"), 400, 300);
}
- public void loadTree(jalview.io.NewickFile tree, String treeFile)
+ public void loadTree(NewickFile tree, String treeFile)
{
TreePanel tp = new TreePanel(alignPanel, treeFile,
MessageManager.getString("label.load_tree_from_file"), tree);
- jalview.bin.JalviewLite.addFrame(tp, treeFile, 600, 500);
+ JalviewLite.addFrame(tp, treeFile, 600, 500);
addTreeMenuItem(tp, treeFile);
}
Frame frame = new Frame();
frame.add(new AboutPanel(JalviewLite.getVersion(), JalviewLite
.getBuildDate()));
- jalview.bin.JalviewLite.addFrame(frame,
+ JalviewLite.addFrame(frame,
MessageManager.getString("label.jalview"), 580, 220);
}
inputText.addActionListener(this);
Menu outputTextboxMenu = new Menu(
MessageManager.getString("label.out_to_textbox"));
- for (int i = 0; i < jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS.length; i++)
+ for (int i = 0; i < AppletFormatAdapter.WRITEABLE_FORMATS.length; i++)
{
- MenuItem item = new MenuItem(
- jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS[i]);
+ MenuItem item = new MenuItem(AppletFormatAdapter.WRITEABLE_FORMATS[i]);
item.addActionListener(new java.awt.event.ActionListener()
{
add(statusBar, BorderLayout.SOUTH);
add(alignPanel, BorderLayout.CENTER);
// and register with the applet so it can pass external API calls to us
- jalview.bin.JalviewLite.addFrame(this, this.getTitle(),
+ JalviewLite.addFrame(this, this.getTitle(),
frameWidth,
frameHeight);
}
public SequenceStructureBinding addStructureViewInstance(
Object jmolviewer, String[] sequenceIds)
{
- org.jmol.api.JmolViewer viewer = null;
+ Viewer viewer = null;
try
{
- viewer = (org.jmol.api.JmolViewer) jmolviewer;
+ viewer = (Viewer) jmolviewer;
} catch (ClassCastException ex)
{
System.err.println("Unsupported viewer object :"
{
// can only do alignments with Jmol
// find the last jmol window assigned to this alignment
- jalview.appletgui.AppletJmol ajm = null, tajm;
+ AppletJmol ajm = null, tajm;
Vector jmols = applet
- .getAppletWindow(jalview.appletgui.AppletJmol.class);
+.getAppletWindow(AppletJmol.class);
for (int i = 0, iSize = jmols.size(); i < iSize; i++)
{
- tajm = (jalview.appletgui.AppletJmol) jmols.elementAt(i);
+ tajm = (AppletJmol) jmols.elementAt(i);
if (tajm.ap.alignFrame == this)
{
ajm = tajm;
// otherwise, create a new window
if (applet.jmolAvailable)
{
- new jalview.appletgui.AppletJmol(pdb, seqs, chains, alignPanel,
- protocol);
+ new AppletJmol(pdb, seqs, chains, alignPanel, protocol);
applet.lastFrameX += 40;
applet.lastFrameY += 40;
}
this.splitFrame = sf;
}
+ // may not need this
@Override
public void setShowSeqFeatures(boolean b)
{
// showSeqFeatures.setSelected(b);
- // viewport.setShowSequenceFeatures(b);
+ viewport.setShowSequenceFeatures(b);
}
// setMenusFromViewport(viewport);
}
-
@Override
- public void hideColumns(List<int[]> colsToHide)
+ public void refreshFeatureUI(boolean enableIfNecessary)
{
- // TODO Auto-generated method stub
-
+ if (enableIfNecessary)
+ {
+ sequenceFeatures.setState(true);
+ alignPanel.av.setShowSequenceFeatures(true);
+ }
}
@Override
- public void syncHiddenSequences()
+ public FeatureSettingsControllerI getFeatureSettingsUI()
{
- // TODO Auto-generated method stub
-
+ return alignPanel.av.featureSettings;
}
+
}