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