X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FAppletPDBViewer.java;h=fc8478df60336eccde6af351f788cc7f055e7ef8;hb=013c39d4eaab0ed509d21e83676fa4da284d7fde;hp=2c0080ee918a219a999eb8cece0d0ef914d36925;hpb=dfb45c8f874124d3ff3caac2902ed0c4a0e87cf5;p=jalview.git diff --git a/src/MCview/AppletPDBViewer.java b/src/MCview/AppletPDBViewer.java index 2c0080e..fc8478d 100755 --- a/src/MCview/AppletPDBViewer.java +++ b/src/MCview/AppletPDBViewer.java @@ -1,316 +1,248 @@ -/* - * 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 jalview.schemes.*; -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) - { - pdbcanvas.setColours(new HydrophobicColourScheme()); - } - }); - 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); - } - }); - viewMenu.setLabel("View"); - zappo.setLabel("Zappo"); - zappo.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.setColours(new ZappoColourScheme()); - } - }); - taylor.setLabel("Taylor"); - taylor.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.setColours(new TaylorColourScheme()); - } - }); - helix.setLabel("Helix Propensity"); - helix.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.setColours(new HelixColourScheme()); - } - }); - strand.setLabel("Strand Propensity"); - strand.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.setColours(new StrandColourScheme()); - } - }); - turn.setLabel("Turn Propensity"); - turn.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.setColours(new TurnColourScheme()); - } - }); - buried.setLabel("Buried Index"); - buried.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.setColours(new BuriedColourScheme()); - } - }); - user.setLabel("User Defined..."); - user.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - pdbcanvas.bysequence = false; - new jalview.appletgui.UserDefinedColours(pdbcanvas); - } - }); - 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(ItemEvent itemEvent) - { - pdbcanvas.setAllchainsVisible(allchains.getState()); - } - -} +/* + * Jalview - A Sequence Alignment Editor and Viewer + * Copyright (C) 2007 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.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 +//////////////////////////// + + +}