KickJava   Java API By Example, From Geeks To Geeks.

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


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

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

46 public class ReportSeriesDialog extends javax.swing.JDialog JavaDoc {
47    
48     private int dialogResult = javax.swing.JOptionPane.OK_OPTION;
49     private JReportFrame jReportFrame = null;
50     /** Creates new form IReportChartDialog */
51     public ReportSeriesDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
52         super(parent, modal);
53         initComponents();
54         initFrame();
55     }
56     
57     public void initFrame()
58     {
59         javax.swing.DefaultListModel JavaDoc dlm = new javax.swing.DefaultListModel JavaDoc() ;
60         jList1.setModel(dlm );
61         jList1.updateUI();
62         
63         this.setSize(500,400);
64         it.businesslogic.ireport.util.Misc.centerFrame(this);
65         
66         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
67         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
68             public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
69                 jButtonCloseActionPerformed(e);
70             }
71         };
72        
73         getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
74         getRootPane().getActionMap().put("ESCAPE", escapeAction);
75
76
77         applyI18n();
78         
79         //to make the default button ...
80
this.getRootPane().setDefaultButton(this.jButtonClose);
81         
82     }
83     
84     public ReportSeriesDialog(java.awt.Frame JavaDoc parent, boolean modal) {
85         super(parent, modal);
86         initComponents();
87         initFrame();
88         
89     }
90     
91     public void updateSeriesList()
92     {
93         
94         Vector values = new Vector();
95         
96         javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jList1.getModel();
97         dlm.removeAllElements();
98
99         if (getJReportFrame() == null) { jList1.updateUI(); return; }
100         
101         // Look for variables that starts with SERIE_
102

103         Enumeration var_enum = getJReportFrame().getReport().getVariables().elements();
104         while (var_enum.hasMoreElements())
105         {
106             JRVariable var = (JRVariable)var_enum.nextElement();
107             if (var.getName().startsWith("SERIE_"))
108             {
109                 dlm.addElement( var );
110             }
111         }
112         jList1.updateUI();
113     }
114
115     public JReportFrame getJReportFrame() {
116         
117         return jReportFrame;
118     }
119
120     public void setJReportFrame(JReportFrame jReportFrame) {
121
122         this.jReportFrame = jReportFrame;
123         updateSeriesList();
124     }
125
126     public int getDialogResult() {
127         return dialogResult;
128     }
129
130     public void setDialogResult(int dialogResult) {
131         this.dialogResult = dialogResult;
132     }
133     
134     /** This method is called from within the constructor to
135      * initialize the form.
136      * WARNING: Do NOT modify this code. The content of this method is
137      * always regenerated by the Form Editor.
138      */

139     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
140
private void initComponents() {
141         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
142
143         jPanelData = new javax.swing.JPanel JavaDoc();
144         jScrollPane3 = new javax.swing.JScrollPane JavaDoc();
145         jList1 = new javax.swing.JList JavaDoc();
146         jPanel2 = new javax.swing.JPanel JavaDoc();
147         jButtonNewSerie = new javax.swing.JButton JavaDoc();
148         jButtonModifySerie = new javax.swing.JButton JavaDoc();
149         jButtonDeleteSerie = new javax.swing.JButton JavaDoc();
150         jPanel3 = new javax.swing.JPanel JavaDoc();
151         jButtonClose = new javax.swing.JButton JavaDoc();
152
153         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
154         setTitle("Report Series");
155         jPanelData.setLayout(new java.awt.GridBagLayout JavaDoc());
156
157         jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
158             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
159                 jList1ValueChanged(evt);
160             }
161         });
162
163         jScrollPane3.setViewportView(jList1);
164
165         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
166         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
167         gridBagConstraints.weightx = 1.0;
168         gridBagConstraints.weighty = 1.0;
169         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
170         jPanelData.add(jScrollPane3, gridBagConstraints);
171
172         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
173
174         jPanel2.setMinimumSize(new java.awt.Dimension JavaDoc(100, 151));
175         jPanel2.setPreferredSize(new java.awt.Dimension JavaDoc(140, 100));
176         jButtonNewSerie.setText("New serie");
177         jButtonNewSerie.addActionListener(new java.awt.event.ActionListener JavaDoc() {
178             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
179                 jButtonNewSerieActionPerformed(evt);
180             }
181         });
182
183         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
184         gridBagConstraints.gridx = 0;
185         gridBagConstraints.gridy = 1;
186         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
187         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
188         gridBagConstraints.weightx = 1.0;
189         jPanel2.add(jButtonNewSerie, gridBagConstraints);
190
191         jButtonModifySerie.setEnabled(false);
192         jButtonModifySerie.setLabel("Modify serie");
193         jButtonModifySerie.addActionListener(new java.awt.event.ActionListener JavaDoc() {
194             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
195                 jButtonModifySerieActionPerformed(evt);
196             }
197         });
198
199         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
200         gridBagConstraints.gridx = 0;
201         gridBagConstraints.gridy = 2;
202         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
203         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
204         gridBagConstraints.weightx = 1.0;
205         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
206         jPanel2.add(jButtonModifySerie, gridBagConstraints);
207
208         jButtonDeleteSerie.setEnabled(false);
209         jButtonDeleteSerie.setLabel("Remove serie");
210         jButtonDeleteSerie.addActionListener(new java.awt.event.ActionListener JavaDoc() {
211             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
212                 jButtonDeleteSerieActionPerformed(evt);
213             }
214         });
215
216         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
217         gridBagConstraints.gridx = 0;
218         gridBagConstraints.gridy = 3;
219         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
220         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
221         gridBagConstraints.weightx = 1.0;
222         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
223         jPanel2.add(jButtonDeleteSerie, gridBagConstraints);
224
225         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
226         gridBagConstraints.gridx = 0;
227         gridBagConstraints.gridy = 10;
228         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
229         gridBagConstraints.weightx = 1.0;
230         gridBagConstraints.weighty = 1.0;
231         jPanel2.add(jPanel3, gridBagConstraints);
232
233         jButtonClose.setText("Close");
234         jButtonClose.addActionListener(new java.awt.event.ActionListener JavaDoc() {
235             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
236                 jButtonCloseActionPerformed(evt);
237             }
238         });
239
240         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
241         gridBagConstraints.gridx = 0;
242         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
243         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
244         gridBagConstraints.weightx = 1.0;
245         jPanel2.add(jButtonClose, gridBagConstraints);
246
247         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
248         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
249         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
250         jPanelData.add(jPanel2, gridBagConstraints);
251
252         getContentPane().add(jPanelData, java.awt.BorderLayout.CENTER);
253
254         pack();
255     }// </editor-fold>//GEN-END:initComponents
256

