KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > plugin > locale > QueryLocalesDialog


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * TranslationOptionsDialog.java
28  *
29  * Created on 22 maggio 2005, 0.39
30  *
31  */

32
33 package it.businesslogic.ireport.plugin.locale;
34 import it.businesslogic.ireport.util.I18n;
35 import it.businesslogic.ireport.util.LocaleAdapter;
36 import it.businesslogic.ireport.util.Misc;
37 import java.awt.Cursor JavaDoc;
38 import java.util.Arrays JavaDoc;
39 import java.util.Locale JavaDoc;
40 import javax.swing.DefaultListModel JavaDoc;
41 import javax.swing.JOptionPane JavaDoc;
42 import javax.swing.SwingUtilities JavaDoc;
43
44 /**
45  *
46  * @author Administrator
47  */

48 public class QueryLocalesDialog extends javax.swing.JDialog JavaDoc implements JasperBabylonRunnerListener {
49     
50     private int dialogResult = JOptionPane.CANCEL_OPTION;
51     private java.util.Properties JavaDoc localeProperties = null;
52     private String JavaDoc locale_code = null;
53     
54     /**
55      * Creates new form TranslationOptionsDialog
56      */

57     public QueryLocalesDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
58         super(parent, modal);
59         initComponents();
60         applyI18n();
61         
62         it.businesslogic.ireport.util.Misc.centerFrame(this);
63         
64         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
65             javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
66                 public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
67                     jButton2ActionPerformed(e);
68                 }
69             };
70
71             getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
72             getRootPane().getActionMap().put("ESCAPE", escapeAction);
73
74
75             this.jButtonImport.setEnabled(false);
76             jList1.setModel(new DefaultListModel JavaDoc());
77             
78             //to make the default button ...
79
this.getRootPane().setDefaultButton(this.jButton2);
80     }
81     
82     public void setVisible(boolean b)
83     {
84         super.setVisible(b);
85     }
86     
87     /** This method is called from within the constructor to
88      * initialize the form.
89      * WARNING: Do NOT modify this code. The content of this method is
90      * always regenerated by the Form Editor.
91      */

92     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
93
private void initComponents() {
94         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
95
96         jLabelJasperBabylon = new javax.swing.JLabel JavaDoc();
97         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
98         jList1 = new javax.swing.JList JavaDoc();
99         jSeparator1 = new javax.swing.JSeparator JavaDoc();
100         jPanel1 = new javax.swing.JPanel JavaDoc();
101         jPanel2 = new javax.swing.JPanel JavaDoc();
102         jButtonImport = new javax.swing.JButton JavaDoc();
103         jButton2 = new javax.swing.JButton JavaDoc();
104
105         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
106
107         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
108         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
109             public void windowOpened(java.awt.event.WindowEvent JavaDoc evt) {
110                 formWindowOpened(evt);
111             }
112         });
113
114         jLabelJasperBabylon.setText("Available locales:");
115         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
116         gridBagConstraints.gridx = 0;
117         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
118         gridBagConstraints.weightx = 1.0;
119         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
120         getContentPane().add(jLabelJasperBabylon, gridBagConstraints);
121
122         jScrollPane1.setPreferredSize(new java.awt.Dimension JavaDoc(300, 200));
123         jList1.setModel(new javax.swing.AbstractListModel JavaDoc() {
124             String JavaDoc[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
125             public int getSize() { return strings.length; }
126             public Object JavaDoc getElementAt(int i) { return strings[i]; }
127         });
128         jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
129             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
130                 jList1ValueChanged(evt);
131             }
132         });
133
134         jScrollPane1.setViewportView(jList1);
135
136         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
137         gridBagConstraints.gridx = 0;
138         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
139         gridBagConstraints.weightx = 1.0;
140         gridBagConstraints.weighty = 1.0;
141         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
142         getContentPane().add(jScrollPane1, gridBagConstraints);
143
144         jSeparator1.setMinimumSize(new java.awt.Dimension JavaDoc(0, 4));
145         jSeparator1.setPreferredSize(new java.awt.Dimension JavaDoc(0, 4));
146         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
147         gridBagConstraints.gridx = 0;
148         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
149         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
150         gridBagConstraints.weightx = 1.0;
151         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 4, 0);
152         getContentPane().add(jSeparator1, gridBagConstraints);
153
154         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
155
156         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
157         gridBagConstraints.weightx = 1.0;
158         jPanel1.add(jPanel2, gridBagConstraints);
159
160         jButtonImport.setText("Import");
161         jButtonImport.addActionListener(new java.awt.event.ActionListener JavaDoc() {
162             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
163                 jButtonImportActionPerformed(evt);
164             }
165         });
166
167         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
168         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
169         jPanel1.add(jButtonImport, gridBagConstraints);
170
171         jButton2.setText("Cancel");
172         jButton2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
173             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
174                 jButton2ActionPerformed(evt);
175             }
176         });
177
178         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
179         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 10);
180         jPanel1.add(jButton2, gridBagConstraints);
181
182         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
183         gridBagConstraints.gridx = 0;
184         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
185         gridBagConstraints.weightx = 1.0;
186         getContentPane().add(jPanel1, gridBagConstraints);
187
188         pack();
189     }// </editor-fold>//GEN-END:initComponents
190

191     private void jList1ValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jList1ValueChanged
192

193         if (jList1.getSelectedIndex() >= 0 &&
194             jList1.getSelectedValue() instanceof LocaleAdapter)
195         {
196             jButtonImport.setEnabled(true);
197         }
198         else
199         {
200             jButtonImport.setEnabled(false);
201         }
202         
203     }//GEN-LAST:event_jList1ValueChanged
204

