2 * Jalview - A Sequence Alignment Editor and Viewer
3 * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 import java.awt.event.*;
24 import jalview.datamodel.*;
25 import jalview.appletgui.*;
26 import jalview.schemes.*;
27 import java.awt.event.ActionListener;
28 import java.awt.event.ActionEvent;
31 public class AppletPDBViewer extends Frame implements ActionListener, ItemListener
33 AppletPDBCanvas pdbcanvas;
34 public AppletPDBViewer(String pdbtext,String type,
48 pdbcanvas = new AppletPDBCanvas(seqcanvas, seq);
50 add(pdbcanvas, BorderLayout.CENTER);
52 StringBuffer title = new StringBuffer(seq.getName() + ":");
54 jalview.bin.JalviewLite.addFrame(this,title.toString(),400, 400);
57 PDBfile pdbfile = new PDBfile(pdbtext, type);
58 pdbcanvas.setPDBFile(pdbfile);
62 pdbcanvas.errorLoading = true;
67 public void actionPerformed(ActionEvent evt)
69 if(evt.getSource()==mapping)
70 mapping_actionPerformed();
71 else if(evt.getSource()==wire)
72 wire_actionPerformed();
73 else if(evt.getSource()==depth)
74 depth_actionPerformed();
75 else if(evt.getSource()==zbuffer)
76 zbuffer_actionPerformed();
77 else if(evt.getSource()==charge)
78 charge_actionPerformed();
80 else if(evt.getSource()==chain)
81 chain_actionPerformed();
82 else if(evt.getSource()==seqButton)
83 seqButton_actionPerformed();
84 else if(evt.getSource()==zappo)
85 pdbcanvas.setColours(new ZappoColourScheme());
86 else if(evt.getSource()==taylor)
87 pdbcanvas.setColours(new TaylorColourScheme());
88 else if(evt.getSource()==hydro)
89 pdbcanvas.setColours(new HydrophobicColourScheme());
90 else if(evt.getSource()==helix)
91 pdbcanvas.setColours(new HelixColourScheme());
92 else if(evt.getSource()==strand)
93 pdbcanvas.setColours(new StrandColourScheme());
94 else if(evt.getSource()==turn)
95 pdbcanvas.setColours(new TurnColourScheme());
96 else if(evt.getSource()==buried)
97 pdbcanvas.setColours(new BuriedColourScheme());
98 else if(evt.getSource()==user)
100 pdbcanvas.bysequence = false;
101 new jalview.appletgui.UserDefinedColours(pdbcanvas);
105 public void itemStateChanged(ItemEvent evt)
107 if (evt.getSource() == allchains)
108 allchains_itemStateChanged();
109 else if (evt.getSource() == wire)
110 wire_actionPerformed();
111 else if (evt.getSource() == depth)
112 depth_actionPerformed();
113 else if (evt.getSource() == zbuffer)
114 zbuffer_actionPerformed();
118 private void jbInit()
121 setMenuBar(jMenuBar1);
122 fileMenu.setLabel("File");
123 coloursMenu.setLabel("Colours");
124 mapping.setLabel("View Mapping");
125 mapping.addActionListener(this);
126 wire.setLabel("Wireframe");
127 wire.addItemListener(this);
128 depth.setState(true);
129 depth.setLabel("Depthcue");
130 depth.addItemListener(this);
131 zbuffer.setState(true);
132 zbuffer.setLabel("Z Buffering");
133 zbuffer.addItemListener(this);
134 charge.setLabel("Charge & Cysteine");
135 charge.addActionListener(this);
136 hydro.setLabel("Hydrophobicity");
137 hydro.addActionListener(this);
138 chain.setLabel("By Chain");
139 chain.addActionListener(this);
140 seqButton.setLabel("By Sequence");
141 seqButton.addActionListener(this);
142 allchains.setLabel("All Chains Visible");
143 allchains.addItemListener(this);
144 viewMenu.setLabel("View");
145 zappo.setLabel("Zappo");
146 zappo.addActionListener(this);
147 taylor.setLabel("Taylor");
148 taylor.addActionListener(this);
149 helix.setLabel("Helix Propensity");
150 helix.addActionListener(this);
151 strand.setLabel("Strand Propensity");
152 strand.addActionListener(this);
153 turn.setLabel("Turn Propensity");
154 turn.addActionListener(this);
155 buried.setLabel("Buried Index");
156 buried.addActionListener(this);
157 user.setLabel("User Defined...");
158 user.addActionListener(this);
159 jMenuBar1.add(fileMenu);
160 jMenuBar1.add(coloursMenu);
161 jMenuBar1.add(viewMenu);
162 fileMenu.add(mapping);;
164 coloursMenu.add(seqButton);
165 coloursMenu.add(chain);
166 coloursMenu.add(charge);
167 coloursMenu.add(zappo);
168 coloursMenu.add(taylor);
169 coloursMenu.add(hydro);
170 coloursMenu.add(helix);
171 coloursMenu.add(strand);
172 coloursMenu.add(turn);
173 coloursMenu.add(buried);
174 coloursMenu.add(user);
177 viewMenu.add(zbuffer);
178 viewMenu.add(allchains);
179 allchains.setState(true);
182 MenuBar jMenuBar1 = new MenuBar();
183 Menu fileMenu = new Menu();
184 Menu coloursMenu = new Menu();
185 MenuItem mapping = new MenuItem();
186 CheckboxGroup bg = new CheckboxGroup();
187 CheckboxMenuItem wire = new CheckboxMenuItem();
188 CheckboxMenuItem depth = new CheckboxMenuItem();
189 CheckboxMenuItem zbuffer = new CheckboxMenuItem();
191 MenuItem charge = new MenuItem();
192 MenuItem hydro = new MenuItem();
193 MenuItem chain = new MenuItem();
194 MenuItem seqButton = new MenuItem();
196 CheckboxMenuItem allchains = new CheckboxMenuItem();
197 Menu viewMenu = new Menu();
198 MenuItem turn = new MenuItem();
199 MenuItem strand = new MenuItem();
200 MenuItem helix = new MenuItem();
201 MenuItem taylor = new MenuItem();
202 MenuItem zappo = new MenuItem();
203 MenuItem buried = new MenuItem();
204 MenuItem user = new MenuItem();
206 public void charge_actionPerformed()
208 pdbcanvas.bysequence = false;
209 pdbcanvas.pdb.setChargeColours();
210 pdbcanvas.redrawneeded=true;
214 public void chain_actionPerformed()
216 pdbcanvas.bysequence = false;
217 pdbcanvas.pdb.setChainColours();
218 pdbcanvas.redrawneeded=true;
222 public void zbuffer_actionPerformed()
224 pdbcanvas.zbuffer = ! pdbcanvas.zbuffer;
225 pdbcanvas.redrawneeded=true;
229 public void depth_actionPerformed()
231 pdbcanvas.depthcue = ! pdbcanvas.depthcue;
232 pdbcanvas.redrawneeded=true;
236 public void wire_actionPerformed()
238 pdbcanvas.wire = ! pdbcanvas.wire;
239 pdbcanvas.redrawneeded=true;
243 public void seqButton_actionPerformed()
245 pdbcanvas.bysequence = true;
246 pdbcanvas.updateSeqColours();
251 public void mapping_actionPerformed()
253 jalview.appletgui.CutAndPasteTransfer cap
254 = new jalview.appletgui.CutAndPasteTransfer(false, null);
255 Frame frame = new Frame();
257 jalview.bin.JalviewLite.addFrame(frame, "PDB - Sequence Mapping", 500, 600);
258 cap.setText(pdbcanvas.mappingDetails.toString());
261 public void allchains_itemStateChanged()
263 pdbcanvas.setAllchainsVisible(allchains.getState());