*/
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.schemes.PIDColourScheme;
import jalview.schemes.PurinePyrimidineColourScheme;
import jalview.schemes.RNAHelicesColourChooser;
-import jalview.schemes.RNAInteractionColourScheme;
import jalview.schemes.StrandColourScheme;
import jalview.schemes.TCoffeeColourScheme;
import jalview.schemes.TaylorColourScheme;
import jalview.structures.models.AAStructureBindingModel;
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,
alignPanel);
viewport.updateConsensus(alignPanel);
displayNonconservedMenuItem.setState(viewport.getShowUnconserved());
- followMouseOverFlag.setState(viewport.getFollowHighlight());
+ followMouseOverFlag.setState(viewport.isFollowHighlight());
showGroupConsensus.setState(viewport.isShowGroupConsensus());
showGroupConservation.setState(viewport.isShowGroupConservation());
showConsensusHistogram.setState(viewport.isShowConsensusHistogram());
: showForSequences);
aa.visible = visible;
}
- alignPanel.validateAnnotationDimensions(false);
+ alignPanel.validateAnnotationDimensions(true);
+ validate();
+ repaint();
}
private void setAnnotationSortOrder(SequenceAnnotationOrder order)
private void mouseOverFlag_stateChanged()
{
- viewport.followHighlight = followMouseOverFlag.getState();
+ viewport.setFollowHighlight(followMouseOverFlag.getState());
// TODO: could kick the scrollTo mechanism to reset view for current
// searchresults.
}
{
changeColour(new PurinePyrimidineColourScheme());
}
- else if (source == RNAInteractionColour)
- {
- changeColour(new RNAInteractionColourScheme());
- }
+ // else if (source == RNAInteractionColour)
+ // {
+ // changeColour(new RNAInteractionColourScheme());
+ // }
else if (source == RNAHelixColour)
{
new RNAHelicesColourChooser(viewport, alignPanel);
jalview.bin.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()));
}
viewport.addToRedoList(command);
command.undoCommand(null);
- AlignViewport originalSource = getOriginatingSource(command);
+ AlignmentViewport originalSource = getOriginatingSource(command);
// JBPNote Test
if (originalSource != viewport)
{
viewport.addToHistoryList(command);
command.doCommand(null);
- AlignViewport originalSource = getOriginatingSource(command);
+ AlignmentViewport originalSource = getOriginatingSource(command);
// JBPNote Test
if (originalSource != viewport)
{
.getAlignment().getSequences());
}
- AlignViewport getOriginatingSource(CommandI command)
+ AlignmentViewport getOriginatingSource(CommandI command)
{
- AlignViewport originalSource = null;
+ AlignmentViewport originalSource = null;
// For sequence removal and addition, we need to fire
// the property change event FROM the viewport where the
// original alignment was altered
}
- void changeColour(ColourSchemeI cs)
+ public void changeColour(ColourSchemeI cs)
{
- int threshold = 0;
if (cs != null)
{
}
viewport.setGlobalColourScheme(cs);
- if (alignPanel.getOverviewPanel() != null)
- {
- alignPanel.getOverviewPanel().updateOverviewImage();
- }
-
- jalview.structure.StructureSelectionManager
- .getStructureSelectionManager(viewport.applet)
- .sequenceColoursChanged(alignPanel);
-
alignPanel.paintAlignment(true);
}
MessageManager.getString("label.load_features_annotations"));
MenuItem outputFeatures = new MenuItem(
- MessageManager.getString("label.export_features").concat("..."));
+ MessageManager.getString("label.export_features"));
MenuItem outputAnnotations = new MenuItem(
- MessageManager.getString("label.export_annotations").concat("..."));
+ MessageManager.getString("label.export_annotations"));
MenuItem closeMenuItem = new MenuItem(
MessageManager.getString("action.close"));
MenuItem purinePyrimidineColour = new MenuItem();
- MenuItem RNAInteractionColour = new MenuItem();
+ // MenuItem RNAInteractionColour = new MenuItem();
MenuItem RNAHelixColour = new MenuItem();
removeAllGapsMenuItem.setLabel(MessageManager
.getString("action.remove_all_gaps"));
removeAllGapsMenuItem.addActionListener(this);
- removeRedundancyMenuItem.setLabel(MessageManager.getString(
- "action.remove_redundancy").concat("..."));
+ removeRedundancyMenuItem.setLabel(MessageManager
+ .getString("action.remove_redundancy"));
removeRedundancyMenuItem.addActionListener(this);
/*
grpsFromSelection.addActionListener(this);
createGroup.setLabel(MessageManager.getString("action.create_group"));
unGroup.setLabel(MessageManager.getString("action.remove_group"));
- annotationColumnSelection.setLabel("Select by Annotation");
+ annotationColumnSelection.setLabel(MessageManager
+ .getString("action.select_by_annotation"));
annotationColumnSelection.addActionListener(this);
/*
hideAllSelection.addActionListener(this);
showAllHidden.addActionListener(this);
featureSettings.setLabel(MessageManager
- .getString("label.feature_settings"));
+ .getString("action.feature_settings"));
featureSettings.addActionListener(this);
sequenceFeatures.setLabel(MessageManager
.getString("label.show_sequence_features"));
purinePyrimidineColour.setLabel(MessageManager
.getString("label.purine_pyrimidine"));
purinePyrimidineColour.addActionListener(this);
- RNAInteractionColour.setLabel(MessageManager
- .getString("label.rna_interaction"));
- RNAInteractionColour.addActionListener(this);
+ // RNAInteractionColour.setLabel(MessageManager
+ // .getString("label.rna_interaction"));
+ // RNAInteractionColour.addActionListener(this);
RNAHelixColour.setLabel(MessageManager
.getString("action.by_rna_helixes"));
RNAHelixColour.addActionListener(this);
private CheckboxMenuItem showAutoLast;
+ private SplitFrame splitFrame;
+
/**
* Attach the alignFrame panels after embedding menus, if necessary. This used
* to be called setEmbedded, but is now creates the dropdown menus in a
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 :"
boolean needtoadd = false;
if (toaddpdb != null)
{
- Vector pdbe = toaddpdb.getPDBId();
+ Vector pdbe = toaddpdb.getAllPDBEntries();
PDBEntry pdbentry = null;
if (pdbe != null && pdbe.size() > 0)
{
return false;
}
+ public SplitFrame getSplitFrame()
+ {
+ return this.splitFrame;
+ }
+
+ public void setSplitFrame(SplitFrame sf)
+ {
+ this.splitFrame = sf;
+ }
+
+ // may not need this
+ @Override
+ public void setShowSeqFeatures(boolean b)
+ {
+ // showSeqFeatures.setSelected(b);
+ viewport.setShowSequenceFeatures(b);
+
+ }
+
+ @Override
+ public void setMenusForViewport()
+ {
+ // setMenusFromViewport(viewport);
+
+ }
+ @Override
+ public void refreshFeatureUI(boolean enableIfNecessary)
+ {
+ if (enableIfNecessary)
+ {
+ sequenceFeatures.setState(true);
+ alignPanel.av.setShowSequenceFeatures(true);
+ }
+ }
+
+ @Override
+ public FeatureSettingsControllerI getFeatureSettingsUI()
+ {
+ return alignPanel.av.featureSettings;
+ }
+
}