205     private void jButton2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton2ActionPerformed
206
setVisible(false);
207         dispose();
208     }//GEN-LAST:event_jButton2ActionPerformed
209

210     private void formWindowOpened(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_formWindowOpened
211

212         JasperBabylonRunner jbr = new JasperBabylonRunner();
213             jbr.setRunnerListener(this);
214             ((DefaultListModel JavaDoc)jList1.getModel()).clear();
215             ((DefaultListModel JavaDoc)jList1.getModel()).addElement("Reading locales...");
216             jList1.updateUI();
217             jbr.listLocales();
218     }//GEN-LAST:event_formWindowOpened
219

220     private void jButtonImportActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonImportActionPerformed
221

222         
223         JasperBabylonRunner jbr = new JasperBabylonRunner();
224         jbr.setRunnerListener(this);
225         LocaleAdapter la = (LocaleAdapter)jList1.getSelectedValue();
226         
227         String JavaDoc code = la.getLocale().getLanguage();
228         if (la.getLocale().getCountry().length() > 0)
229         {
230             code += "_" + la.getLocale().getCountry();
231         }
232         if (la.getLocale().getVariant().length() > 0)
233         {
234             code += "_" + la.getLocale().getVariant();
235         }
236         
237         
238         this.setLocale_code(code);
239         jbr.getLocale(code);
240
241         this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR) );
242         jButtonImport.setEnabled(false);
243         
244     }//GEN-LAST:event_jButtonImportActionPerformed
245

246     // Variables declaration - do not modify//GEN-BEGIN:variables
247
private javax.swing.JButton JavaDoc jButton2;
248     private javax.swing.JButton JavaDoc jButtonImport;
249     private javax.swing.JLabel JavaDoc jLabelJasperBabylon;
250     private javax.swing.JList JavaDoc jList1;
251     private javax.swing.JPanel JavaDoc jPanel1;
252     private javax.swing.JPanel JavaDoc jPanel2;
253     private javax.swing.JScrollPane JavaDoc jScrollPane1;
254     private javax.swing.JSeparator JavaDoc jSeparator1;
255     // End of variables declaration//GEN-END:variables
256

257     public void applyI18n(){
258                 
259     }
260     
261     public void listLocalesComplete(java.util.List JavaDoc list)
262     {
263        ((DefaultListModel JavaDoc)jList1.getModel()).clear();
264        Object JavaDoc[] ar = list.toArray();
265        Arrays.sort(ar);
266         
267        for (int i=0; i<ar.length; ++i)
268        {
269            String JavaDoc code = "" + ar[i];
270            Locale JavaDoc loc = Misc.getLocaleFromString(code);
271            LocaleAdapter la = new LocaleAdapter(loc);
272            ((DefaultListModel JavaDoc)jList1.getModel()).addElement(la);
273        }
274        
275        try {
276        SwingUtilities.invokeAndWait(new Runnable JavaDoc() {
277            public void run() {
278                  jList1.updateUI();
279            }
280        });
281        } catch (Exception JavaDoc ex){}
282        
283     }
284     
285     public void getLocaleComplete(java.util.Properties JavaDoc props)
286     {
287         setLocaleProperties(props);
288         try {
289         SwingUtilities.invokeAndWait(new Runnable JavaDoc() {
290             public void run() {
291                 setCursor(Cursor.getDefaultCursor());
292                 setDialogResult(JOptionPane.OK_OPTION);
293                 setVisible(false);
294                 dispose();
295             }
296         });
297         } catch (Exception JavaDoc ex){
298             ex.printStackTrace();
299         }
300     }
301     
302     public void putLocaleComplete(String JavaDoc returnMessage)
303     {
304         
305     }
306     
307     public void operationError(int operation, String JavaDoc message)
308     {
309         if (operation == JasperBabylonRunner.OP_GET_LOCALE)
310         {
311             try {
312                 final String JavaDoc msg = message;
313                 SwingUtilities.invokeAndWait(new Runnable JavaDoc() {
314                     public void run() {
315                         setCursor(Cursor.getDefaultCursor());
316                         jList1ValueChanged(null);
317                         JOptionPane.showMessageDialog(QueryLocalesDialog.this,msg);
318                     }
319                 });
320             } catch (Exception JavaDoc ex)
321             {}
322         }
323         else
324         {
325             ((DefaultListModel JavaDoc)jList1.getModel()).clear();
326             ((DefaultListModel JavaDoc)jList1.getModel()).addElement(message);
327                         
328             try {
329                 SwingUtilities.invokeAndWait(new Runnable JavaDoc() {
330                     public void run() {
331                         jList1.updateUI();
332                     }
333                 });
334             } catch (Exception JavaDoc ex)
335             {}
336         }
337         
338     }
339
340
341
342     public java.util.Properties JavaDoc getLocaleProperties() {
343         return localeProperties;
344     }
345
346     public void setLocaleProperties(java.util.Properties JavaDoc localeProperties) {
347         this.localeProperties = localeProperties;
348     }
349
350     public String JavaDoc getLocale_code() {
351         return locale_code;
352     }
353
354     public void setLocale_code(String JavaDoc locale_code) {
355         this.locale_code = locale_code;
356     }
357
358     public int getDialogResult() {
359         return dialogResult;
360     }
361
362     public void setDialogResult(int dialogResult) {
363         this.dialogResult = dialogResult;
364     }
365 }
366
Popular Tags