From f63c96838e84bb6fd1d22fcf0197d49cee806470 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Wed, 17 Jan 2007 17:01:57 +0000 Subject: [PATCH] Edit name/description added to applet --- src/jalview/appletgui/APopupMenu.java | 60 +++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index f786bde..a1e99ff 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -65,11 +65,16 @@ public class APopupMenu MenuItem pdb = new MenuItem(); MenuItem hideSeqs = new MenuItem(); MenuItem repGroup = new MenuItem(); + MenuItem sequenceName = new MenuItem("Edit Name/Description"); Sequence seq; MenuItem revealAll = new MenuItem(); Menu menu1 = new Menu(); + Dialog editNameDialog; + Button okDialog = new Button("Accept"); + Button cancelDialog = new Button("Cancel");; + public APopupMenu(AlignmentPanel apanel, final Sequence seq, Vector links) { /////////////////////////////////////////////////////////// @@ -218,6 +223,14 @@ public class APopupMenu else if (source == unGroupMenuItem) unGroupMenuItem_actionPerformed(); + else if(source == sequenceName) + editName(); + else if (source==okDialog || source==cancelDialog) + { + editNameDialog.setVisible(false); + if(source==cancelDialog) + editNameDialog = null; + } else if(source == pdb) addPDB(); else if(source == hideSeqs) @@ -343,6 +356,49 @@ public class APopupMenu } + void editName() + { + TextField id = new TextField(seq.getName(), 40); + TextField description = new TextField(seq.getDescription(), 40); + Panel panel = new Panel(new BorderLayout()); + Panel panel2 = new Panel(new BorderLayout()); + panel2.add(new Label(" Sequence Name "), BorderLayout.WEST); + panel2.add(id, BorderLayout.CENTER); + panel.add(panel2, BorderLayout.NORTH); + panel2 = new Panel(new BorderLayout()); + panel2.add(new Label("Sequence Description "), BorderLayout.WEST); + panel2.add(description, BorderLayout.CENTER); + panel.add(panel2, BorderLayout.CENTER); + + panel2 = new Panel(new FlowLayout()); + + panel2.add(okDialog); + panel2.add(cancelDialog); + + panel.add(panel2, BorderLayout.SOUTH); + + editNameDialog = new Dialog(ap.alignFrame, + "Edit Sequence Name / Description", + true); + + editNameDialog.add(panel, BorderLayout.NORTH); + + editNameDialog.setBounds(ap.alignFrame.getBounds().x + +(ap.alignFrame.getSize().width-500)/2 , + ap.alignFrame.getBounds().y + +(ap.alignFrame.getSize().height-120)/2, + 500, 120); + + editNameDialog.show(); + + if (editNameDialog != null) + { + seq.setName(id.getText()); + seq.setDescription(description.getText()); + ap.repaint(); + } + } + void addPDB() { CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame); @@ -370,6 +426,7 @@ public class APopupMenu showBoxes.setLabel("Boxes"); showBoxes.setState(true); showBoxes.addItemListener(this); + sequenceName.addActionListener(this); showText.setLabel("Text"); showText.addItemListener(this); @@ -444,6 +501,7 @@ public class APopupMenu editMenu.add(toLower); toLower.addActionListener(this); editMenu.add(toggleCase); + seqMenu.add(sequenceName); seqMenu.add(pdb); seqMenu.add(repGroup); menu1.add(unGroupMenuItem); @@ -456,6 +514,8 @@ public class APopupMenu hideSeqs.addActionListener(this); repGroup.addActionListener(this); revealAll.addActionListener(this); + okDialog.addActionListener(this); + cancelDialog.addActionListener(this); } -- 1.7.10.2