Remove system.out AppletPDBViewer.java
[jalview.git] / src / MCview / AppletPDBViewer.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer\r
3  * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  *\r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  *\r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  *\r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 package MCview;\r
20 \r
21 import java.awt.*;\r
22 import java.awt.event.*;\r
23 \r
24 import jalview.appletgui.*;\r
25 import jalview.datamodel.*;\r
26 import jalview.schemes.*;\r
27 \r
28 \r
29 public class AppletPDBViewer\r
30     extends Frame implements ActionListener, ItemListener\r
31 {\r
32   AppletPDBCanvas pdbcanvas;\r
33 \r
34   public AppletPDBViewer(PDBEntry pdbentry,\r
35                          SequenceI[] seq,\r
36                          AlignmentPanel ap,\r
37                          String protocol)\r
38   {\r
39     try\r
40     {\r
41       jbInit();\r
42     }\r
43     catch (Exception ex)\r
44     {\r
45       ex.printStackTrace();\r
46     }\r
47 \r
48     pdbcanvas = new AppletPDBCanvas(pdbentry, seq, ap, protocol);\r
49 \r
50 \r
51     add(pdbcanvas, BorderLayout.CENTER);\r
52 \r
53     StringBuffer title = new StringBuffer(seq[0].getName()\r
54                                           + ":"\r
55                                           + pdbcanvas.pdbentry.getFile());\r
56 \r
57     jalview.bin.JalviewLite.addFrame(this, title.toString(), 400, 400);\r
58 \r
59   }\r
60 \r
61 \r
62 \r
63   public void actionPerformed(ActionEvent evt)\r
64   {\r
65     if (evt.getSource() == mapping)\r
66     {\r
67       jalview.appletgui.CutAndPasteTransfer cap\r
68           = new jalview.appletgui.CutAndPasteTransfer(false, null);\r
69       Frame frame = new Frame();\r
70       frame.add(cap);\r
71       jalview.bin.JalviewLite.addFrame(frame, "PDB - Sequence Mapping", 500,\r
72                                        600);\r
73       cap.setText(pdbcanvas.mappingDetails.toString());\r
74 \r
75     }\r
76     else if (evt.getSource() == charge)\r
77     {\r
78       pdbcanvas.bysequence = false;\r
79       pdbcanvas.pdb.setChargeColours();\r
80     }\r
81 \r
82     else if (evt.getSource() == chain)\r
83     {\r
84       pdbcanvas.bysequence = false;\r
85       pdbcanvas.pdb.setChainColours();\r
86     }\r
87     else if (evt.getSource() == seqButton)\r
88     {\r
89       pdbcanvas.bysequence = true;\r
90       pdbcanvas.colourBySequence(pdbcanvas.ap.getSequenceRenderer(),\r
91                                  pdbcanvas.ap.av.getShowSequenceFeatures() ?\r
92                                  pdbcanvas.ap.getFeatureRenderer() : null);\r
93 \r
94     }\r
95     else if (evt.getSource() == zappo)\r
96     {\r
97       pdbcanvas.setColours(new ZappoColourScheme());\r
98     }\r
99     else if (evt.getSource() == taylor)\r
100     {\r
101       pdbcanvas.setColours(new TaylorColourScheme());\r
102     }\r
103     else if (evt.getSource() == hydro)\r
104     {\r
105       pdbcanvas.setColours(new HydrophobicColourScheme());\r
106     }\r
107     else if (evt.getSource() == helix)\r
108     {\r
109       pdbcanvas.setColours(new HelixColourScheme());\r
110     }\r
111     else if (evt.getSource() == strand)\r
112     {\r
113       pdbcanvas.setColours(new StrandColourScheme());\r
114     }\r
115     else if (evt.getSource() == turn)\r
116     {\r
117       pdbcanvas.setColours(new TurnColourScheme());\r
118     }\r
119     else if (evt.getSource() == buried)\r
120     {\r
121       pdbcanvas.setColours(new BuriedColourScheme());\r
122     }\r
123     else if (evt.getSource() == user)\r
124     {\r
125       pdbcanvas.bysequence = false;\r
126       new jalview.appletgui.UserDefinedColours(pdbcanvas);\r
127     }\r
128 \r
129     pdbcanvas.redrawneeded = true;\r
130     pdbcanvas.repaint();\r
131 \r
132   }\r
133 \r
134   public void itemStateChanged(ItemEvent evt)\r
135   {\r
136     if (evt.getSource() == allchains)\r
137     {\r
138       pdbcanvas.setAllchainsVisible(allchains.getState());\r
139     }\r
140     else if (evt.getSource() == wire)\r
141     {\r
142           pdbcanvas.wire = !pdbcanvas.wire;\r
143     }\r
144     else if (evt.getSource() == depth)\r
145     {\r
146       pdbcanvas.depthcue = !pdbcanvas.depthcue;\r
147     }\r
148     else if (evt.getSource() == zbuffer)\r
149     {\r
150       pdbcanvas.zbuffer = !pdbcanvas.zbuffer;\r
151     }\r
152     pdbcanvas.redrawneeded = true;\r
153     pdbcanvas.repaint();\r
154   }\r
155 \r
156   private void jbInit()\r
157       throws Exception\r
158   {\r
159     setMenuBar(jMenuBar1);\r
160     fileMenu.setLabel("File");\r
161     coloursMenu.setLabel("Colours");\r
162     mapping.setLabel("View Mapping");\r
163     mapping.addActionListener(this);\r
164     wire.setLabel("Wireframe");\r
165     wire.addItemListener(this);\r
166     depth.setState(true);\r
167     depth.setLabel("Depthcue");\r
168     depth.addItemListener(this);\r
169     zbuffer.setState(true);\r
170     zbuffer.setLabel("Z Buffering");\r
171     zbuffer.addItemListener(this);\r
172     charge.setLabel("Charge & Cysteine");\r
173     charge.addActionListener(this);\r
174     hydro.setLabel("Hydrophobicity");\r
175     hydro.addActionListener(this);\r
176     chain.setLabel("By Chain");\r
177     chain.addActionListener(this);\r
178     seqButton.setLabel("By Sequence");\r
179     seqButton.addActionListener(this);\r
180     allchains.setLabel("All Chains Visible");\r
181     allchains.addItemListener(this);\r
182     viewMenu.setLabel("View");\r
183     zappo.setLabel("Zappo");\r
184     zappo.addActionListener(this);\r
185     taylor.setLabel("Taylor");\r
186     taylor.addActionListener(this);\r
187     helix.setLabel("Helix Propensity");\r
188     helix.addActionListener(this);\r
189     strand.setLabel("Strand Propensity");\r
190     strand.addActionListener(this);\r
191     turn.setLabel("Turn Propensity");\r
192     turn.addActionListener(this);\r
193     buried.setLabel("Buried Index");\r
194     buried.addActionListener(this);\r
195     user.setLabel("User Defined...");\r
196     user.addActionListener(this);\r
197     jMenuBar1.add(fileMenu);\r
198     jMenuBar1.add(coloursMenu);\r
199     jMenuBar1.add(viewMenu);\r
200     fileMenu.add(mapping); ;\r
201 \r
202     coloursMenu.add(seqButton);\r
203     coloursMenu.add(chain);\r
204     coloursMenu.add(charge);\r
205     coloursMenu.add(zappo);\r
206     coloursMenu.add(taylor);\r
207     coloursMenu.add(hydro);\r
208     coloursMenu.add(helix);\r
209     coloursMenu.add(strand);\r
210     coloursMenu.add(turn);\r
211     coloursMenu.add(buried);\r
212     coloursMenu.add(user);\r
213     viewMenu.add(wire);\r
214     viewMenu.add(depth);\r
215     viewMenu.add(zbuffer);\r
216     viewMenu.add(allchains);\r
217     allchains.setState(true);\r
218   }\r
219 \r
220   MenuBar jMenuBar1 = new MenuBar();\r
221   Menu fileMenu = new Menu();\r
222   Menu coloursMenu = new Menu();\r
223   MenuItem mapping = new MenuItem();\r
224   CheckboxGroup bg = new CheckboxGroup();\r
225   CheckboxMenuItem wire = new CheckboxMenuItem();\r
226   CheckboxMenuItem depth = new CheckboxMenuItem();\r
227   CheckboxMenuItem zbuffer = new CheckboxMenuItem();\r
228 \r
229   MenuItem charge = new MenuItem();\r
230   MenuItem hydro = new MenuItem();\r
231   MenuItem chain = new MenuItem();\r
232   MenuItem seqButton = new MenuItem();\r
233 \r
234   CheckboxMenuItem allchains = new CheckboxMenuItem();\r
235   Menu viewMenu = new Menu();\r
236   MenuItem turn = new MenuItem();\r
237   MenuItem strand = new MenuItem();\r
238   MenuItem helix = new MenuItem();\r
239   MenuItem taylor = new MenuItem();\r
240   MenuItem zappo = new MenuItem();\r
241   MenuItem buried = new MenuItem();\r
242   MenuItem user = new MenuItem();\r
243 \r
244 \r
245 //End StructureListener\r
246 ////////////////////////////\r
247 \r
248 \r
249 }\r