import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
+import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Arrays;
viewport.featureSettings.refreshTable();
}
alignPanel.paintAlignment(true, true);
- statusBar.setText(MessageManager
+ setStatus(MessageManager
.getString("label.successfully_added_features_alignment"));
}
return featuresFile;
case KeyEvent.VK_F2:
viewport.cursorMode = !viewport.cursorMode;
- statusBar.setText(MessageManager
- .formatMessage("label.keyboard_editing_mode", new String[]
+ setStatus(MessageManager.formatMessage("label.keyboard_editing_mode",
+ new String[]
{ (viewport.cursorMode ? "on" : "off") }));
if (viewport.cursorMode)
{
}
else if (source == featureSettings)
{
- new FeatureSettings(alignPanel);
+ showFeatureSettingsUI();
}
else if (source == alProperties)
{
FeaturesFile formatter = new FeaturesFile();
if (format.equalsIgnoreCase("Jalview"))
{
- features = formatter.printJalviewFormat(viewport.getAlignment()
- .getSequencesArray(), getDisplayedFeatureCols(),
- getDisplayedFeatureGroups(), true);
+ features = formatter.printJalviewFormat(
+ viewport.getAlignment().getSequencesArray(),
+ alignPanel.getFeatureRenderer(), true, false);
}
else
{
- features = formatter.printGffFormat(viewport.getAlignment()
- .getSequencesArray(), getDisplayedFeatureCols(),
- getDisplayedFeatureGroups(), true);
+ features = formatter.printGffFormat(
+ viewport.getAlignment().getSequencesArray(),
+ alignPanel.getFeatureRenderer(), true, false);
}
if (displayTextbox)
try
{
new URL(url);
- url = URLEncoder.encode(url);
+ url = URLEncoder.encode(url, "UTF-8");
}
/*
* When we finally deprecate 1.1 compatibility, we can start to use
catch (java.net.MalformedURLException ex)
{
url = viewport.applet.getCodeBase() + url;
+ } catch (UnsupportedEncodingException ex)
+ {
+ System.err.println(
+ "WARNING = IMPLEMENTATION ERROR - UNSUPPORTED ENCODING EXCEPTION FOR "
+ + url);
+ ex.printStackTrace();
}
return url;
}
seqs, 0, viewport.getAlignment().getWidth(),
viewport.getAlignment()));
- viewport.getRanges().setEndSeq(viewport.getAlignment().getHeight());
+ viewport.getRanges().setEndSeq(viewport.getAlignment().getHeight() - 1); // BH
+ // 2019.04.18
viewport.getAlignment().getWidth();
viewport.firePropertyChange("alignment", null,
viewport.getAlignment().getSequences());
column, al);
}
- statusBar.setText(MessageManager
- .formatMessage("label.removed_columns", new String[]
+ setStatus(MessageManager.formatMessage("label.removed_columns",
+ new String[]
{ Integer.valueOf(trimRegion.getSize()).toString() }));
addHistoryItem(trimRegion);
addHistoryItem(removeGapCols);
- statusBar.setText(MessageManager
- .formatMessage("label.removed_empty_columns", new String[]
+ setStatus(MessageManager.formatMessage("label.removed_empty_columns",
+ new String[]
{ Integer.valueOf(removeGapCols.getSize()).toString() }));
// This is to maintain viewport position on first residue
hydrophobicityColour.setLabel(
MessageManager.getString("label.colourScheme_hydrophobic"));
hydrophobicityColour.addActionListener(this);
- helixColour.setLabel(MessageManager
- .getString("label.colourScheme_helix_propensity"));
+ helixColour.setLabel(
+ MessageManager.getString("label.colourScheme_helixpropensity"));
helixColour.addActionListener(this);
strandColour.setLabel(MessageManager
- .getString("label.colourScheme_strand_propensity"));
+ .getString("label.colourScheme_strandpropensity"));
strandColour.addActionListener(this);
turnColour.setLabel(
- MessageManager.getString("label.colourScheme_turn_propensity"));
+ MessageManager.getString("label.colourScheme_turnpropensity"));
turnColour.addActionListener(this);
buriedColour.setLabel(
- MessageManager.getString("label.colourScheme_buried_index"));
+ MessageManager.getString("label.colourScheme_buriedindex"));
buriedColour.addActionListener(this);
purinePyrimidineColour.setLabel(MessageManager
.getString("label.colourScheme_purine/pyrimidine"));
// .getString("label.rna_interaction"));
// RNAInteractionColour.addActionListener(this);
RNAHelixColour.setLabel(
- MessageManager.getString("label.colourScheme_rna_helices"));
+ MessageManager.getString("label.colourScheme_rnahelices"));
RNAHelixColour.addActionListener(this);
userDefinedColour
.setLabel(MessageManager.getString("action.user_defined"));
userDefinedColour.addActionListener(this);
PIDColour.setLabel(
- MessageManager.getString("label.colourScheme_%_identity"));
+ MessageManager.getString("label.colourScheme_%identity"));
PIDColour.addActionListener(this);
BLOSUM62Colour.setLabel(
MessageManager.getString("label.colourScheme_blosum62"));
BLOSUM62Colour.addActionListener(this);
tcoffeeColour.setLabel(
- MessageManager.getString("label.colourScheme_t-coffee_scores"));
+ MessageManager.getString("label.colourScheme_t-coffeescores"));
// it will be enabled only if a score file is provided
tcoffeeColour.setEnabled(false);
tcoffeeColour.addActionListener(this);
*/
statusBar.setBackground(Color.white);
statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
- statusBar.setText(MessageManager.getString("label.status_bar"));
+ setStatus(MessageManager.getString("label.status_bar"));
this.add(statusBar, BorderLayout.SOUTH);
}
* without an additional javascript library to exchange messages between the
* distinct applets. See http://issues.jalview.org/browse/JAL-621
*
- * @param viewer
+ * @param jmolViewer
* JmolViewer instance
* @param sequenceIds
* - sequence Ids to search for associations
{
// register the association(s) and quit, don't create any windows.
if (StructureSelectionManager.getStructureSelectionManager(applet)
- .setMapping(seqs, chains, pdb.getFile(), protocol, null) == null)
+ .setMapping(seqs, chains, pdb.getFile(), protocol,
+ null) == null)
{
System.err.println("Failed to map " + pdb.getFile() + " ("
+ protocol + ") to any sequences");
}
else
{
- new MCview.AppletPDBViewer(pdb, seqs, chains, alignPanel, protocol);
+ new mc_view.AppletPDBViewer(pdb, seqs, chains, alignPanel, protocol);
}
}
return alignPanel.av.featureSettings;
}
+ @Override
+ public FeatureSettingsControllerI showFeatureSettingsUI()
+ {
+ return new FeatureSettings(alignPanel);
+ }
+
+ private Rectangle fs_bounds = null;
+
+ @Override
+ public void setFeatureSettingsGeometry(Rectangle bounds)
+ {
+ fs_bounds = bounds;
+ }
+
+ @Override
+ public Rectangle getFeatureSettingsGeometry()
+ {
+ return fs_bounds;
+ }
+
}