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(); } }