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.
24 import java.awt.event.*;
26 import jalview.appletgui.*;
27 import jalview.datamodel.*;
28 import jalview.schemes.*;
29 import jalview.util.MessageManager;
31 public class AppletPDBViewer extends EmbmenuFrame implements
32 ActionListener, ItemListener
34 AppletPDBCanvas pdbcanvas;
36 public AppletPDBViewer(PDBEntry pdbentry, SequenceI[] seq,
37 String[] chains, AlignmentPanel ap, String protocol)
42 } catch (Exception ex)
47 pdbcanvas = new AppletPDBCanvas(pdbentry, seq, chains, ap, protocol);
49 embedMenuIfNeeded(pdbcanvas);
50 add(pdbcanvas, BorderLayout.CENTER);
52 StringBuffer title = new StringBuffer(seq[0].getName() + ":"
53 + pdbcanvas.pdbentry.getFile());
55 jalview.bin.JalviewLite.addFrame(this, title.toString(), 400, 400);
59 public void actionPerformed(ActionEvent evt)
61 if (evt.getSource() == mapping)
63 jalview.appletgui.CutAndPasteTransfer cap = new jalview.appletgui.CutAndPasteTransfer(
65 Frame frame = new Frame();
67 jalview.bin.JalviewLite.addFrame(frame,
68 MessageManager.getString("label.pdb_sequence_mapping"), 500,
70 cap.setText(pdbcanvas.mappingDetails.toString());
73 else if (evt.getSource() == charge)
75 pdbcanvas.bysequence = false;
76 pdbcanvas.pdb.setChargeColours();
79 else if (evt.getSource() == chain)
81 pdbcanvas.bysequence = false;
82 pdbcanvas.pdb.setChainColours();
84 else if (evt.getSource() == seqButton)
86 pdbcanvas.bysequence = true;
87 pdbcanvas.colourBySequence();
90 else if (evt.getSource() == zappo)
92 pdbcanvas.setColours(new ZappoColourScheme());
94 else if (evt.getSource() == taylor)
96 pdbcanvas.setColours(new TaylorColourScheme());
98 else if (evt.getSource() == hydro)
100 pdbcanvas.setColours(new HydrophobicColourScheme());
102 else if (evt.getSource() == helix)
104 pdbcanvas.setColours(new HelixColourScheme());
106 else if (evt.getSource() == strand)
108 pdbcanvas.setColours(new StrandColourScheme());
110 else if (evt.getSource() == turn)
112 pdbcanvas.setColours(new TurnColourScheme());
114 else if (evt.getSource() == buried)
116 pdbcanvas.setColours(new BuriedColourScheme());
118 else if (evt.getSource() == user)
120 pdbcanvas.bysequence = false;
121 new jalview.appletgui.UserDefinedColours(pdbcanvas);
124 pdbcanvas.redrawneeded = true;
129 public void itemStateChanged(ItemEvent evt)
131 if (evt.getSource() == allchains)
133 pdbcanvas.setAllchainsVisible(allchains.getState());
135 else if (evt.getSource() == wire)
137 pdbcanvas.wire = !pdbcanvas.wire;
139 else if (evt.getSource() == depth)
141 pdbcanvas.depthcue = !pdbcanvas.depthcue;
143 else if (evt.getSource() == zbuffer)
145 pdbcanvas.zbuffer = !pdbcanvas.zbuffer;
147 pdbcanvas.redrawneeded = true;
151 private void jbInit() throws Exception
153 setMenuBar(jMenuBar1);
154 fileMenu.setLabel(MessageManager.getString("action.file"));
155 coloursMenu.setLabel(MessageManager.getString("label.colours"));
156 mapping.setLabel(MessageManager.getString("label.view_mapping"));
157 mapping.addActionListener(this);
158 wire.setLabel(MessageManager.getString("label.wireframe"));
159 wire.addItemListener(this);
160 depth.setState(true);
161 depth.setLabel(MessageManager.getString("label.depthcue"));
162 depth.addItemListener(this);
163 zbuffer.setState(true);
164 zbuffer.setLabel(MessageManager.getString("label.z_buffering"));
165 zbuffer.addItemListener(this);
166 charge.setLabel(MessageManager.getString("label.charge_cysteine"));
167 charge.addActionListener(this);
168 hydro.setLabel(MessageManager.getString("label.hydrophobicity"));
169 hydro.addActionListener(this);
170 chain.setLabel(MessageManager.getString("action.by_chain"));
171 chain.addActionListener(this);
172 seqButton.setLabel(MessageManager.getString("action.by_sequence"));
173 seqButton.addActionListener(this);
175 .setLabel(MessageManager.getString("label.all_chains_visible"));
176 allchains.addItemListener(this);
177 viewMenu.setLabel(MessageManager.getString("action.view"));
178 zappo.setLabel(MessageManager.getString("label.zappo"));
179 zappo.addActionListener(this);
180 taylor.setLabel(MessageManager.getString("label.taylor"));
181 taylor.addActionListener(this);
182 helix.setLabel(MessageManager.getString("label.helix_propensity"));
183 helix.addActionListener(this);
184 strand.setLabel(MessageManager.getString("label.strand_propensity"));
185 strand.addActionListener(this);
186 turn.setLabel(MessageManager.getString("label.turn_propensity"));
187 turn.addActionListener(this);
188 buried.setLabel(MessageManager.getString("label.buried_index"));
189 buried.addActionListener(this);
190 user.setLabel(MessageManager.getString("action.user_defined"));
191 user.addActionListener(this);
192 jMenuBar1.add(fileMenu);
193 jMenuBar1.add(coloursMenu);
194 jMenuBar1.add(viewMenu);
195 fileMenu.add(mapping);
198 coloursMenu.add(seqButton);
199 coloursMenu.add(chain);
200 coloursMenu.add(charge);
201 coloursMenu.add(zappo);
202 coloursMenu.add(taylor);
203 coloursMenu.add(hydro);
204 coloursMenu.add(helix);
205 coloursMenu.add(strand);
206 coloursMenu.add(turn);
207 coloursMenu.add(buried);
208 coloursMenu.add(user);
211 viewMenu.add(zbuffer);
212 viewMenu.add(allchains);
213 allchains.setState(true);
216 MenuBar jMenuBar1 = new MenuBar();
218 Menu fileMenu = new Menu();
220 Menu coloursMenu = new Menu();
222 MenuItem mapping = new MenuItem();
224 CheckboxGroup bg = new CheckboxGroup();
226 CheckboxMenuItem wire = new CheckboxMenuItem();
228 CheckboxMenuItem depth = new CheckboxMenuItem();
230 CheckboxMenuItem zbuffer = new CheckboxMenuItem();
232 MenuItem charge = new MenuItem();
234 MenuItem hydro = new MenuItem();
236 MenuItem chain = new MenuItem();
238 MenuItem seqButton = new MenuItem();
240 CheckboxMenuItem allchains = new CheckboxMenuItem();
242 Menu viewMenu = new Menu();
244 MenuItem turn = new MenuItem();
246 MenuItem strand = new MenuItem();
248 MenuItem helix = new MenuItem();
250 MenuItem taylor = new MenuItem();
252 MenuItem zappo = new MenuItem();
254 MenuItem buried = new MenuItem();
256 MenuItem user = new MenuItem();
258 // End StructureListener
259 // //////////////////////////