X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FAppletPDBViewer.java;h=cebd6a9fe02635d01f95ef40c0aeb1e17aa8d658;hb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;hp=b2931aeb464fa3b5d3c9a55047f080eb191f5a97;hpb=daeacba9a61069114333b550a987242d8e47e7f7;p=jalview.git diff --git a/src/MCview/AppletPDBViewer.java b/src/MCview/AppletPDBViewer.java index b2931ae..cebd6a9 100755 --- a/src/MCview/AppletPDBViewer.java +++ b/src/MCview/AppletPDBViewer.java @@ -1,255 +1,255 @@ -/* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 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 java.awt.event.ActionListener; -import java.awt.event.ActionEvent; - - -public class AppletPDBViewer extends Frame -{ - PDBEntry pdb; - Sequence sequence; - AppletPDBCanvas pdbcanvas; - - - public AppletPDBViewer(String pdbtext,String type, - Sequence seq, - SeqCanvas seqcanvas) - { - sequence = seq; - - try - { - jbInit(); - } - catch (Exception ex) - { - ex.printStackTrace(); - } - - pdbcanvas = new AppletPDBCanvas(seqcanvas, seq); - - add(pdbcanvas, BorderLayout.CENTER); - - StringBuffer title = new StringBuffer(sequence.getName() + ":"); - - jalview.bin.JalviewLite.addFrame(this,title.toString(),400, 400); - - try{ - PDBfile pdbfile = new PDBfile(pdbtext, type); - pdbcanvas.setPDBFile(pdbfile); - } - catch(Exception ex){ - pdbcanvas.errorLoading = true; - pdbcanvas.repaint(); - } - } - - - private void jbInit() - throws Exception - { - this.setMenuBar(jMenuBar1); - fileMenu.setLabel("File"); - coloursMenu.setLabel("Colours"); - mapping.setLabel("View Mapping"); - mapping.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - mapping_actionPerformed(); - } - }); - wire.setLabel("Wireframe"); - wire.addItemListener(new ItemListener() - { - public void itemStateChanged(ItemEvent e) - { - wire_actionPerformed(); - } - }); - depth.setState(true); - depth.setLabel("Depthcue"); - depth.addItemListener(new ItemListener() - { - public void itemStateChanged(ItemEvent e) - { - depth_actionPerformed(); - } - }); - zbuffer.setState(true); - zbuffer.setLabel("Z Buffering"); - zbuffer.addItemListener(new ItemListener() - { - public void itemStateChanged(ItemEvent e) - { - zbuffer_actionPerformed(); - } - }); - charge.setLabel("Charge & Cysteine"); - charge.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - charge_actionPerformed(); - } - }); - hydro.setLabel("Hydrophobicity"); - hydro.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - hydro_actionPerformed(); - } - }); - chain.setLabel("By Chain"); - chain.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - chain_actionPerformed(); - } - }); - seqButton.setLabel("By Sequence"); - seqButton.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e){ - seqButton_actionPerformed(); - } - }); - allchains.setLabel("All Chains Visible"); - allchains.addItemListener(new ItemListener() - { - public void itemStateChanged(ItemEvent itemEvent) - { - allchains_itemStateChanged(itemEvent); - } - }); - jMenuBar1.add(fileMenu); - jMenuBar1.add(coloursMenu); - fileMenu.add(mapping);; - - coloursMenu.add(seqButton); - coloursMenu.add(chain); - coloursMenu.add(hydro); - coloursMenu.add(charge); - coloursMenu.addSeparator(); - coloursMenu.add(wire); - coloursMenu.add(depth); - coloursMenu.add(zbuffer); - coloursMenu.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(); - - public void charge_actionPerformed() - { - clearButtonGroup(); - pdbcanvas.pdb.setChargeColours(); - pdbcanvas.redrawneeded=true; - pdbcanvas.repaint(); - } - - public void hydro_actionPerformed() - { - clearButtonGroup(); - pdbcanvas.pdb.setHydrophobicityColours(); - pdbcanvas.redrawneeded=true; - pdbcanvas.repaint(); - } - - public void chain_actionPerformed() - { - clearButtonGroup(); - 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() - { - clearButtonGroup(); - pdbcanvas.bysequence = true; - pdbcanvas.updateSeqColours(); - pdbcanvas.repaint(); - } - - void clearButtonGroup() - { - pdbcanvas.bysequence = false; - pdbcanvas.bymolecule = false; - } - - 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(ItemEvent itemEvent) - { - pdbcanvas.setAllchainsVisible(allchains.getState()); - } -} +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * + * This file is part of Jalview. + * + * Jalview 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 3 of the License, or (at your option) any later version. + * + * Jalview 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 Jalview. If not, see . + */ +package MCview; + +import java.awt.*; +import java.awt.event.*; + +import jalview.appletgui.*; +import jalview.datamodel.*; +import jalview.schemes.*; + +public class AppletPDBViewer extends EmbmenuFrame implements + ActionListener, ItemListener +{ + AppletPDBCanvas pdbcanvas; + + public AppletPDBViewer(PDBEntry pdbentry, SequenceI[] seq, + String[] chains, AlignmentPanel ap, String protocol) + { + try + { + jbInit(); + } catch (Exception ex) + { + ex.printStackTrace(); + } + + pdbcanvas = new AppletPDBCanvas(pdbentry, seq, chains, ap, protocol); + + embedMenuIfNeeded(pdbcanvas); + add(pdbcanvas, BorderLayout.CENTER); + + StringBuffer title = new StringBuffer(seq[0].getName() + ":" + + pdbcanvas.pdbentry.getFile()); + + jalview.bin.JalviewLite.addFrame(this, title.toString(), 400, 400); + + } + + public void actionPerformed(ActionEvent evt) + { + if (evt.getSource() == mapping) + { + 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()); + + } + else if (evt.getSource() == charge) + { + pdbcanvas.bysequence = false; + pdbcanvas.pdb.setChargeColours(); + } + + else if (evt.getSource() == chain) + { + pdbcanvas.bysequence = false; + pdbcanvas.pdb.setChainColours(); + } + else if (evt.getSource() == seqButton) + { + pdbcanvas.bysequence = true; + pdbcanvas.colourBySequence(); + + } + 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); + } + + pdbcanvas.redrawneeded = true; + pdbcanvas.repaint(); + + } + + public void itemStateChanged(ItemEvent evt) + { + if (evt.getSource() == allchains) + { + pdbcanvas.setAllchainsVisible(allchains.getState()); + } + else if (evt.getSource() == wire) + { + pdbcanvas.wire = !pdbcanvas.wire; + } + else if (evt.getSource() == depth) + { + pdbcanvas.depthcue = !pdbcanvas.depthcue; + } + else if (evt.getSource() == zbuffer) + { + pdbcanvas.zbuffer = !pdbcanvas.zbuffer; + } + pdbcanvas.redrawneeded = true; + pdbcanvas.repaint(); + } + + 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(); + + // End StructureListener + // ////////////////////////// + +}