import jalview.schemes.Blosum62ColourScheme;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemes;
-import jalview.schemes.FeatureColour;
import jalview.schemes.PIDColourScheme;
import jalview.util.GroupUrlLink;
import jalview.util.GroupUrlLink.UrlStringTooLongException;
import jalview.util.MessageManager;
import jalview.util.StringUtils;
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.JColorChooser;
-import javax.swing.JDialog;
+import javax.swing.JInternalFrame;
+import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
+import javax.swing.JPanel;
import javax.swing.JPopupMenu;
/**
*/
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);
}
@Override
public void actionPerformed(ActionEvent actionEvent)
{
- editSequence_actionPerformed(actionEvent);
+ editSequence_actionPerformed();
}
});
makeReferenceSeq.setText(
}
/**
- * DOCUMENT ME!
- *
- * @param e
- * DOCUMENT ME!
+ * Shows a dialog where group name and description may be edited
*/
protected void groupName_actionPerformed()
{
-
SequenceGroup sg = getGroup();
EditNameDialog dialog = new EditNameDialog(sg.getName(),
sg.getDescription(),
- " " + MessageManager.getString("label.group_name") + " ",
- MessageManager.getString("label.group_description") + " ",
+ MessageManager.getString("label.group_name"),
+ MessageManager.getString("label.group_description"));
+ dialog.showDialog(ap.alignFrame,
MessageManager.getString("label.edit_group_name_description"),
- ap.alignFrame);
-
- if (!dialog.accept)
- {
- return;
- }
-
- sg.setName(dialog.getName());
- sg.setDescription(dialog.getDescription());
- refresh();
+ new RunResponse(JvOptionPane.OK_OPTION)
+ {
+ @Override
+ public void run()
+ {
+ sg.setName(dialog.getName());
+ sg.setDescription(dialog.getDescription());
+ refresh();
+ }
+ });
}
/**
}
/**
- * DOCUMENT ME!
- *
- * @param e
- * DOCUMENT ME!
+ * Shows a dialog where sequence name and description may be edited
*/
void sequenceName_actionPerformed()
{
EditNameDialog dialog = new EditNameDialog(sequence.getName(),
sequence.getDescription(),
- " " + MessageManager.getString("label.sequence_name")
- + " ",
- MessageManager.getString("label.sequence_description") + " ",
+ MessageManager.getString("label.sequence_name"),
+ MessageManager.getString("label.sequence_description"));
+ dialog.showDialog(ap.alignFrame,
MessageManager.getString(
"label.edit_sequence_name_description"),
- ap.alignFrame);
-
- if (!dialog.accept)
- {
- return;
- }
-
- if (dialog.getName() != null)
- {
- if (dialog.getName().indexOf(" ") > -1)
- {
- JvOptionPane.showMessageDialog(ap,
- MessageManager
- .getString("label.spaces_converted_to_backslashes"),
- MessageManager
- .getString("label.no_spaces_allowed_sequence_name"),
- JvOptionPane.WARNING_MESSAGE);
- }
-
- sequence.setName(dialog.getName().replace(' ', '_'));
- ap.paintAlignment(false, false);
- }
-
- sequence.setDescription(dialog.getDescription());
-
- ap.av.firePropertyChange("alignment", null,
- ap.av.getAlignment().getSequences());
-
+ new RunResponse(JvOptionPane.OK_OPTION)
+ {
+ @Override
+ public void run()
+ {
+ if (dialog.getName() != null)
+ {
+ if (dialog.getName().indexOf(" ") > -1)
+ {
+ JvOptionPane.showMessageDialog(ap,
+ MessageManager.getString(
+ "label.spaces_converted_to_underscores"),
+ MessageManager.getString(
+ "label.no_spaces_allowed_sequence_name"),
+ JvOptionPane.WARNING_MESSAGE);
+ }
+ sequence.setName(dialog.getName().replace(' ', '_'));
+ ap.paintAlignment(false, false);
+ }
+ sequence.setDescription(dialog.getDescription());
+ ap.av.firePropertyChange("alignment", null,
+ ap.av.getAlignment().getSequences());
+ }
+ });
}
/**
*/
if (!seqs.isEmpty())
{
- if (ap.getSeqPanel().seqCanvas.getFeatureRenderer()
- .amendFeatures(seqs, features, true, ap))
- {
- ap.alignFrame.setShowSeqFeatures(true);
- ap.av.setSearchResults(null); // clear highlighting
- ap.repaint(); // draw new/amended features
- }
+ new FeatureEditor(ap, seqs, features, true).showDialog();
}
}
}
- public void editSequence_actionPerformed(ActionEvent actionEvent)
+ /**
+ * Shows a dialog where sequence characters may be edited. Any changes are
+ * applied, and added as an available 'Undo' item in the edit commands
+ * history.
+ */
+ public void editSequence_actionPerformed()
{
SequenceGroup sg = ap.av.getSelectionGroup();
EditNameDialog dialog = new EditNameDialog(
sequence.getSequenceAsString(sg.getStartRes(),
sg.getEndRes() + 1),
- null, MessageManager.getString("label.edit_sequence"), null,
+ null, MessageManager.getString("label.edit_sequence"), null);
+ dialog.showDialog(ap.alignFrame,
MessageManager.getString("label.edit_sequence"),
- ap.alignFrame);
-
- if (dialog.accept)
- {
- EditCommand editCommand = new EditCommand(
- MessageManager.getString("label.edit_sequences"),
- Action.REPLACE,
- dialog.getName().replace(' ', ap.av.getGapCharacter()),
- sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),
- sg.getStartRes(), sg.getEndRes() + 1, ap.av.getAlignment());
-
- ap.alignFrame.addHistoryItem(editCommand);
-
- ap.av.firePropertyChange("alignment", null,
- ap.av.getAlignment().getSequences());
- }
+ new RunResponse(JvOptionPane.OK_OPTION)
+ {
+ @Override
+ public void run()
+ {
+ EditCommand editCommand = new EditCommand(
+ MessageManager.getString("label.edit_sequences"),
+ Action.REPLACE,
+ dialog.getName().replace(' ',
+ ap.av.getGapCharacter()),
+ sg.getSequencesAsArray(
+ ap.av.getHiddenRepSequences()),
+ sg.getStartRes(), sg.getEndRes() + 1,
+ ap.av.getAlignment());
+ ap.alignFrame.addHistoryItem(editCommand);
+ ap.av.firePropertyChange("alignment", null,
+ ap.av.getAlignment().getSequences());
+ }
+ });
}
}