KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > chart > gui > SerieDialog


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  * SerieDialog.java
28  *
29  * Created on 21 settembre 2004, 20.34
30  *
31  */

32
33 package it.businesslogic.ireport.chart.gui;
34 import it.businesslogic.ireport.gui.library.CustomExpression;
35 import it.businesslogic.ireport.gui.*;
36 import it.businesslogic.ireport.*;
37 import javax.swing.tree.*;
38 import it.businesslogic.ireport.util.I18n;
39
40 /**
41  *
42  * @author Administrator
43  */

44 public class SerieDialog extends javax.swing.JDialog JavaDoc {
45     
46     int dialogResult = 0;
47     
48     private JReportFrame jrf = null;
49     private String JavaDoc serieExpression = null;
50     private String JavaDoc serieName = null;
51     private String JavaDoc serieReset = null;
52     private String JavaDoc serieType = null;
53     
54     /** Creates new form TotalObjectDialog */
55     public SerieDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
56         super(parent, modal);
57         initComponents();
58         
59          initFrame();
60     }
61     
62     public void initFrame()
63     {
64         
65         this.setSize(400, 450);
66       
67         this.setModal(true);
68         
69         
70         org.syntax.jedit.SyntaxDocument sd = new org.syntax.jedit.SyntaxDocument();
71         sd.setTokenMarker(new org.syntax.jedit.tokenmarker.JavaTokenMarker() );
72       
73         this.jRTextExpressionAreaDefaultExpression.setDocument( sd );
74         
75         this.jComboBoxClassType.addItem("java.lang.String");
76         this.jComboBoxClassType.addItem("java.lang.Object");
77         this.jComboBoxClassType.addItem("java.lang.Boolean");
78         this.jComboBoxClassType.addItem("java.lang.Byte");
79         this.jComboBoxClassType.addItem("java.util.Date");
80         this.jComboBoxClassType.addItem("java.sql.Timestamp");
81         this.jComboBoxClassType.addItem("java.sql.Time");
82         this.jComboBoxClassType.addItem("java.lang.Double");
83         this.jComboBoxClassType.addItem("java.lang.Float");
84         this.jComboBoxClassType.addItem("java.lang.Integer");
85         this.jComboBoxClassType.addItem("java.io.InputStream");
86         this.jComboBoxClassType.addItem("java.lang.Long");
87         this.jComboBoxClassType.addItem("java.lang.Short");
88         this.jComboBoxClassType.addItem("java.math.BigDecimal");
89      
90         //jLabelTitle.setText( it.businesslogic.ireport.util.I18n.getString("gui.library.totalobject.title","Select object to sum") );
91

92         this.dialogResult = javax.swing.JOptionPane.CANCEL_OPTION;
93         
94         it.businesslogic.ireport.util.Misc.centerFrame(this);
95         
96         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
97         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
98             public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
99                 jButtonCancelActionPerformed(e);
100             }
101         };
102        
103         getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
104         getRootPane().getActionMap().put("ESCAPE", escapeAction);
105
106         applyI18n();
107
108         //to make the default button ...
109
this.getRootPane().setDefaultButton(this.jButtonOK);
110     }
111     
112     public void setVariable( it.businesslogic.ireport.JRVariable var)
113     {
114         String JavaDoc var_name = var.getName();
115         var_name = var_name.substring("SERIE_".length());
116         if (var_name.startsWith("G_"))
117         {
118             var_name = var_name.substring(2);
119             // Search the right group...
120
String JavaDoc grp_name ="";
121             java.util.Enumeration JavaDoc enum_groups = getJrf().getReport().getGroups().elements();
122             while (enum_groups.hasMoreElements())
123             {
124                 Group g = (Group)enum_groups.nextElement();
125                 grp_name = g.getName();
126                 if (var_name.startsWith(grp_name +"_"))
127                 {
128                     break;
129                 }
130             }
131             
132             this.jComboBox1.setSelectedItem(grp_name);
133             var_name = var_name.substring(grp_name.length()+1);
134         }
135         else
136         {
137            this.jComboBox1.setSelectedIndex(0);
138             
139         }
140         this.jTextFieldName.setText( var_name );
141         this.jComboBoxClassType.setSelectedItem( var.getClassType() );
142         this.jRTextExpressionAreaDefaultExpression.setText( var.getExpression() );
143         
144         
145     }
146     
147     
148     /** This method is called from within the constructor to
149      * initialize the form.
150      * WARNING: Do NOT modify this code. The content of this method is
151      * always regenerated by the Form Editor.
152      */

