import jalview.commands.*;\r
import jalview.datamodel.*;\r
import jalview.schemes.*;\r
+import jalview.io.AppletFormatAdapter;\r
\r
public class APopupMenu\r
extends java.awt.PopupMenu implements ActionListener, ItemListener\r
MenuItem repGroup = new MenuItem();\r
MenuItem sequenceName = new MenuItem("Edit Name/Description");\r
MenuItem sequenceFeature = new MenuItem("Create Sequence Feature");\r
+ MenuItem editSequence = new MenuItem("Edit Sequence");\r
\r
Sequence seq;\r
MenuItem revealAll = new MenuItem();\r
\r
if (dialog.accept)\r
{\r
-\r
getGroup().setName(dialog.getName().replace(' ', '_'));\r
getGroup().setDescription(dialog.getDescription());\r
}\r
{\r
ap.alignFrame.cut_actionPerformed();\r
}\r
+ else if(source == editSequence)\r
+ {\r
+ SequenceGroup sg = ap.av.getSelectionGroup();\r
+\r
+ if(sg!=null)\r
+ {\r
+ if (seq == null)\r
+ seq = (Sequence) sg.getSequenceAt(0);\r
+\r
+ EditNameDialog dialog = new EditNameDialog(seq.getSequenceAsString(\r
+ sg.getStartRes(),\r
+ sg.getEndRes() + 1),\r
+ null,\r
+ "Edit Sequence ",\r
+ null,\r
+\r
+ ap.alignFrame,\r
+ "Edit Sequence",\r
+ 500, 100);\r
+\r
+ if (dialog.accept)\r
+ {\r
+ EditCommand editCommand = new EditCommand(\r
+ "Edit Sequences", EditCommand.REPLACE,\r
+ dialog.getName(),\r
+ sg.getSequencesAsArray(ap.av.hiddenRepSequences),\r
+ sg.getStartRes(), sg.getEndRes()+1, ap.av.alignment\r
+ );\r
+\r
+ ap.alignFrame.addHistoryItem(editCommand);\r
+\r
+ ap.av.firePropertyChange("alignment", null,\r
+ ap.av.getAlignment().getSequences());\r
+ }\r
+ }\r
+ }\r
else if (source == toUpper || source == toLower || source == toggleCase)\r
{\r
SequenceGroup sg = ap.av.getSelectionGroup();\r
\r
void addPDB()\r
{\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame);\r
- cap.setText("Paste your PDB file here.");\r
- cap.setPDBImport(seq);\r
- Frame frame = new Frame();\r
- frame.add(cap);\r
- jalview.bin.JalviewLite.addFrame(frame, "Paste PDB file ", 400, 300);\r
+ if(seq.getPDBId()!=null)\r
+ {\r
+ PDBEntry entry = (PDBEntry)seq.getPDBId().firstElement();\r
+\r
+ if ( ap.av.applet.jmolAvailable )\r
+ new jalview.appletgui.AppletJmol(entry,\r
+ new Sequence[]\r
+ {seq},\r
+ ap,\r
+ AppletFormatAdapter.URL);\r
+ else\r
+\r
+ new MCview.AppletPDBViewer(entry,\r
+ new Sequence[]\r
+ {seq},\r
+ ap,\r
+ AppletFormatAdapter.URL);\r
+\r
+ }\r
+ else\r
+ {\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame);\r
+ cap.setText("Paste your PDB file here.");\r
+ cap.setPDBImport(seq);\r
+ Frame frame = new Frame();\r
+ frame.add(cap);\r
+ jalview.bin.JalviewLite.addFrame(frame, "Paste PDB file ", 400, 300);\r
+ }\r
}\r
\r
private void jbInit()\r
copy.addActionListener(this);\r
editMenu.add(cut);\r
cut.addActionListener(this);\r
+\r
+ editMenu.add(editSequence);\r
+ editSequence.addActionListener(this);\r
+\r
editMenu.add(toUpper);\r
toUpper.addActionListener(this);\r
editMenu.add(toLower);\r