2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
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
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
23 import jalview.appletgui.AlignmentPanel;
24 import jalview.appletgui.CutAndPasteTransfer;
25 import jalview.appletgui.EmbmenuFrame;
26 import jalview.bin.JalviewLite;
27 import jalview.datamodel.PDBEntry;
28 import jalview.datamodel.SequenceI;
29 import jalview.schemes.BuriedColourScheme;
30 import jalview.schemes.HelixColourScheme;
31 import jalview.schemes.HydrophobicColourScheme;
32 import jalview.schemes.StrandColourScheme;
33 import jalview.schemes.TaylorColourScheme;
34 import jalview.schemes.TurnColourScheme;
35 import jalview.schemes.ZappoColourScheme;
36 import jalview.util.MessageManager;
38 import java.awt.BorderLayout;
39 import java.awt.CheckboxGroup;
40 import java.awt.CheckboxMenuItem;
41 import java.awt.Frame;
43 import java.awt.MenuBar;
44 import java.awt.MenuItem;
45 import java.awt.event.ActionEvent;
46 import java.awt.event.ActionListener;
47 import java.awt.event.ItemEvent;
48 import java.awt.event.ItemListener;
50 public class AppletPDBViewer extends EmbmenuFrame implements
51 ActionListener, ItemListener
53 AppletPDBCanvas pdbcanvas;
55 public AppletPDBViewer(PDBEntry pdbentry, SequenceI[] seq,
56 String[] chains, AlignmentPanel ap, String protocol)
61 } catch (Exception ex)
66 pdbcanvas = new AppletPDBCanvas(pdbentry, seq, chains, ap, protocol);
68 embedMenuIfNeeded(pdbcanvas);
69 add(pdbcanvas, BorderLayout.CENTER);
71 StringBuffer title = new StringBuffer(seq[0].getName() + ":"
72 + pdbcanvas.pdbentry.getFile());
74 JalviewLite.addFrame(this, title.toString(), 400, 400);
78 public void actionPerformed(ActionEvent evt)
80 if (evt.getSource() == mapping)
82 CutAndPasteTransfer cap = new CutAndPasteTransfer(false, null);
83 Frame frame = new Frame();
85 JalviewLite.addFrame(frame,
86 MessageManager.getString("label.pdb_sequence_mapping"), 500,
88 cap.setText(pdbcanvas.mappingDetails.toString());
91 else if (evt.getSource() == charge)
93 pdbcanvas.bysequence = false;
94 pdbcanvas.pdb.setChargeColours();
97 else if (evt.getSource() == chain)
99 pdbcanvas.bysequence = false;
100 pdbcanvas.pdb.setChainColours();
102 else if (evt.getSource() == seqButton)
104 pdbcanvas.bysequence = true;
105 pdbcanvas.colourBySequence();
108 else if (evt.getSource() == zappo)
110 pdbcanvas.setColours(new ZappoColourScheme());
112 else if (evt.getSource() == taylor)
114 pdbcanvas.setColours(new TaylorColourScheme());
116 else if (evt.getSource() == hydro)
118 pdbcanvas.setColours(new HydrophobicColourScheme());
120 else if (evt.getSource() == helix)
122 pdbcanvas.setColours(new HelixColourScheme());
124 else if (evt.getSource() == strand)
126 pdbcanvas.setColours(new StrandColourScheme());
128 else if (evt.getSource() == turn)
130 pdbcanvas.setColours(new TurnColourScheme());
132 else if (evt.getSource() == buried)
134 pdbcanvas.setColours(new BuriedColourScheme());
136 else if (evt.getSource() == user)
138 pdbcanvas.bysequence = false;
139 new jalview.appletgui.UserDefinedColours(pdbcanvas);
142 pdbcanvas.redrawneeded = true;
147 public void itemStateChanged(ItemEvent evt)
149 if (evt.getSource() == allchains)
151 pdbcanvas.setAllchainsVisible(allchains.getState());
153 else if (evt.getSource() == wire)
155 pdbcanvas.wire = !pdbcanvas.wire;
157 else if (evt.getSource() == depth)
159 pdbcanvas.depthcue = !pdbcanvas.depthcue;
161 else if (evt.getSource() == zbuffer)
163 pdbcanvas.zbuffer = !pdbcanvas.zbuffer;
165 pdbcanvas.redrawneeded = true;
169 private void jbInit() throws Exception
171 setMenuBar(jMenuBar1);
172 fileMenu.setLabel(MessageManager.getString("action.file"));
173 coloursMenu.setLabel(MessageManager.getString("label.colours"));
174 mapping.setLabel(MessageManager.getString("label.view_mapping"));
175 mapping.addActionListener(this);
176 wire.setLabel(MessageManager.getString("label.wireframe"));
177 wire.addItemListener(this);
178 depth.setState(true);
179 depth.setLabel(MessageManager.getString("label.depthcue"));
180 depth.addItemListener(this);
181 zbuffer.setState(true);
182 zbuffer.setLabel(MessageManager.getString("label.z_buffering"));
183 zbuffer.addItemListener(this);
184 charge.setLabel(MessageManager.getString("label.charge_cysteine"));
185 charge.addActionListener(this);
186 hydro.setLabel(MessageManager.getString("label.hydrophobicity"));
187 hydro.addActionListener(this);
188 chain.setLabel(MessageManager.getString("action.by_chain"));
189 chain.addActionListener(this);
190 seqButton.setLabel(MessageManager.getString("action.by_sequence"));
191 seqButton.addActionListener(this);
193 .setLabel(MessageManager.getString("label.all_chains_visible"));
194 allchains.addItemListener(this);
195 viewMenu.setLabel(MessageManager.getString("action.view"));
196 zappo.setLabel(MessageManager.getString("label.zappo"));
197 zappo.addActionListener(this);
198 taylor.setLabel(MessageManager.getString("label.taylor"));
199 taylor.addActionListener(this);
200 helix.setLabel(MessageManager.getString("label.helix_propensity"));
201 helix.addActionListener(this);
202 strand.setLabel(MessageManager.getString("label.strand_propensity"));
203 strand.addActionListener(this);
204 turn.setLabel(MessageManager.getString("label.turn_propensity"));
205 turn.addActionListener(this);
206 buried.setLabel(MessageManager.getString("label.buried_index"));
207 buried.addActionListener(this);
208 user.setLabel(MessageManager.getString("action.user_defined"));
209 user.addActionListener(this);
210 jMenuBar1.add(fileMenu);
211 jMenuBar1.add(coloursMenu);
212 jMenuBar1.add(viewMenu);
213 fileMenu.add(mapping);
216 coloursMenu.add(seqButton);
217 coloursMenu.add(chain);
218 coloursMenu.add(charge);
219 coloursMenu.add(zappo);
220 coloursMenu.add(taylor);
221 coloursMenu.add(hydro);
222 coloursMenu.add(helix);
223 coloursMenu.add(strand);
224 coloursMenu.add(turn);
225 coloursMenu.add(buried);
226 coloursMenu.add(user);
229 viewMenu.add(zbuffer);
230 viewMenu.add(allchains);
231 allchains.setState(true);
234 MenuBar jMenuBar1 = new MenuBar();
236 Menu fileMenu = new Menu();
238 Menu coloursMenu = new Menu();
240 MenuItem mapping = new MenuItem();
242 CheckboxGroup bg = new CheckboxGroup();
244 CheckboxMenuItem wire = new CheckboxMenuItem();
246 CheckboxMenuItem depth = new CheckboxMenuItem();
248 CheckboxMenuItem zbuffer = new CheckboxMenuItem();
250 MenuItem charge = new MenuItem();
252 MenuItem hydro = new MenuItem();
254 MenuItem chain = new MenuItem();
256 MenuItem seqButton = new MenuItem();
258 CheckboxMenuItem allchains = new CheckboxMenuItem();
260 Menu viewMenu = new Menu();
262 MenuItem turn = new MenuItem();
264 MenuItem strand = new MenuItem();
266 MenuItem helix = new MenuItem();
268 MenuItem taylor = new MenuItem();
270 MenuItem zappo = new MenuItem();
272 MenuItem buried = new MenuItem();
274 MenuItem user = new MenuItem();
276 // End StructureListener
277 // //////////////////////////