JAL-1157 new window for displaying HTML formatted text with menus for saving to a...
[jalview.git] / src / jalview / jbgui / GCutAndPasteHtmlTransfer.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
3  * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
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 of the License, or (at your option) any later version.
10  * 
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.
15  * 
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  */
18 package jalview.jbgui;
19
20 import jalview.gui.JvSwingUtils;
21
22 import java.awt.*;
23 import java.awt.event.*;
24
25 import javax.swing.*;
26
27 /**
28  * DOCUMENT ME!
29  * 
30  * @author $author$
31  * @version $Revision$
32  */
33 public class GCutAndPasteHtmlTransfer extends JInternalFrame
34 {
35   protected JEditorPane textarea = new JEditorPane("text/html","");
36
37   protected JScrollPane scrollPane = new JScrollPane();
38
39   BorderLayout borderLayout1 = new BorderLayout();
40
41   JMenuBar editMenubar = new JMenuBar();
42
43   JMenu editMenu = new JMenu();
44
45   JMenuItem copyItem = new JMenuItem();
46   protected JCheckBoxMenuItem displaySource=new JCheckBoxMenuItem();
47
48   BorderLayout borderLayout2 = new BorderLayout();
49
50   protected JPanel inputButtonPanel = new JPanel();
51
52   protected JButton ok = new JButton();
53
54   JButton cancel = new JButton();
55
56   JMenuItem close = new JMenuItem();
57
58   JMenuItem selectAll = new JMenuItem();
59
60   JMenu jMenu1 = new JMenu();
61
62   JMenuItem save = new JMenuItem();
63
64   /**
65    * Creates a new GCutAndPasteTransfer object.
66    */
67   public GCutAndPasteHtmlTransfer()
68   {
69     try
70     {
71       setJMenuBar(editMenubar);
72       jbInit();
73     } catch (Exception e)
74     {
75       e.printStackTrace();
76     }
77   }
78
79   /**
80    * DOCUMENT ME!
81    * 
82    * @throws Exception
83    *           DOCUMENT ME!
84    */
85   private void jbInit() throws Exception
86   {
87     scrollPane.setBorder(null);
88     ok.setFont(JvSwingUtils.getLabelFont());
89     ok.setText("New Window");
90     ok.addActionListener(new ActionListener()
91     {
92       public void actionPerformed(ActionEvent e)
93       {
94         ok_actionPerformed(e);
95       }
96     });
97     cancel.setText("Close");
98     cancel.addActionListener(new ActionListener()
99     {
100       public void actionPerformed(ActionEvent e)
101       {
102         cancel_actionPerformed(e);
103       }
104     });
105     textarea.setBorder(null);
106     close.setText("Close");
107     close.addActionListener(new ActionListener() {
108       public void actionPerformed(ActionEvent e)
109       {
110         cancel_actionPerformed(e);
111       }
112     });
113     close.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
114             java.awt.event.KeyEvent.VK_W, Toolkit.getDefaultToolkit()
115             .getMenuShortcutKeyMask(), false));
116     selectAll.setText("Select All");
117     selectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
118             java.awt.event.KeyEvent.VK_A, Toolkit.getDefaultToolkit()
119                     .getMenuShortcutKeyMask(), false));
120     selectAll.addActionListener(new ActionListener()
121     {
122       public void actionPerformed(ActionEvent e)
123       {
124         selectAll_actionPerformed(e);
125       }
126     });
127     jMenu1.setText("File");
128     save.setText("Save");
129     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
130             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
131                     .getMenuShortcutKeyMask(), false));
132     save.addActionListener(new ActionListener()
133     {
134       public void actionPerformed(ActionEvent e)
135       {
136         save_actionPerformed(e);
137       }
138     });
139     copyItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
140             java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit()
141                     .getMenuShortcutKeyMask(), false));
142     
143     editMenubar.add(jMenu1);
144     editMenubar.add(editMenu);
145     textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 12));
146     textarea.addMouseListener(new java.awt.event.MouseAdapter()
147     {
148       public void mousePressed(MouseEvent e)
149       {
150         textarea_mousePressed(e);
151       }
152     });
153     editMenu.setText("Edit");
154     copyItem.setText("Copy");
155     copyItem.addActionListener(new ActionListener()
156     {
157       public void actionPerformed(ActionEvent e)
158       {
159         copyItem_actionPerformed(e);
160       }
161     });
162     displaySource.setText("Show HTML Source");
163     displaySource.setToolTipText("Select this if you want to copy raw html");
164     displaySource.addActionListener(new ActionListener()
165     {
166       
167       @Override
168       public void actionPerformed(ActionEvent arg0)
169       {
170         toggleHtml_actionPerformed(arg0);
171       }
172     });
173     editMenu.add(displaySource);
174     this.getContentPane().setLayout(borderLayout2);
175     scrollPane.setBorder(null);
176     scrollPane.getViewport().add(textarea, null);
177     editMenu.add(selectAll);
178     editMenu.add(copyItem);
179     this.getContentPane().add(scrollPane, java.awt.BorderLayout.CENTER);
180     inputButtonPanel.add(ok);
181     inputButtonPanel.add(cancel);
182     jMenu1.add(save);
183     jMenu1.add(close);
184   }
185
186   protected void toggleHtml_actionPerformed(ActionEvent arg0)
187   {
188     // TODO Auto-generated method stub
189     
190   }
191
192   /**
193    * DOCUMENT ME!
194    * 
195    * @param e
196    *          DOCUMENT ME!
197    */
198   public void textarea_mousePressed(MouseEvent e)
199   {
200
201   }
202
203   /**
204    * DOCUMENT ME!
205    * 
206    * @param e
207    *          DOCUMENT ME!
208    */
209   public void copyItem_actionPerformed(ActionEvent e)
210   {
211   }
212
213
214   /**
215    * DOCUMENT ME!
216    * 
217    * @param e
218    *          DOCUMENT ME!
219    */
220   public void ok_actionPerformed(ActionEvent e)
221   {
222   }
223
224   /**
225    * DOCUMENT ME!
226    * 
227    * @param e
228    *          DOCUMENT ME!
229    */
230   public void cancel_actionPerformed(ActionEvent e)
231   {
232   }
233
234   public void selectAll_actionPerformed(ActionEvent e)
235   {
236     textarea.selectAll();
237   }
238
239   public void save_actionPerformed(ActionEvent e)
240   {
241
242   }
243 }