User colours are case sensitive
[jalview.git] / src / jalview / jbgui / GUserDefinedColours.java
1 /*\r
2 * Jalview - A Sequence Alignment Editor and Viewer\r
3 * Copyright (C) 2006 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 jalview.jbgui;\r
20 \r
21 import java.awt.*;\r
22 import java.awt.event.*;\r
23 \r
24 import javax.swing.*;\r
25 import java.awt.Dimension;\r
26 \r
27 /**\r
28  * DOCUMENT ME!\r
29  *\r
30  * @author $author$\r
31  * @version $Revision$\r
32  */\r
33 public class GUserDefinedColours extends JPanel\r
34 {\r
35     protected JColorChooser colorChooser = new JColorChooser();\r
36     protected JPanel buttonPanel = new JPanel();\r
37     protected GridLayout gridLayout = new GridLayout();\r
38     JPanel lowerPanel = new JPanel();\r
39     protected JButton okButton = new JButton();\r
40     protected JButton applyButton = new JButton();\r
41     protected JButton loadbutton = new JButton();\r
42     protected JButton savebutton = new JButton();\r
43     protected JButton cancelButton = new JButton();\r
44   JPanel namePanel = new JPanel();\r
45   JLabel jLabel1 = new JLabel();\r
46   protected JTextField schemeName = new JTextField();\r
47   BorderLayout borderLayout1 = new BorderLayout();\r
48   JPanel panel1 = new JPanel();\r
49   JPanel okCancelPanel = new JPanel();\r
50   JPanel saveLoadPanel = new JPanel();\r
51   BorderLayout borderLayout3 = new BorderLayout();\r
52   GridBagLayout gridBagLayout1 = new GridBagLayout();\r
53   BorderLayout borderLayout2 = new BorderLayout();\r
54   FlowLayout flowLayout1 = new FlowLayout();\r
55   BorderLayout borderLayout4 = new BorderLayout();\r
56   JPanel jPanel4 = new JPanel();\r
57   BorderLayout borderLayout5 = new BorderLayout();\r
58   JLabel label = new JLabel();\r
59   JPanel casePanel = new JPanel();\r
60   protected JCheckBox caseSensitive = new JCheckBox();\r
61   protected JButton lcaseColour = new JButton();\r
62   /**\r
63      * Creates a new GUserDefinedColours object.\r
64      */\r
65     public GUserDefinedColours()\r
66     {\r
67         try\r
68         {\r
69             jbInit();\r
70         }\r
71         catch (Exception e)\r
72         {\r
73             e.printStackTrace();\r
74         }\r
75     }\r
76 \r
77     /**\r
78      * DOCUMENT ME!\r
79      *\r
80      * @throws Exception DOCUMENT ME!\r
81      */\r
82     private void jbInit() throws Exception\r
83     {\r
84         this.setLayout(borderLayout4);\r
85         buttonPanel.setLayout(gridLayout);\r
86         gridLayout.setColumns(4);\r
87         gridLayout.setRows(5);\r
88         okButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
89         okButton.setText("OK");\r
90         okButton.addActionListener(new java.awt.event.ActionListener()\r
91             {\r
92                 public void actionPerformed(ActionEvent e)\r
93                 {\r
94                     okButton_actionPerformed(e);\r
95                 }\r
96             });\r
97         applyButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
98         applyButton.setText("Apply");\r
99         applyButton.addActionListener(new java.awt.event.ActionListener()\r
100             {\r
101                 public void actionPerformed(ActionEvent e)\r
102                 {\r
103                     applyButton_actionPerformed(e);\r
104                 }\r
105             });\r
106         loadbutton.setFont(new java.awt.Font("Verdana", 0, 11));\r
107         loadbutton.setText("Load scheme");\r
108         loadbutton.addActionListener(new java.awt.event.ActionListener()\r
109             {\r
110                 public void actionPerformed(ActionEvent e)\r
111                 {\r
112                     loadbutton_actionPerformed(e);\r
113                 }\r
114             });\r
115         savebutton.setFont(new java.awt.Font("Verdana", 0, 11));\r
116         savebutton.setText("Save scheme");\r
117         savebutton.addActionListener(new java.awt.event.ActionListener()\r
118             {\r
119                 public void actionPerformed(ActionEvent e)\r
120                 {\r
121                     savebutton_actionPerformed(e);\r
122                 }\r
123             });\r
124         cancelButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
125         cancelButton.setText("Cancel");\r
126         cancelButton.addActionListener(new java.awt.event.ActionListener()\r
127             {\r
128                 public void actionPerformed(ActionEvent e)\r
129                 {\r
130                     cancelButton_actionPerformed(e);\r
131                 }\r
132             });\r
133         this.setBackground(new Color(212, 208, 223));\r
134     lowerPanel.setOpaque(false);\r
135     lowerPanel.setLayout(borderLayout3);\r
136     colorChooser.setOpaque(false);\r
137     jLabel1.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
138     jLabel1.setText("Name");\r
139     namePanel.setMinimumSize(new Dimension(300, 31));\r
140     namePanel.setOpaque(false);\r
141     namePanel.setPreferredSize(new Dimension(240, 25));\r
142     namePanel.setToolTipText("");\r
143     namePanel.setLayout(borderLayout1);\r
144     schemeName.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
145     schemeName.setPreferredSize(new Dimension(105, 21));\r
146     schemeName.setText("");\r
147     schemeName.setHorizontalAlignment(SwingConstants.CENTER);\r
148     panel1.setLayout(flowLayout1);\r
149     panel1.setOpaque(false);\r
150     okCancelPanel.setOpaque(false);\r
151     saveLoadPanel.setOpaque(false);\r
152     jPanel4.setLayout(borderLayout5);\r
153     label.setFont(new java.awt.Font("Verdana", Font.ITALIC, 10));\r
154     label.setOpaque(false);\r
155     label.setPreferredSize(new Dimension(260, 34));\r
156     label.setText(\r
157         "<html>Save your colour scheme with a unique name and it will be added " +\r
158         "to the Colour menu.</html>");\r
159     caseSensitive.setText("Case Sensitive");\r
160     caseSensitive.addActionListener(new ActionListener()\r
161     {\r
162       public void actionPerformed(ActionEvent e)\r
163       {\r
164         caseSensitive_actionPerformed(e);\r
165       }\r
166     });\r
167     lcaseColour.setText("Lower Case Colour");\r
168     lcaseColour.addActionListener(new ActionListener()\r
169     {\r
170       public void actionPerformed(ActionEvent e)\r
171       {\r
172         lcaseColour_actionPerformed(e);\r
173       }\r
174     });\r
175 \r
176     saveLoadPanel.add(savebutton);\r
177     saveLoadPanel.add(loadbutton);\r
178     okCancelPanel.add(applyButton);\r
179     okCancelPanel.add(okButton);\r
180     okCancelPanel.add(cancelButton);\r
181     lowerPanel.add(saveLoadPanel, java.awt.BorderLayout.NORTH);\r
182     lowerPanel.add(okCancelPanel, java.awt.BorderLayout.SOUTH);\r
183 \r
184     namePanel.add(schemeName, java.awt.BorderLayout.CENTER);\r
185     namePanel.add(jLabel1, java.awt.BorderLayout.WEST);\r
186     panel1.add(namePanel, null);\r
187     panel1.add(buttonPanel, null);\r
188     panel1.add(casePanel);\r
189     casePanel.add(caseSensitive);\r
190     casePanel.add(lcaseColour);\r
191     panel1.add(lowerPanel, null);\r
192     panel1.add(label);\r
193 \r
194     jPanel4.add(panel1, java.awt.BorderLayout.CENTER);\r
195     this.add(jPanel4, java.awt.BorderLayout.CENTER);\r
196     this.add(colorChooser, java.awt.BorderLayout.EAST);\r
197   }\r
198 \r
199     /**\r
200      * DOCUMENT ME!\r
201      *\r
202      * @param e DOCUMENT ME!\r
203      */\r
204     protected void okButton_actionPerformed(ActionEvent e)\r
205     {\r
206     }\r
207 \r
208     /**\r
209      * DOCUMENT ME!\r
210      *\r
211      * @param e DOCUMENT ME!\r
212      */\r
213     protected void applyButton_actionPerformed(ActionEvent e)\r
214     {\r
215     }\r
216 \r
217     /**\r
218      * DOCUMENT ME!\r
219      *\r
220      * @param e DOCUMENT ME!\r
221      */\r
222     protected void loadbutton_actionPerformed(ActionEvent e)\r
223     {\r
224     }\r
225 \r
226     /**\r
227      * DOCUMENT ME!\r
228      *\r
229      * @param e DOCUMENT ME!\r
230      */\r
231     protected void savebutton_actionPerformed(ActionEvent e)\r
232     {\r
233     }\r
234 \r
235     /**\r
236      * DOCUMENT ME!\r
237      *\r
238      * @param e DOCUMENT ME!\r
239      */\r
240     protected void cancelButton_actionPerformed(ActionEvent e)\r
241     {\r
242     }\r
243 \r
244     public void caseSensitive_actionPerformed(ActionEvent e)\r
245     {\r
246 \r
247     }\r
248 \r
249     public void lcaseColour_actionPerformed(ActionEvent e)\r
250     {\r
251 \r
252     }\r
253 }\r