+/*\r
+ * Jalview - A Sequence Alignment Editor and Viewer\r
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ *\r
+ * This program is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License\r
+ * as published by the Free Software Foundation; either version 2\r
+ * of the License, or (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
package MCview;\r
\r
import java.awt.*;\r
-\r
import java.awt.event.*;\r
-import jalview.datamodel.*;\r
+\r
import jalview.appletgui.*;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.ActionEvent;\r
+import jalview.datamodel.*;\r
+import jalview.schemes.*;\r
\r
\r
-public class AppletPDBViewer extends Frame\r
+public class AppletPDBViewer\r
+ extends Frame implements ActionListener, ItemListener\r
{\r
- PDBEntry pdb;\r
- Sequence sequence;\r
- AppletPDBCanvas pdbcanvas;\r
-\r
-\r
- public AppletPDBViewer(String pdbtext,String type,\r
- Sequence seq,\r
- SeqCanvas seqcanvas)\r
- {\r
- sequence = seq;\r
-\r
- try\r
- {\r
- jbInit();\r
- }\r
- catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
-\r
- pdbcanvas = new AppletPDBCanvas(seqcanvas, seq);\r
-\r
- add(pdbcanvas, BorderLayout.CENTER);\r
-\r
- StringBuffer title = new StringBuffer(sequence.getName() + ":");\r
-\r
- jalview.bin.JalviewLite.addFrame(this,title.toString(),400, 400);\r
-\r
- try{\r
- PDBfile pdbfile = new PDBfile(pdbtext, type);\r
- pdbcanvas.setPDBFile(pdbfile);\r
- }\r
- catch(Exception ex){\r
- pdbcanvas.errorLoading = true;\r
- pdbcanvas.repaint();\r
- }\r
- }\r
-\r
-\r
- private void jbInit()\r
- throws Exception\r
- {\r
- this.setMenuBar(jMenuBar1);\r
- fileMenu.setLabel("File");\r
- coloursMenu.setLabel("Colours");\r
- mapping.setLabel("View Mapping");\r
- mapping.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- mapping_actionPerformed();\r
- }\r
- });\r
- wire.setLabel("Wireframe");\r
- wire.addItemListener(new ItemListener()\r
- {\r
- public void itemStateChanged(ItemEvent e)\r
- {\r
- wire_actionPerformed();\r
- }\r
- });\r
- depth.setState(true);\r
- depth.setLabel("Depthcue");\r
- depth.addItemListener(new ItemListener()\r
- {\r
- public void itemStateChanged(ItemEvent e)\r
- {\r
- depth_actionPerformed();\r
- }\r
- });\r
- zbuffer.setState(true);\r
- zbuffer.setLabel("Z Buffering");\r
- zbuffer.addItemListener(new ItemListener()\r
- {\r
- public void itemStateChanged(ItemEvent e)\r
- {\r
- zbuffer_actionPerformed();\r
- }\r
- });\r
- charge.setLabel("Charge & Cysteine");\r
- charge.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- charge_actionPerformed();\r
- }\r
- });\r
- hydro.setLabel("Hydrophobicity");\r
- hydro.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- hydro_actionPerformed();\r
- }\r
- });\r
- chain.setLabel("By Chain");\r
- chain.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- chain_actionPerformed();\r
- }\r
- });\r
- seqButton.setLabel("By Sequence");\r
- seqButton.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e){\r
- seqButton_actionPerformed();\r
- }\r
- });\r
- allchains.setLabel("All Chains Visible");\r
- allchains.addItemListener(new ItemListener()\r
+ AppletPDBCanvas pdbcanvas;\r
+\r
+ public AppletPDBViewer(PDBEntry pdbentry,\r
+ SequenceI[] seq,\r
+ AlignmentPanel ap,\r
+ String protocol)\r
+ {\r
+ try\r
+ {\r
+ jbInit();\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+\r
+ pdbcanvas = new AppletPDBCanvas(pdbentry, seq, ap, protocol);\r
+\r
+\r
+ add(pdbcanvas, BorderLayout.CENTER);\r
+\r
+ StringBuffer title = new StringBuffer(seq[0].getName()\r
+ + ":"\r
+ + pdbcanvas.pdbentry.getFile());\r
+\r
+ jalview.bin.JalviewLite.addFrame(this, title.toString(), 400, 400);\r
+\r
+ }\r
+\r
+\r
+\r
+ public void actionPerformed(ActionEvent evt)\r
+ {\r
+ if (evt.getSource() == mapping)\r
+ {\r
+ jalview.appletgui.CutAndPasteTransfer cap\r
+ = new jalview.appletgui.CutAndPasteTransfer(false, null);\r
+ Frame frame = new Frame();\r
+ frame.add(cap);\r
+ jalview.bin.JalviewLite.addFrame(frame, "PDB - Sequence Mapping", 500,\r
+ 600);\r
+ cap.setText(pdbcanvas.mappingDetails.toString());\r
+\r
+ }\r
+ else if (evt.getSource() == charge)\r
+ {\r
+ pdbcanvas.bysequence = false;\r
+ pdbcanvas.pdb.setChargeColours();\r
+ }\r
+\r
+ else if (evt.getSource() == chain)\r
+ {\r
+ pdbcanvas.bysequence = false;\r
+ pdbcanvas.pdb.setChainColours();\r
+ }\r
+ else if (evt.getSource() == seqButton)\r
+ {\r
+ pdbcanvas.bysequence = true;\r
+ pdbcanvas.colourBySequence(pdbcanvas.ap.getSequenceRenderer(),\r
+ pdbcanvas.ap.av.getShowSequenceFeatures() ?\r
+ pdbcanvas.ap.getFeatureRenderer() : null);\r
+\r
+ }\r
+ else if (evt.getSource() == zappo)\r
+ {\r
+ pdbcanvas.setColours(new ZappoColourScheme());\r
+ }\r
+ else if (evt.getSource() == taylor)\r
+ {\r
+ pdbcanvas.setColours(new TaylorColourScheme());\r
+ }\r
+ else if (evt.getSource() == hydro)\r
{\r
- public void itemStateChanged(ItemEvent itemEvent)\r
- {\r
- allchains_itemStateChanged(itemEvent);\r
- }\r
- });\r
+ pdbcanvas.setColours(new HydrophobicColourScheme());\r
+ }\r
+ else if (evt.getSource() == helix)\r
+ {\r
+ pdbcanvas.setColours(new HelixColourScheme());\r
+ }\r
+ else if (evt.getSource() == strand)\r
+ {\r
+ pdbcanvas.setColours(new StrandColourScheme());\r
+ }\r
+ else if (evt.getSource() == turn)\r
+ {\r
+ pdbcanvas.setColours(new TurnColourScheme());\r
+ }\r
+ else if (evt.getSource() == buried)\r
+ {\r
+ pdbcanvas.setColours(new BuriedColourScheme());\r
+ }\r
+ else if (evt.getSource() == user)\r
+ {\r
+ pdbcanvas.bysequence = false;\r
+ new jalview.appletgui.UserDefinedColours(pdbcanvas);\r
+ }\r
+\r
+ pdbcanvas.redrawneeded = true;\r
+ pdbcanvas.repaint();\r
+\r
+ }\r
+\r
+ public void itemStateChanged(ItemEvent evt)\r
+ {\r
+ if (evt.getSource() == allchains)\r
+ {\r
+ pdbcanvas.setAllchainsVisible(allchains.getState());\r
+ }\r
+ else if (evt.getSource() == wire)\r
+ {\r
+ pdbcanvas.wire = !pdbcanvas.wire;\r
+ }\r
+ else if (evt.getSource() == depth)\r
+ {\r
+ pdbcanvas.depthcue = !pdbcanvas.depthcue;\r
+ }\r
+ else if (evt.getSource() == zbuffer)\r
+ {\r
+ pdbcanvas.zbuffer = !pdbcanvas.zbuffer;\r
+ }\r
+ pdbcanvas.redrawneeded = true;\r
+ pdbcanvas.repaint();\r
+ }\r
+\r
+ private void jbInit()\r
+ throws Exception\r
+ {\r
+ setMenuBar(jMenuBar1);\r
+ fileMenu.setLabel("File");\r
+ coloursMenu.setLabel("Colours");\r
+ mapping.setLabel("View Mapping");\r
+ mapping.addActionListener(this);\r
+ wire.setLabel("Wireframe");\r
+ wire.addItemListener(this);\r
+ depth.setState(true);\r
+ depth.setLabel("Depthcue");\r
+ depth.addItemListener(this);\r
+ zbuffer.setState(true);\r
+ zbuffer.setLabel("Z Buffering");\r
+ zbuffer.addItemListener(this);\r
+ charge.setLabel("Charge & Cysteine");\r
+ charge.addActionListener(this);\r
+ hydro.setLabel("Hydrophobicity");\r
+ hydro.addActionListener(this);\r
+ chain.setLabel("By Chain");\r
+ chain.addActionListener(this);\r
+ seqButton.setLabel("By Sequence");\r
+ seqButton.addActionListener(this);\r
+ allchains.setLabel("All Chains Visible");\r
+ allchains.addItemListener(this);\r
+ viewMenu.setLabel("View");\r
+ zappo.setLabel("Zappo");\r
+ zappo.addActionListener(this);\r
+ taylor.setLabel("Taylor");\r
+ taylor.addActionListener(this);\r
+ helix.setLabel("Helix Propensity");\r
+ helix.addActionListener(this);\r
+ strand.setLabel("Strand Propensity");\r
+ strand.addActionListener(this);\r
+ turn.setLabel("Turn Propensity");\r
+ turn.addActionListener(this);\r
+ buried.setLabel("Buried Index");\r
+ buried.addActionListener(this);\r
+ user.setLabel("User Defined...");\r
+ user.addActionListener(this);\r
jMenuBar1.add(fileMenu);\r
- jMenuBar1.add(coloursMenu);\r
- fileMenu.add(mapping);;\r
+ jMenuBar1.add(coloursMenu);\r
+ jMenuBar1.add(viewMenu);\r
+ fileMenu.add(mapping); ;\r
\r
- coloursMenu.add(seqButton);\r
- coloursMenu.add(chain);\r
- coloursMenu.add(hydro);\r
+ coloursMenu.add(seqButton);\r
+ coloursMenu.add(chain);\r
coloursMenu.add(charge);\r
- coloursMenu.addSeparator();\r
- coloursMenu.add(wire);\r
- coloursMenu.add(depth);\r
- coloursMenu.add(zbuffer);\r
- coloursMenu.add(allchains);\r
+ coloursMenu.add(zappo);\r
+ coloursMenu.add(taylor);\r
+ coloursMenu.add(hydro);\r
+ coloursMenu.add(helix);\r
+ coloursMenu.add(strand);\r
+ coloursMenu.add(turn);\r
+ coloursMenu.add(buried);\r
+ coloursMenu.add(user);\r
+ viewMenu.add(wire);\r
+ viewMenu.add(depth);\r
+ viewMenu.add(zbuffer);\r
+ viewMenu.add(allchains);\r
allchains.setState(true);\r
}\r
\r
- MenuBar jMenuBar1 = new MenuBar();\r
- Menu fileMenu = new Menu();\r
- Menu coloursMenu = new Menu();\r
- MenuItem mapping = new MenuItem();\r
- CheckboxGroup bg = new CheckboxGroup();\r
- CheckboxMenuItem wire = new CheckboxMenuItem();\r
- CheckboxMenuItem depth = new CheckboxMenuItem();\r
- CheckboxMenuItem zbuffer = new CheckboxMenuItem();\r
-\r
- MenuItem charge = new MenuItem();\r
- MenuItem hydro = new MenuItem();\r
- MenuItem chain = new MenuItem();\r
- MenuItem seqButton = new MenuItem();\r
-\r
- CheckboxMenuItem allchains = new CheckboxMenuItem();\r
-\r
- public void charge_actionPerformed()\r
- {\r
- clearButtonGroup();\r
- pdbcanvas.pdb.setChargeColours();\r
- pdbcanvas.redrawneeded=true;\r
- pdbcanvas.repaint();\r
- }\r
-\r
- public void hydro_actionPerformed()\r
- {\r
- clearButtonGroup();\r
- pdbcanvas.pdb.setHydrophobicityColours();\r
- pdbcanvas.redrawneeded=true;\r
- pdbcanvas.repaint();\r
- }\r
-\r
- public void chain_actionPerformed()\r
- {\r
- clearButtonGroup();\r
- pdbcanvas.pdb.setChainColours();\r
- pdbcanvas.redrawneeded=true;\r
- pdbcanvas.repaint();\r
- }\r
-\r
- public void zbuffer_actionPerformed()\r
- {\r
- pdbcanvas.zbuffer = ! pdbcanvas.zbuffer;\r
- pdbcanvas.redrawneeded=true;\r
- pdbcanvas.repaint();\r
- }\r
-\r
- public void depth_actionPerformed()\r
- {\r
- pdbcanvas.depthcue = ! pdbcanvas.depthcue;\r
- pdbcanvas.redrawneeded=true;\r
- pdbcanvas.repaint();\r
- }\r
-\r
- public void wire_actionPerformed()\r
- {\r
- pdbcanvas.wire = ! pdbcanvas.wire;\r
- pdbcanvas.redrawneeded=true;\r
- pdbcanvas.repaint();\r
- }\r
-\r
- public void seqButton_actionPerformed()\r
- {\r
- clearButtonGroup();\r
- pdbcanvas.bysequence = true;\r
- pdbcanvas.updateSeqColours();\r
- pdbcanvas.repaint();\r
- }\r
-\r
- void clearButtonGroup()\r
- {\r
- pdbcanvas.bysequence = false;\r
- pdbcanvas.bymolecule = false;\r
- }\r
-\r
- public void mapping_actionPerformed()\r
- {\r
- jalview.appletgui.CutAndPasteTransfer cap\r
- = new jalview.appletgui.CutAndPasteTransfer(false, null);\r
- Frame frame = new Frame();\r
- frame.add(cap);\r
- jalview.bin.JalviewLite.addFrame(frame, "PDB - Sequence Mapping", 500, 600);\r
- cap.setText(pdbcanvas.mappingDetails.toString());\r
- }\r
-\r
- public void allchains_itemStateChanged(ItemEvent itemEvent)\r
- {\r
- pdbcanvas.setAllchainsVisible(allchains.getState());\r
- }\r
+ MenuBar jMenuBar1 = new MenuBar();\r
+ Menu fileMenu = new Menu();\r
+ Menu coloursMenu = new Menu();\r
+ MenuItem mapping = new MenuItem();\r
+ CheckboxGroup bg = new CheckboxGroup();\r
+ CheckboxMenuItem wire = new CheckboxMenuItem();\r
+ CheckboxMenuItem depth = new CheckboxMenuItem();\r
+ CheckboxMenuItem zbuffer = new CheckboxMenuItem();\r
+\r
+ MenuItem charge = new MenuItem();\r
+ MenuItem hydro = new MenuItem();\r
+ MenuItem chain = new MenuItem();\r
+ MenuItem seqButton = new MenuItem();\r
+\r
+ CheckboxMenuItem allchains = new CheckboxMenuItem();\r
+ Menu viewMenu = new Menu();\r
+ MenuItem turn = new MenuItem();\r
+ MenuItem strand = new MenuItem();\r
+ MenuItem helix = new MenuItem();\r
+ MenuItem taylor = new MenuItem();\r
+ MenuItem zappo = new MenuItem();\r
+ MenuItem buried = new MenuItem();\r
+ MenuItem user = new MenuItem();\r
+\r
+\r
+//End StructureListener\r
+////////////////////////////\r
+\r
+\r
}\r