2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
3 * Copyright (C) 2014 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 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/>.
17 * The Jalview Authors are detailed in the 'AUTHORS' file.
22 import java.awt.event.*;
24 import jalview.appletgui.*;
25 import jalview.datamodel.*;
26 import jalview.schemes.*;
27 import jalview.util.MessageManager;
29 public class AppletPDBViewer extends EmbmenuFrame implements
30 ActionListener, ItemListener
32 AppletPDBCanvas pdbcanvas;
34 public AppletPDBViewer(PDBEntry pdbentry, SequenceI[] seq,
35 String[] chains, AlignmentPanel ap, String protocol)
40 } catch (Exception ex)
45 pdbcanvas = new AppletPDBCanvas(pdbentry, seq, chains, ap, protocol);
47 embedMenuIfNeeded(pdbcanvas);
48 add(pdbcanvas, BorderLayout.CENTER);
50 StringBuffer title = new StringBuffer(seq[0].getName() + ":"
51 + pdbcanvas.pdbentry.getFile());
53 jalview.bin.JalviewLite.addFrame(this, title.toString(), 400, 400);
57 public void actionPerformed(ActionEvent evt)
59 if (evt.getSource() == mapping)
61 jalview.appletgui.CutAndPasteTransfer cap = new jalview.appletgui.CutAndPasteTransfer(
63 Frame frame = new Frame();
65 jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.pdb_sequence_mapping"),
67 cap.setText(pdbcanvas.mappingDetails.toString());
70 else if (evt.getSource() == charge)
72 pdbcanvas.bysequence = false;
73 pdbcanvas.pdb.setChargeColours();
76 else if (evt.getSource() == chain)
78 pdbcanvas.bysequence = false;
79 pdbcanvas.pdb.setChainColours();
81 else if (evt.getSource() == seqButton)
83 pdbcanvas.bysequence = true;
84 pdbcanvas.colourBySequence();
87 else if (evt.getSource() == zappo)
89 pdbcanvas.setColours(new ZappoColourScheme());
91 else if (evt.getSource() == taylor)
93 pdbcanvas.setColours(new TaylorColourScheme());
95 else if (evt.getSource() == hydro)
97 pdbcanvas.setColours(new HydrophobicColourScheme());
99 else if (evt.getSource() == helix)
101 pdbcanvas.setColours(new HelixColourScheme());
103 else if (evt.getSource() == strand)
105 pdbcanvas.setColours(new StrandColourScheme());
107 else if (evt.getSource() == turn)
109 pdbcanvas.setColours(new TurnColourScheme());
111 else if (evt.getSource() == buried)
113 pdbcanvas.setColours(new BuriedColourScheme());
115 else if (evt.getSource() == user)
117 pdbcanvas.bysequence = false;
118 new jalview.appletgui.UserDefinedColours(pdbcanvas);
121 pdbcanvas.redrawneeded = true;
126 public void itemStateChanged(ItemEvent evt)
128 if (evt.getSource() == allchains)
130 pdbcanvas.setAllchainsVisible(allchains.getState());
132 else if (evt.getSource() == wire)
134 pdbcanvas.wire = !pdbcanvas.wire;
136 else if (evt.getSource() == depth)
138 pdbcanvas.depthcue = !pdbcanvas.depthcue;
140 else if (evt.getSource() == zbuffer)
142 pdbcanvas.zbuffer = !pdbcanvas.zbuffer;
144 pdbcanvas.redrawneeded = true;
148 private void jbInit() throws Exception
150 setMenuBar(jMenuBar1);
151 fileMenu.setLabel(MessageManager.getString("action.file"));
152 coloursMenu.setLabel(MessageManager.getString("label.colours"));
153 mapping.setLabel(MessageManager.getString("label.view_mapping"));
154 mapping.addActionListener(this);
155 wire.setLabel(MessageManager.getString("label.wireframe"));
156 wire.addItemListener(this);
157 depth.setState(true);
158 depth.setLabel(MessageManager.getString("label.depthcue"));
159 depth.addItemListener(this);
160 zbuffer.setState(true);
161 zbuffer.setLabel(MessageManager.getString("label.z_buffering"));
162 zbuffer.addItemListener(this);
163 charge.setLabel(MessageManager.getString("label.charge_cysteine"));
164 charge.addActionListener(this);
165 hydro.setLabel(MessageManager.getString("label.hydrophobicity"));
166 hydro.addActionListener(this);
167 chain.setLabel(MessageManager.getString("action.by_chain"));
168 chain.addActionListener(this);
169 seqButton.setLabel(MessageManager.getString("action.by_sequence"));
170 seqButton.addActionListener(this);
171 allchains.setLabel(MessageManager.getString("label.all_chains_visible"));
172 allchains.addItemListener(this);
173 viewMenu.setLabel(MessageManager.getString("action.view"));
174 zappo.setLabel(MessageManager.getString("label.zappo"));
175 zappo.addActionListener(this);
176 taylor.setLabel(MessageManager.getString("label.taylor"));
177 taylor.addActionListener(this);
178 helix.setLabel(MessageManager.getString("label.helix_propensity"));
179 helix.addActionListener(this);
180 strand.setLabel(MessageManager.getString("label.strand_propensity"));
181 strand.addActionListener(this);
182 turn.setLabel(MessageManager.getString("label.turn_propensity"));
183 turn.addActionListener(this);
184 buried.setLabel(MessageManager.getString("label.buried_index"));
185 buried.addActionListener(this);
186 user.setLabel(MessageManager.getString("action.user_defined"));
187 user.addActionListener(this);
188 jMenuBar1.add(fileMenu);
189 jMenuBar1.add(coloursMenu);
190 jMenuBar1.add(viewMenu);
191 fileMenu.add(mapping);
194 coloursMenu.add(seqButton);
195 coloursMenu.add(chain);
196 coloursMenu.add(charge);
197 coloursMenu.add(zappo);
198 coloursMenu.add(taylor);
199 coloursMenu.add(hydro);
200 coloursMenu.add(helix);
201 coloursMenu.add(strand);
202 coloursMenu.add(turn);
203 coloursMenu.add(buried);
204 coloursMenu.add(user);
207 viewMenu.add(zbuffer);
208 viewMenu.add(allchains);
209 allchains.setState(true);
212 MenuBar jMenuBar1 = new MenuBar();
214 Menu fileMenu = new Menu();
216 Menu coloursMenu = new Menu();
218 MenuItem mapping = new MenuItem();
220 CheckboxGroup bg = new CheckboxGroup();
222 CheckboxMenuItem wire = new CheckboxMenuItem();
224 CheckboxMenuItem depth = new CheckboxMenuItem();
226 CheckboxMenuItem zbuffer = new CheckboxMenuItem();
228 MenuItem charge = new MenuItem();
230 MenuItem hydro = new MenuItem();
232 MenuItem chain = new MenuItem();
234 MenuItem seqButton = new MenuItem();
236 CheckboxMenuItem allchains = new CheckboxMenuItem();
238 Menu viewMenu = new Menu();
240 MenuItem turn = new MenuItem();
242 MenuItem strand = new MenuItem();
244 MenuItem helix = new MenuItem();
246 MenuItem taylor = new MenuItem();
248 MenuItem zappo = new MenuItem();
250 MenuItem buried = new MenuItem();
252 MenuItem user = new MenuItem();
254 // End StructureListener
255 // //////////////////////////