2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3 * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11 * Jalview is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
21 import java.awt.event.*;
23 import jalview.appletgui.*;
24 import jalview.datamodel.*;
25 import jalview.schemes.*;
26 import jalview.util.MessageManager;
28 public class AppletPDBViewer extends EmbmenuFrame implements
29 ActionListener, ItemListener
31 AppletPDBCanvas pdbcanvas;
33 public AppletPDBViewer(PDBEntry pdbentry, SequenceI[] seq,
34 String[] chains, AlignmentPanel ap, String protocol)
39 } catch (Exception ex)
44 pdbcanvas = new AppletPDBCanvas(pdbentry, seq, chains, ap, protocol);
46 embedMenuIfNeeded(pdbcanvas);
47 add(pdbcanvas, BorderLayout.CENTER);
49 StringBuffer title = new StringBuffer(seq[0].getName() + ":"
50 + pdbcanvas.pdbentry.getFile());
52 jalview.bin.JalviewLite.addFrame(this, title.toString(), 400, 400);
56 public void actionPerformed(ActionEvent evt)
58 if (evt.getSource() == mapping)
60 jalview.appletgui.CutAndPasteTransfer cap = new jalview.appletgui.CutAndPasteTransfer(
62 Frame frame = new Frame();
64 jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.pdb_sequence_mapping"),
66 cap.setText(pdbcanvas.mappingDetails.toString());
69 else if (evt.getSource() == charge)
71 pdbcanvas.bysequence = false;
72 pdbcanvas.pdb.setChargeColours();
75 else if (evt.getSource() == chain)
77 pdbcanvas.bysequence = false;
78 pdbcanvas.pdb.setChainColours();
80 else if (evt.getSource() == seqButton)
82 pdbcanvas.bysequence = true;
83 pdbcanvas.colourBySequence();
86 else if (evt.getSource() == zappo)
88 pdbcanvas.setColours(new ZappoColourScheme());
90 else if (evt.getSource() == taylor)
92 pdbcanvas.setColours(new TaylorColourScheme());
94 else if (evt.getSource() == hydro)
96 pdbcanvas.setColours(new HydrophobicColourScheme());
98 else if (evt.getSource() == helix)
100 pdbcanvas.setColours(new HelixColourScheme());
102 else if (evt.getSource() == strand)
104 pdbcanvas.setColours(new StrandColourScheme());
106 else if (evt.getSource() == turn)
108 pdbcanvas.setColours(new TurnColourScheme());
110 else if (evt.getSource() == buried)
112 pdbcanvas.setColours(new BuriedColourScheme());
114 else if (evt.getSource() == user)
116 pdbcanvas.bysequence = false;
117 new jalview.appletgui.UserDefinedColours(pdbcanvas);
120 pdbcanvas.redrawneeded = true;
125 public void itemStateChanged(ItemEvent evt)
127 if (evt.getSource() == allchains)
129 pdbcanvas.setAllchainsVisible(allchains.getState());
131 else if (evt.getSource() == wire)
133 pdbcanvas.wire = !pdbcanvas.wire;
135 else if (evt.getSource() == depth)
137 pdbcanvas.depthcue = !pdbcanvas.depthcue;
139 else if (evt.getSource() == zbuffer)
141 pdbcanvas.zbuffer = !pdbcanvas.zbuffer;
143 pdbcanvas.redrawneeded = true;
147 private void jbInit() throws Exception
149 setMenuBar(jMenuBar1);
150 fileMenu.setLabel(MessageManager.getString("action.file"));
151 coloursMenu.setLabel(MessageManager.getString("label.colours"));
152 mapping.setLabel(MessageManager.getString("label.view_mapping"));
153 mapping.addActionListener(this);
154 wire.setLabel(MessageManager.getString("label.wireframe"));
155 wire.addItemListener(this);
156 depth.setState(true);
157 depth.setLabel(MessageManager.getString("label.depthcue"));
158 depth.addItemListener(this);
159 zbuffer.setState(true);
160 zbuffer.setLabel(MessageManager.getString("label.z_buffering"));
161 zbuffer.addItemListener(this);
162 charge.setLabel(MessageManager.getString("label.charge_cysteine"));
163 charge.addActionListener(this);
164 hydro.setLabel(MessageManager.getString("label.hydrophobicity"));
165 hydro.addActionListener(this);
166 chain.setLabel(MessageManager.getString("action.by_chain"));
167 chain.addActionListener(this);
168 seqButton.setLabel(MessageManager.getString("action.by_sequence"));
169 seqButton.addActionListener(this);
170 allchains.setLabel(MessageManager.getString("label.all_chains_visible"));
171 allchains.addItemListener(this);
172 viewMenu.setLabel(MessageManager.getString("action.view"));
173 zappo.setLabel(MessageManager.getString("label.zappo"));
174 zappo.addActionListener(this);
175 taylor.setLabel(MessageManager.getString("label.taylor"));
176 taylor.addActionListener(this);
177 helix.setLabel(MessageManager.getString("label.helix_propensity"));
178 helix.addActionListener(this);
179 strand.setLabel(MessageManager.getString("label.strand_propensity"));
180 strand.addActionListener(this);
181 turn.setLabel(MessageManager.getString("label.turn_propensity"));
182 turn.addActionListener(this);
183 buried.setLabel(MessageManager.getString("label.buried_index"));
184 buried.addActionListener(this);
185 user.setLabel(MessageManager.getString("action.user_defined"));
186 user.addActionListener(this);
187 jMenuBar1.add(fileMenu);
188 jMenuBar1.add(coloursMenu);
189 jMenuBar1.add(viewMenu);
190 fileMenu.add(mapping);
193 coloursMenu.add(seqButton);
194 coloursMenu.add(chain);
195 coloursMenu.add(charge);
196 coloursMenu.add(zappo);
197 coloursMenu.add(taylor);
198 coloursMenu.add(hydro);
199 coloursMenu.add(helix);
200 coloursMenu.add(strand);
201 coloursMenu.add(turn);
202 coloursMenu.add(buried);
203 coloursMenu.add(user);
206 viewMenu.add(zbuffer);
207 viewMenu.add(allchains);
208 allchains.setState(true);
211 MenuBar jMenuBar1 = new MenuBar();
213 Menu fileMenu = new Menu();
215 Menu coloursMenu = new Menu();
217 MenuItem mapping = new MenuItem();
219 CheckboxGroup bg = new CheckboxGroup();
221 CheckboxMenuItem wire = new CheckboxMenuItem();
223 CheckboxMenuItem depth = new CheckboxMenuItem();
225 CheckboxMenuItem zbuffer = new CheckboxMenuItem();
227 MenuItem charge = new MenuItem();
229 MenuItem hydro = new MenuItem();
231 MenuItem chain = new MenuItem();
233 MenuItem seqButton = new MenuItem();
235 CheckboxMenuItem allchains = new CheckboxMenuItem();
237 Menu viewMenu = new Menu();
239 MenuItem turn = new MenuItem();
241 MenuItem strand = new MenuItem();
243 MenuItem helix = new MenuItem();
245 MenuItem taylor = new MenuItem();
247 MenuItem zappo = new MenuItem();
249 MenuItem buried = new MenuItem();
251 MenuItem user = new MenuItem();
253 // End StructureListener
254 // //////////////////////////