JAL-4366 compute coverage on each side of the pairwise alignment
[jalview.git] / src / jalview / jbgui / GCutAndPasteTransfer.java
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.Font;
25 import java.awt.event.ActionEvent;
26 import java.awt.event.ActionListener;
27 import java.awt.event.MouseEvent;
28
29 import javax.swing.JButton;
30 import javax.swing.JInternalFrame;
31 import javax.swing.JMenu;
32 import javax.swing.JMenuBar;
33 import javax.swing.JMenuItem;
34 import javax.swing.JPanel;
35 import javax.swing.JScrollPane;
36 import javax.swing.JTextArea;
37
38 import jalview.gui.JvSwingUtils;
39 import jalview.util.MessageManager;
40
41 /**
42  * DOCUMENT ME!
43  * 
44  * @author $author$
45  * @version $Revision$
46  */
47 public class GCutAndPasteTransfer extends JInternalFrame
48 {
49   protected JTextArea textarea = new JTextArea();
50
51   protected JScrollPane scrollPane = new JScrollPane();
52
53   BorderLayout borderLayout1 = new BorderLayout();
54
55   JMenuBar editMenubar = new JMenuBar();
56
57   JMenu editMenu = new JMenu();
58
59   JMenuItem copyItem = new JMenuItem();
60
61   JMenuItem pasteMenu = new JMenuItem();
62
63   JMenuItem fontSizeMenu = new JMenuItem();
64
65   BorderLayout borderLayout2 = new BorderLayout();
66
67   protected JPanel inputButtonPanel = new JPanel();
68
69   protected JButton ok = new JButton();
70
71   JButton cancel = new JButton();
72
73   JMenuItem selectAll = new JMenuItem();
74
75   JMenu jMenu1 = new JMenu();
76
77   JMenuItem save = new JMenuItem();
78
79   /**
80    * Creates a new GCutAndPasteTransfer object.
81    */
82   public GCutAndPasteTransfer()
83   {
84     try
85     {
86       setJMenuBar(editMenubar);
87       jbInit();
88     } catch (Exception e)
89     {
90       e.printStackTrace();
91     }
92   }
93
94   /**
95    * DOCUMENT ME!
96    * 
97    * @throws Exception
98    *           DOCUMENT ME!
99    */
100   private void jbInit() throws Exception
101   {
102     setFrameIcon(null);
103     scrollPane.setBorder(null);
104     ok.setFont(JvSwingUtils.getLabelFont());
105     ok.setText(MessageManager.getString("label.new_window"));
106     ok.addActionListener(new ActionListener()
107     {
108       @Override
109       public void actionPerformed(ActionEvent e)
110       {
111         ok_actionPerformed(e);
112       }
113     });
114     cancel.setText(MessageManager.getString("action.close"));
115     cancel.addActionListener(new ActionListener()
116     {
117       @Override
118       public void actionPerformed(ActionEvent e)
119       {
120         cancel_actionPerformed(e);
121       }
122     });
123     textarea.setBorder(null);
124
125     selectAll.setText(MessageManager.getString("action.select_all"));
126     selectAll
127             .setAccelerator(
128                     javax.swing.KeyStroke
129                             .getKeyStroke(java.awt.event.KeyEvent.VK_A,
130                                     jalview.util.ShortcutKeyMaskExWrapper
131                                             .getMenuShortcutKeyMaskEx(),
132                                     false));
133     selectAll.addActionListener(new ActionListener()
134     {
135       @Override
136       public void actionPerformed(ActionEvent e)
137       {
138         selectAll_actionPerformed(e);
139       }
140     });
141     jMenu1.setText(MessageManager.getString("action.file"));
142     save.setText(MessageManager.getString("action.save"));
143     save.setAccelerator(
144             javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S,
145                     jalview.util.ShortcutKeyMaskExWrapper
146                             .getMenuShortcutKeyMaskEx(),
147                     false));
148     save.addActionListener(new ActionListener()
149     {
150       @Override
151       public void actionPerformed(ActionEvent e)
152       {
153         save_actionPerformed(e);
154       }
155     });
156     copyItem.setAccelerator(
157             javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C,
158                     jalview.util.ShortcutKeyMaskExWrapper
159                             .getMenuShortcutKeyMaskEx(),
160                     false));
161     pasteMenu
162             .setAccelerator(
163                     javax.swing.KeyStroke
164                             .getKeyStroke(java.awt.event.KeyEvent.VK_V,
165                                     jalview.util.ShortcutKeyMaskExWrapper
166                                             .getMenuShortcutKeyMaskEx(),
167                                     false));
168     editMenubar.add(jMenu1);
169     editMenubar.add(editMenu);
170     textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 12));
171     textarea.addMouseListener(new java.awt.event.MouseAdapter()
172     {
173       @Override
174       public void mousePressed(MouseEvent e)
175       {
176         textarea_mousePressed(e); // on Mac
177       }
178
179       @Override
180       public void mouseReleased(MouseEvent e)
181       {
182         textarea_mousePressed(e); // on Windows
183       }
184     });
185     editMenu.setText(MessageManager.getString("action.edit"));
186     pasteMenu.setText(MessageManager.getString("action.paste"));
187     pasteMenu.addActionListener(new ActionListener()
188     {
189       @Override
190       public void actionPerformed(ActionEvent e)
191       {
192         pasteMenu_actionPerformed(e);
193       }
194     });
195     fontSizeMenu.setText(MessageManager.getString("action.change_font"));
196     fontSizeMenu.addActionListener(new ActionListener()
197     {
198       @Override
199       public void actionPerformed(ActionEvent e)
200       {
201         fontSizeMenu_actionPerformed(e);
202       }
203     });
204     copyItem.setText(MessageManager.getString("action.copy"));
205     copyItem.addActionListener(new ActionListener()
206     {
207       @Override
208       public void actionPerformed(ActionEvent e)
209       {
210         copyItem_actionPerformed(e);
211       }
212     });
213     this.getContentPane().setLayout(borderLayout2);
214     scrollPane.setBorder(null);
215     scrollPane.getViewport().add(textarea, null);
216     editMenu.add(selectAll);
217     editMenu.add(copyItem);
218     editMenu.add(pasteMenu);
219     editMenu.add(fontSizeMenu);
220     this.getContentPane().add(scrollPane, java.awt.BorderLayout.CENTER);
221     inputButtonPanel.add(ok);
222     inputButtonPanel.add(cancel);
223     jMenu1.add(save);
224   }
225
226   /**
227    * DOCUMENT ME!
228    * 
229    * @param e
230    *          DOCUMENT ME!
231    */
232   public void textarea_mousePressed(MouseEvent e)
233   {
234
235   }
236
237   /**
238    * DOCUMENT ME!
239    * 
240    * @param e
241    *          DOCUMENT ME!
242    */
243   public void copyItem_actionPerformed(ActionEvent e)
244   {
245   }
246
247   /**
248    * DOCUMENT ME!
249    * 
250    * @param e
251    *          DOCUMENT ME!
252    */
253   public void pasteMenu_actionPerformed(ActionEvent e)
254   {
255   }
256
257   /**
258    * shows a menu for changing the font
259    * @param e
260    */
261   public void fontSizeMenu_actionPerformed(ActionEvent e)
262   {
263   }
264
265   /**
266    * DOCUMENT ME!
267    * 
268    * @param e
269    *          DOCUMENT ME!
270    */
271   public void ok_actionPerformed(ActionEvent e)
272   {
273   }
274
275   /**
276    * DOCUMENT ME!
277    * 
278    * @param e
279    *          DOCUMENT ME!
280    */
281   public void cancel_actionPerformed(ActionEvent e)
282   {
283   }
284
285   public void selectAll_actionPerformed(ActionEvent e)
286   {
287     textarea.selectAll();
288   }
289
290   public void save_actionPerformed(ActionEvent e)
291   {
292
293   }
294 }