257     private void jButtonDeleteSerieActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDeleteSerieActionPerformed
258

259         Object JavaDoc[] vars = jList1.getSelectedValues();
260         
261         for (int i=0; i<vars.length; ++i)
262         {
263             JRVariable var = (JRVariable)vars[i];
264             this.getJReportFrame().getReport().removeVariable( var );
265         }
266         
267         this.updateSeriesList();
268         this.getJReportFrame().getMainFrame().getValuesDialog().getValuesPanel().updateVariables();
269         
270     }//GEN-LAST:event_jButtonDeleteSerieActionPerformed
271

272     private void jButtonModifySerieActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModifySerieActionPerformed
273

274         SerieDialog sd = new SerieDialog(this, true);
275         sd.setJrf( this.getJReportFrame());
276         JRVariable var = (JRVariable)jList1.getSelectedValue() ;
277         sd.setVariable( var );
278         sd.setVisible(true);
279         if (sd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION)
280         {
281             String JavaDoc var_name = "SERIE_";
282             if (!sd.getSerieReset().equals(""))
283             {
284                 var_name += "G_" + sd.getSerieReset() + "_";
285             }
286             var_name += sd.getSerieName();
287             
288             var.setName(var_name);
289             var.setResetType("Report");
290             var.setCalculation("Nothing");
291             var.setClassType( sd.getSerieType());
292             var.setExpression( sd.getSerieExpression());
293             
294             this.updateSeriesList();
295             this.getJReportFrame().getMainFrame().getValuesDialog().getValuesPanel().updateVariables();
296         }
297         
298     }//GEN-LAST:event_jButtonModifySerieActionPerformed
299

300     private void jButtonNewSerieActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonNewSerieActionPerformed
301

302         SerieDialog sd = new SerieDialog(this, true);
303         sd.setJrf( this.getJReportFrame());
304         sd.setVisible(true);
305         if (sd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION)
306         {
307             String JavaDoc var_name = "SERIE_";
308             if (!sd.getSerieReset().equals(""))
309             {
310                 var_name += "G_" + sd.getSerieReset() + "_";
311             }
312             var_name += sd.getSerieName();
313             
314             JRVariable var = new JRVariable(var_name, false);
315             var.setResetType("Report");
316             var.setCalculation("Nothing");
317             var.setClassType( sd.getSerieType());
318             var.setExpression( sd.getSerieExpression());
319             this.getJReportFrame().getReport().addVariable( var );
320             
321             this.updateSeriesList();
322             this.getJReportFrame().getMainFrame().getValuesDialog().getValuesPanel().updateVariables();
323         }
324         
325     }//GEN-LAST:event_jButtonNewSerieActionPerformed
326

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

329          if (this.jList1.getSelectedIndex() >= 0) {
330             this.jButtonModifySerie.setEnabled(true);
331             this.jButtonDeleteSerie.setEnabled(true);
332         }
333         else {
334             this.jButtonModifySerie.setEnabled(false);
335             this.jButtonDeleteSerie.setEnabled(false);
336         }
337         
338         
339     }//GEN-LAST:event_jList1ValueChanged
340

341     private void jButtonCloseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCloseActionPerformed
342

343         this.setDialogResult( javax.swing.JOptionPane.OK_OPTION);
344         this.setVisible(false);
345     }//GEN-LAST:event_jButtonCloseActionPerformed
346

347
348     
349     // Variables declaration - do not modify//GEN-BEGIN:variables
350
private javax.swing.JButton JavaDoc jButtonClose;
351     private javax.swing.JButton JavaDoc jButtonDeleteSerie;
352     private javax.swing.JButton JavaDoc jButtonModifySerie;
353     private javax.swing.JButton JavaDoc jButtonNewSerie;
354     private javax.swing.JList JavaDoc jList1;
355     private javax.swing.JPanel JavaDoc jPanel2;
356     private javax.swing.JPanel JavaDoc jPanel3;
357     private javax.swing.JPanel JavaDoc jPanelData;
358     private javax.swing.JScrollPane JavaDoc jScrollPane3;
359     // End of variables declaration//GEN-END:variables
360

361     public void applyI18n(){
362                 // Start autogenerated code ----------------------
363
jButtonClose.setText(I18n.getString("reportSeriesDialog.buttonClose","Close"));
364                 jButtonNewSerie.setText(I18n.getString("reportSeriesDialog.buttonNewSerie","New serie"));
365                 // End autogenerated code ----------------------
366
}
367 }
368
Popular Tags