X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=5a12a0232363a33308739bd5f11d80e10bae9563;hb=c45f4774f08ed968eaefb6cff55025ce9d21ad0c;hp=2bcd229e093f4a9dd4995c86d2a60112e95d2181;hpb=71ca5630223ddd30ab463e4f736fac9667e9cb18;p=jalview.git
diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java
index 2bcd229..5a12a02 100644
--- a/src/jalview/gui/PopupMenu.java
+++ b/src/jalview/gui/PopupMenu.java
@@ -25,6 +25,7 @@ import jalview.analysis.AlignmentAnnotationUtils;
import jalview.analysis.AlignmentUtils;
import jalview.analysis.Conservation;
import jalview.bin.Cache;
+import jalview.bin.Jalview;
import jalview.commands.ChangeCaseCommand;
import jalview.commands.EditCommand;
import jalview.commands.EditCommand.Action;
@@ -72,13 +73,14 @@ import java.util.TreeMap;
import java.util.Vector;
import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JComponent;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
-import javax.swing.JTextArea;
+import javax.swing.JScrollPane;
/**
* DOCUMENT ME!
@@ -1634,8 +1636,8 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener
public void createSequenceDetailsReport(SequenceI[] sequences)
{
- CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
StringBuilder contents = new StringBuilder(128);
+ contents.append("
");
for (SequenceI seq : sequences)
{
contents.append("" + MessageManager.formatMessage(
@@ -1646,9 +1648,30 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener
contents, seq, true, true, ap.getSeqPanel().seqCanvas.fr);
contents.append("");
}
- cap.setText("" + contents.toString() + "");
+ contents.append("");
+ String report = contents.toString();
+
+ JInternalFrame frame;
+ if (Jalview.isJS())
+ {
+ JLabel textLabel = new JLabel();
+ textLabel.setText(report);
+ textLabel.setBackground(Color.WHITE);
+ JPanel pane = new JPanel(new BorderLayout());
+ ((JPanel) pane).setOpaque(true);
+ pane.setBackground(Color.WHITE);
+ ((JPanel) pane).add(textLabel, BorderLayout.NORTH);
+ frame = new JInternalFrame();
+ frame.getContentPane().add(new JScrollPane(pane));
+ }
+ else
+ {
+ CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
+ cap.setText(report);
+ frame = cap;
+ }
- Desktop.addInternalFrame(cap,
+ Desktop.addInternalFrame(frame,
MessageManager.formatMessage("label.sequence_details_for",
(sequences.length == 1 ? new Object[]
{ sequences[0].getDisplayId(true) }
@@ -1656,7 +1679,6 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener
{ MessageManager
.getString("label.selection") })),
500, 400);
-
}
protected void showNonconserved_actionPerformed()
@@ -2054,15 +2076,7 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener
*/
if (!seqs.isEmpty())
{
- new FeatureEditor(ap).createFeatures(seqs, features, new Runnable()
- {
- public void run()
- {
- ap.alignFrame.setShowSeqFeatures(true);
- ap.av.setSearchResults(null); // clear highlighting
- ap.repaint(); // draw new/amended features
- }
- });
+ new FeatureEditor(ap, seqs, features, true).showDialog();
}
}