153     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
154
private void initComponents() {
155         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
156
157         jLabelTitle = new javax.swing.JLabel JavaDoc();
158         jRTextExpressionAreaDefaultExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea();
159         jPanel1 = new javax.swing.JPanel JavaDoc();
160         jPanel2 = new javax.swing.JPanel JavaDoc();
161         jButtonOK = new javax.swing.JButton JavaDoc();
162         jButtonCancel = new javax.swing.JButton JavaDoc();
163         jTextFieldName = new javax.swing.JTextField JavaDoc();
164         jLabelName = new javax.swing.JLabel JavaDoc();
165         jLabelName1 = new javax.swing.JLabel JavaDoc();
166         jComboBox1 = new javax.swing.JComboBox JavaDoc();
167         jLabelName2 = new javax.swing.JLabel JavaDoc();
168         jComboBoxClassType = new javax.swing.JComboBox JavaDoc();
169
170         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
171
172         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
173         jLabelTitle.setText("Serie expression (the single object of this serie)");
174         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
175         gridBagConstraints.gridx = 0;
176         gridBagConstraints.gridy = 3;
177         gridBagConstraints.gridwidth = 2;
178         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
179         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 4, 0, 4);
180         getContentPane().add(jLabelTitle, gridBagConstraints);
181
182         jRTextExpressionAreaDefaultExpression.setBorder(javax.swing.BorderFactory.createEtchedBorder());
183         jRTextExpressionAreaDefaultExpression.setElectricScroll(0);
184         jRTextExpressionAreaDefaultExpression.setMinimumSize(new java.awt.Dimension JavaDoc(0, 60));
185         jRTextExpressionAreaDefaultExpression.setPreferredSize(new java.awt.Dimension JavaDoc(310, 60));
186         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
187         gridBagConstraints.gridx = 0;
188         gridBagConstraints.gridy = 5;
189         gridBagConstraints.gridwidth = 2;
190         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
191         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
192         gridBagConstraints.weighty = 0.2;
193         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
194         getContentPane().add(jRTextExpressionAreaDefaultExpression, gridBagConstraints);
195
196         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
197
198         jPanel1.setMinimumSize(new java.awt.Dimension JavaDoc(10, 30));
199         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(10, 30));
200         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
201         gridBagConstraints.gridx = 0;
202         gridBagConstraints.gridy = 0;
203         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
204         gridBagConstraints.weightx = 1.0;
205         jPanel1.add(jPanel2, gridBagConstraints);
206
207         jButtonOK.setText("OK");
208         jButtonOK.addActionListener(new java.awt.event.ActionListener JavaDoc() {
209             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
210                 jButtonOKActionPerformed(evt);
211             }
212         });
213
214         jPanel1.add(jButtonOK, new java.awt.GridBagConstraints JavaDoc());
215
216         jButtonCancel.setText("Cancel");
217         jButtonCancel.addActionListener(new java.awt.event.ActionListener JavaDoc() {
218             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
219                 jButtonCancelActionPerformed(evt);
220             }
221         });
222
223         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
224         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 0);
225         jPanel1.add(jButtonCancel, gridBagConstraints);
226
227         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
228         gridBagConstraints.gridx = 0;
229         gridBagConstraints.gridy = 6;
230         gridBagConstraints.gridwidth = 2;
231         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
232         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
233         getContentPane().add(jPanel1, gridBagConstraints);
234
235         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
236         gridBagConstraints.gridx = 1;
237         gridBagConstraints.gridy = 1;
238         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
239         gridBagConstraints.weightx = 0.75;
240         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
241         getContentPane().add(jTextFieldName, gridBagConstraints);
242
243         jLabelName.setText("Serie name");
244         jLabelName.setMaximumSize(new java.awt.Dimension JavaDoc(40, 16));
245         jLabelName.setMinimumSize(new java.awt.Dimension JavaDoc(40, 16));
246         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
247         gridBagConstraints.gridx = 0;
248         gridBagConstraints.gridy = 1;
249         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
250         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
251         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 0);
252         getContentPane().add(jLabelName, gridBagConstraints);
253
254         jLabelName1.setText("Reset when");
255         jLabelName1.setMaximumSize(new java.awt.Dimension JavaDoc(40, 16));
256         jLabelName1.setMinimumSize(new java.awt.Dimension JavaDoc(40, 16));
257         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
258         gridBagConstraints.gridx = 0;
259         gridBagConstraints.gridy = 2;
260         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
261         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
262         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 0);
263         getContentPane().add(jLabelName1, gridBagConstraints);
264
265         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
266         gridBagConstraints.gridx = 1;
267         gridBagConstraints.gridy = 2;
268         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
269         gridBagConstraints.weightx = 1.0;
270         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
271         getContentPane().add(jComboBox1, gridBagConstraints);
272
273         jLabelName2.setText("Exp Class");
274         jLabelName2.setMaximumSize(new java.awt.Dimension JavaDoc(40, 16));
275         jLabelName2.setMinimumSize(new java.awt.Dimension JavaDoc(40, 16));
276         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
277         gridBagConstraints.gridx = 0;
278         gridBagConstraints.gridy = 4;
279         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
280         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
281         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 0);
282         getContentPane().add(jLabelName2, gridBagConstraints);
283
284         jComboBoxClassType.setEditable(true);
285         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
286         gridBagConstraints.gridx = 1;
287         gridBagConstraints.gridy = 4;
288         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
289         gridBagConstraints.weightx = 1.0;
290         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
291         getContentPane().add(jComboBoxClassType, gridBagConstraints);
292
293         pack();
294     }// </editor-fold>//GEN-END:initComponents
295

