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;
import jalview.util.UrlLink;
import jalview.util.dialogrunner.RunResponse;
+import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.JScrollPane;
/**
* DOCUMENT ME!
*/
protected void showFeatureDetails(SequenceFeature sf)
{
- CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
- // it appears Java's CSS does not support border-collaps :-(
- cap.addStylesheetRule("table { border-collapse: collapse;}");
- cap.addStylesheetRule("table, td, th {border: 1px solid black;}");
- cap.setText(sf.getDetailsReport());
-
- Desktop.addInternalFrame(cap,
+ JInternalFrame details;
+ if (/** @j2sNative true || */ false)
+ {
+ details = new JInternalFrame();
+ JPanel panel = new JPanel(new BorderLayout());
+ panel.setOpaque(true);
+ panel.setBackground(Color.white);
+ // TODO JAL-3026 set style of table correctly for feature details
+ JLabel reprt = new JLabel(MessageManager.formatMessage("label.html_content",
+ new Object[]
+ { sf.getDetailsReport()}));
+ reprt.setBackground(Color.WHITE);
+ reprt.setOpaque(true);
+ panel.add(reprt,BorderLayout.CENTER);
+ details.setContentPane(panel);
+ details.pack();
+ }
+ else
+ {
+ CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
+ // it appears Java's CSS does not support border-collaps :-(
+ cap.addStylesheetRule("table { border-collapse: collapse;}");
+ cap.addStylesheetRule("table, td, th {border: 1px solid black;}");
+ cap.setText(sf.getDetailsReport());
+ details = cap;
+ }
+ Desktop.addInternalFrame(details,
MessageManager.getString("label.feature_details"), 500, 500);
}
public void createSequenceDetailsReport(SequenceI[] sequences)
{
- CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
StringBuilder contents = new StringBuilder(128);
+ contents.append("<html><body>");
for (SequenceI seq : sequences)
{
contents.append("<p><h2>" + MessageManager.formatMessage(
contents, seq, true, true, ap.getSeqPanel().seqCanvas.fr);
contents.append("</p>");
}
- cap.setText("<html>" + contents.toString() + "</html>");
+ contents.append("</body></html>");
+ 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) }
{ MessageManager
.getString("label.selection") })),
500, 400);
-
}
protected void showNonconserved_actionPerformed()
*/
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();
}
}