Class |
Line # |
Actions |
|||
---|---|---|---|---|---|
GStructureViewer | 42 | 71 | 21 |
1 | /* | |
2 | * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) | |
3 | * Copyright (C) $$Year-Rel$$ The Jalview Authors | |
4 | * | |
5 | * This file is part of Jalview. | |
6 | * | |
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. | |
11 | * | |
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. | |
16 | * | |
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. | |
20 | */ | |
21 | package jalview.jbgui; | |
22 | ||
23 | import java.awt.BorderLayout; | |
24 | import java.awt.GridLayout; | |
25 | import java.awt.event.ActionEvent; | |
26 | import java.awt.event.ActionListener; | |
27 | ||
28 | import javax.swing.JInternalFrame; | |
29 | import javax.swing.JLabel; | |
30 | import javax.swing.JMenu; | |
31 | import javax.swing.JMenuBar; | |
32 | import javax.swing.JMenuItem; | |
33 | import javax.swing.JPanel; | |
34 | import javax.swing.JRadioButtonMenuItem; | |
35 | ||
36 | import jalview.api.structures.JalviewStructureDisplayI; | |
37 | import jalview.gui.ColourMenuHelper.ColourChangeListener; | |
38 | import jalview.util.ImageMaker.TYPE; | |
39 | import jalview.util.MessageManager; | |
40 | ||
41 | @SuppressWarnings("serial") | |
42 | public abstract class GStructureViewer extends JInternalFrame | |
43 | implements JalviewStructureDisplayI, ColourChangeListener | |
44 | { | |
45 | // private AAStructureBindingModel bindingModel; | |
46 | ||
47 | protected JMenu savemenu; | |
48 | ||
49 | protected JMenu viewMenu; | |
50 | ||
51 | protected JMenu colourMenu; | |
52 | ||
53 | protected JMenu chainMenu; | |
54 | ||
55 | protected JMenu hetatmMenu; | |
56 | ||
57 | protected JMenu viewerActionMenu; | |
58 | ||
59 | protected JMenuItem alignStructs; | |
60 | ||
61 | protected JMenuItem fitToWindow; | |
62 | ||
63 | protected JRadioButtonMenuItem seqColour; | |
64 | ||
65 | protected JRadioButtonMenuItem chainColour; | |
66 | ||
67 | protected JRadioButtonMenuItem chargeColour; | |
68 | ||
69 | protected JRadioButtonMenuItem viewerColour; | |
70 | ||
71 | protected JMenuItem helpItem; | |
72 | ||
73 | protected JLabel statusBar; | |
74 | ||
75 | protected JPanel statusPanel; | |
76 | ||
77 | /** | |
78 | * Constructor | |
79 | */ | |
80 | 45 | public GStructureViewer() |
81 | { | |
82 | 45 | try |
83 | { | |
84 | 45 | jbInit(); |
85 | } catch (Exception ex) | |
86 | { | |
87 | 0 | ex.printStackTrace(); |
88 | } | |
89 | } | |
90 | ||
91 | 45 | private void jbInit() throws Exception |
92 | { | |
93 | 45 | setFrameIcon(null); |
94 | 45 | setName("jalview-structureviewer"); |
95 | ||
96 | 45 | JMenuBar menuBar = new JMenuBar(); |
97 | 45 | this.setJMenuBar(menuBar); |
98 | ||
99 | 45 | JMenu fileMenu = new JMenu(); |
100 | 45 | fileMenu.setText(MessageManager.getString("action.file")); |
101 | ||
102 | 45 | savemenu = new JMenu(); |
103 | 45 | savemenu.setActionCommand( |
104 | MessageManager.getString("action.save_image")); | |
105 | 45 | savemenu.setText(MessageManager.getString("action.save_as")); |
106 | ||
107 | 45 | JMenuItem pdbFile = new JMenuItem(); |
108 | 45 | pdbFile.setText(MessageManager.getString("label.pdb_file")); |
109 | 45 | pdbFile.addActionListener(new ActionListener() |
110 | { | |
111 | 0 | @Override |
112 | public void actionPerformed(ActionEvent actionEvent) | |
113 | { | |
114 | 0 | pdbFile_actionPerformed(); |
115 | } | |
116 | }); | |
117 | ||
118 | 45 | JMenuItem png = new JMenuItem(); |
119 | 45 | png.setText("PNG"); |
120 | 45 | png.addActionListener(new ActionListener() |
121 | { | |
122 | 0 | @Override |
123 | public void actionPerformed(ActionEvent actionEvent) | |
124 | { | |
125 | 0 | makePDBImage(TYPE.PNG); |
126 | } | |
127 | }); | |
128 | ||
129 | 45 | JMenuItem eps = new JMenuItem(); |
130 | 45 | eps.setText("EPS"); |
131 | 45 | eps.addActionListener(new ActionListener() |
132 | { | |
133 | 0 | @Override |
134 | public void actionPerformed(ActionEvent actionEvent) | |
135 | { | |
136 | 0 | makePDBImage(TYPE.EPS); |
137 | } | |
138 | }); | |
139 | ||
140 | 45 | JMenuItem viewMapping = new JMenuItem(); |
141 | 45 | viewMapping.setText(MessageManager.getString("label.view_mapping")); |
142 | 45 | viewMapping.addActionListener(new ActionListener() |
143 | { | |
144 | 0 | @Override |
145 | public void actionPerformed(ActionEvent actionEvent) | |
146 | { | |
147 | 0 | viewMapping_actionPerformed(); |
148 | } | |
149 | }); | |
150 | ||
151 | 45 | viewMenu = new JMenu(); |
152 | 45 | viewMenu.setText(MessageManager.getString("action.view")); |
153 | ||
154 | 45 | chainMenu = new JMenu(); |
155 | 45 | chainMenu.setText(MessageManager.getString("action.show_chain")); |
156 | ||
157 | 45 | hetatmMenu = new JMenu(); |
158 | 45 | hetatmMenu.setText(MessageManager.getString("action.show_hetatm")); |
159 | ||
160 | 45 | fitToWindow = new JMenuItem(); |
161 | 45 | fitToWindow.setText(MessageManager.getString("label.fit_to_window")); |
162 | 45 | fitToWindow.addActionListener(new ActionListener() |
163 | { | |
164 | 0 | @Override |
165 | public void actionPerformed(ActionEvent actionEvent) | |
166 | { | |
167 | 0 | fitToWindow_actionPerformed(); |
168 | } | |
169 | }); | |
170 | ||
171 | 45 | JMenu helpMenu = new JMenu(); |
172 | 45 | helpMenu.setText(MessageManager.getString("action.help")); |
173 | 45 | helpItem = new JMenuItem(); |
174 | 45 | helpItem.addActionListener(new ActionListener() |
175 | { | |
176 | 0 | @Override |
177 | public void actionPerformed(ActionEvent actionEvent) | |
178 | { | |
179 | 0 | showHelp_actionPerformed(); |
180 | } | |
181 | }); | |
182 | 45 | alignStructs = new JMenuItem(); |
183 | 45 | alignStructs.setText( |
184 | MessageManager.getString("label.superpose_structures")); | |
185 | 45 | alignStructs.addActionListener(new ActionListener() |
186 | { | |
187 | 0 | @Override |
188 | public void actionPerformed(ActionEvent actionEvent) | |
189 | { | |
190 | 0 | alignStructsWithAllAlignPanels(); |
191 | } | |
192 | }); | |
193 | ||
194 | 45 | viewerActionMenu = new JMenu(); // text set in sub-classes |
195 | 45 | viewerActionMenu.setVisible(false); |
196 | 45 | viewerActionMenu.add(alignStructs); |
197 | 45 | colourMenu = new JMenu(); |
198 | 45 | colourMenu.setText(MessageManager.getString("label.colours")); |
199 | 45 | fileMenu.add(savemenu); |
200 | 45 | fileMenu.add(viewMapping); |
201 | 45 | savemenu.add(pdbFile); |
202 | 45 | savemenu.add(png); |
203 | 45 | savemenu.add(eps); |
204 | 45 | viewMenu.add(chainMenu); |
205 | 45 | viewMenu.add(hetatmMenu); |
206 | 45 | helpMenu.add(helpItem); |
207 | ||
208 | 45 | menuBar.add(fileMenu); |
209 | 45 | menuBar.add(viewMenu); |
210 | 45 | menuBar.add(colourMenu); |
211 | 45 | menuBar.add(viewerActionMenu); |
212 | 45 | menuBar.add(helpMenu); |
213 | ||
214 | 45 | statusPanel = new JPanel(); |
215 | 45 | statusPanel.setLayout(new GridLayout()); |
216 | 45 | this.getContentPane().add(statusPanel, BorderLayout.SOUTH); |
217 | 45 | statusBar = new JLabel(); |
218 | 45 | statusPanel.add(statusBar, null); |
219 | } | |
220 | ||
221 | 0 | protected void fitToWindow_actionPerformed() |
222 | { | |
223 | 0 | getBinding().focusView(); |
224 | } | |
225 | ||
226 | 0 | protected void highlightSelection_actionPerformed() |
227 | { | |
228 | } | |
229 | ||
230 | 0 | protected void viewerColour_actionPerformed() |
231 | { | |
232 | } | |
233 | ||
234 | protected abstract String alignStructsWithAllAlignPanels(); | |
235 | ||
236 | 0 | public void pdbFile_actionPerformed() |
237 | { | |
238 | ||
239 | } | |
240 | ||
241 | 0 | public void makePDBImage(TYPE imageType) |
242 | { | |
243 | ||
244 | } | |
245 | ||
246 | 0 | public void viewMapping_actionPerformed() |
247 | { | |
248 | ||
249 | } | |
250 | ||
251 | 0 | public void seqColour_actionPerformed() |
252 | { | |
253 | ||
254 | } | |
255 | ||
256 | 0 | public void chainColour_actionPerformed() |
257 | { | |
258 | ||
259 | } | |
260 | ||
261 | 0 | public void chargeColour_actionPerformed() |
262 | { | |
263 | ||
264 | } | |
265 | ||
266 | 0 | public void background_actionPerformed() |
267 | { | |
268 | ||
269 | } | |
270 | ||
271 | 0 | public void showHelp_actionPerformed() |
272 | { | |
273 | ||
274 | } | |
275 | } |