296     private void jButtonCancelActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
297
this.dialogResult = javax.swing.JOptionPane.CANCEL_OPTION;
298         this.setVisible(false);
299         dispose(); // TODO add your handling code here:
300
}//GEN-LAST:event_jButtonCancelActionPerformed
301

302     private void jButtonOKActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonOKActionPerformed
303

304         if (this.jRTextExpressionAreaDefaultExpression.getText().trim().length() == 0)
305         {
306             javax.swing.JOptionPane.showMessageDialog(this,it.businesslogic.ireport.util.I18n.getString("gui.chart.SerieDialog.selectexpression","Please specify an expression"));
307             return;
308         }
309         
310         if (this.jTextFieldName.getText().trim().length() == 0)
311         {
312             javax.swing.JOptionPane.showMessageDialog(this,it.businesslogic.ireport.util.I18n.getString("gui.chart.SerieDialog.selectname","Please specify an name for this serie"));
313             return;
314         }
315         
316         this.serieExpression = jRTextExpressionAreaDefaultExpression.getText();
317         this.serieName = jTextFieldName.getText();
318         this.serieReset = "";
319                 this.setSerieType(""+jComboBoxClassType.getSelectedItem()) ;
320         if (jComboBox1.getSelectedIndex() > 0)
321         {
322             this.serieReset += ""+jComboBox1.getSelectedItem();
323         }
324         
325         this.dialogResult = javax.swing.JOptionPane.OK_OPTION;
326         this.setVisible(false);
327         dispose();
328         
329         
330     }//GEN-LAST:event_jButtonOKActionPerformed
331

332     /**
333      * @param args the command line arguments
334      */

335     public static void main(String JavaDoc args[]) {
336         java.awt.EventQueue.invokeLater(new Runnable JavaDoc() {
337             public void run() {
338                 new SerieDialog(null, true).setVisible(true);
339             }
340         });
341     }
342
343     /**
344      * Getter for property jrf.
345      * @return Value of property jrf.
346      */

347     public JReportFrame getJrf() {
348
349         return this.jrf;
350     }
351
352     /**
353      * Setter for property jrf.
354      * @param jrf New value of property jrf.
355      */

356     public void setJrf(JReportFrame jrf) {
357
358         this.jrf = jrf;
359         jRTextExpressionAreaDefaultExpression.getTokenMarker().setKeywordLookup(
360         jrf.getReport().getKeywordLookup());
361         
362         jComboBox1.removeAllItems();
363         jComboBox1.addItem(I18n.getString("serieDialog.none","<None>") );
364         if (jrf == null) {
365            jComboBox1.updateUI();
366            return;
367         }
368        
369        java.util.Enumeration JavaDoc e = jrf.getReport().getGroups().elements();
370        while (e.hasMoreElements())
371        {
372            jComboBox1.addItem( ""+e.nextElement() );
373        }
374         
375     }
376
377     /**
378      * Getter for property dialogResult.
379      * @return Value of property dialogResult.
380      */

381     public int getDialogResult() {
382
383         return this.dialogResult;
384     }
385
386     /**
387      * Setter for property dialogResult.
388      * @param dialogResult New value of property dialogResult.
389      */

390     public void setDialogResult(int dialogResult) {
391
392         this.dialogResult = dialogResult;
393     }
394
395     public String JavaDoc getSerieName() {
396         return serieName;
397     }
398
399     public void setSerieName(String JavaDoc serieName) {
400         this.serieName = serieName;
401     }
402
403     public String JavaDoc getSerieReset() {
404         return serieReset;
405     }
406
407     public void setSerieReset(String JavaDoc serieReset) {
408         this.serieReset = serieReset;
409     }
410
411     public String JavaDoc getSerieType() {
412         return serieType;
413     }
414
415     public void setSerieType(String JavaDoc serieType) {
416         this.serieType = serieType;
417     }
418
419     public String JavaDoc getSerieExpression() {
420         return serieExpression;
421     }
422
423     public void setSerieExpression(String JavaDoc serieExpression) {
424         this.serieExpression = serieExpression;
425     }
426
427   
428     
429     // Variables declaration - do not modify//GEN-BEGIN:variables
430
private javax.swing.JButton JavaDoc jButtonCancel;
431     private javax.swing.JButton JavaDoc jButtonOK;
432     private javax.swing.JComboBox JavaDoc jComboBox1;
433     private javax.swing.JComboBox JavaDoc jComboBoxClassType;
434     private javax.swing.JLabel JavaDoc jLabelName;
435     private javax.swing.JLabel JavaDoc jLabelName1;
436     private javax.swing.JLabel JavaDoc jLabelName2;
437     private javax.swing.JLabel JavaDoc jLabelTitle;
438     private javax.swing.JPanel JavaDoc jPanel1;
439     private javax.swing.JPanel JavaDoc jPanel2;
440     private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaDefaultExpression;
441     private javax.swing.JTextField JavaDoc jTextFieldName;
442     // End of variables declaration//GEN-END:variables
443

444     public void applyI18n(){
445                 // Start autogenerated code ----------------------
446
jButtonCancel.setText(I18n.getString("serieDialog.buttonCancel","Cancel"));
447                 jButtonOK.setText(I18n.getString("serieDialog.buttonOK","OK"));
448                 jLabelName.setText(I18n.getString("serieDialog.labelName","Serie name"));
449                 jLabelName1.setText(I18n.getString("serieDialog.labelName1","Reset when"));
450                 jLabelName2.setText(I18n.getString("serieDialog.labelName2","Exp Class"));
451                 jLabelTitle.setText(I18n.getString("serieDialog.labelTitle","Serie expression (the single object of this serie)"));
452                 // End autogenerated code ----------------------
453
}
454 }
455
Popular Tags