KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > JRParameterDialog


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  * JRParameterDialog.java
28  *
29  * Created on 9 maggio 2003, 17.25
30  *
31  */

32
33 package it.businesslogic.ireport.gui;
34
35 import it.businesslogic.ireport.util.*;
36 import it.businesslogic.ireport.*;
37 /**
38  *
39  * @author Administrator
40  */

41 public class JRParameterDialog extends javax.swing.JDialog JavaDoc {
42     /** Creates new form JRParameterDialog */
43     JRParameter tmpParameter = null;
44     private SubDataset subDataset = null;
45     String JavaDoc originalName = null;
46     
47     public JRParameterDialog(java.awt.Frame JavaDoc parent, boolean modal) {
48         
49         super(parent, modal);
50         initComponents();
51         applyI18n();
52         this.jRTextExpressionAreaDefaultExpression.setText("");
53         setClassTypes();
54         this.jComboBoxType.setSelectedItem("java.lang.String");
55         jComboBoxType.setEditable(true);
56         
57         
58         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
59         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
60             public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
61                 jButtonCancelActionPerformed(e);
62             }
63         };
64        
65         getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
66         getRootPane().getActionMap().put("ESCAPE", escapeAction);
67
68
69         //to make the default button ...
70
this.getRootPane().setDefaultButton(this.jButtonOK);
71     }
72     
73     public void setClassTypes()
74     {
75         this.jComboBoxType.addItem("java.lang.String");
76         this.jComboBoxType.addItem("java.lang.Object");
77         this.jComboBoxType.addItem("java.lang.Boolean");
78         this.jComboBoxType.addItem("java.lang.Byte");
79         this.jComboBoxType.addItem("java.util.Date");
80         this.jComboBoxType.addItem("java.sql.Timestamp");
81         this.jComboBoxType.addItem("java.sql.Time");
82         this.jComboBoxType.addItem("java.lang.Double");
83         this.jComboBoxType.addItem("java.lang.Float");
84         this.jComboBoxType.addItem("java.lang.Integer");
85         this.jComboBoxType.addItem("java.io.InputStream");
86         this.jComboBoxType.addItem("java.lang.Long");
87         this.jComboBoxType.addItem("java.lang.Short");
88         this.jComboBoxType.addItem("java.math.BigDecimal");
89         this.jComboBoxType.addItem("net.sf.jasperreports.engine.JREmptyDataSource");
90     }
91     
92     /** This method is called from within the constructor to
93      * initialize the form.
94      * WARNING: Do NOT modify this code. The content of this method is
95      * always regenerated by the Form Editor.
96      */

97 // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
98
private void initComponents()
99     {
100         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
101         
102         jLabel1 = new javax.swing.JLabel JavaDoc();
103         jTextFieldName = new javax.swing.JTextField JavaDoc();
104         jLabel2 = new javax.swing.JLabel JavaDoc();
105         jComboBoxType = new javax.swing.JComboBox JavaDoc();
106         jCheckBoxIsForPrompting = new javax.swing.JCheckBox JavaDoc();
107         jLabel3 = new javax.swing.JLabel JavaDoc();
108         jRTextExpressionAreaDefaultExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea();
109         jLabel4 = new javax.swing.JLabel JavaDoc();
110         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
111         jTextAreaDescription = new javax.swing.JTextArea JavaDoc();
112         jPanel1 = new javax.swing.JPanel JavaDoc();
113         jButtonOK = new javax.swing.JButton JavaDoc();
114         jButtonCancel = new javax.swing.JButton JavaDoc();
115         
116         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
117         
118         setTitle("Add/modify parameter");
119         setModal(true);
120         addWindowListener(new java.awt.event.WindowAdapter JavaDoc()
121         {
122             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt)
123             {
124                 closeDialog(evt);
125             }
126         });
127         
128         jLabel1.setText("Parameter name");
129         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
130         gridBagConstraints.gridx = 0;
131         gridBagConstraints.gridy = 0;
132         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
133         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
134         getContentPane().add(jLabel1, gridBagConstraints);
135         
136         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
137         gridBagConstraints.gridx = 0;
138         gridBagConstraints.gridy = 1;
139         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
140         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
141         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 3, 3, 3);
142         getContentPane().add(jTextFieldName, gridBagConstraints);
143         
144         jLabel2.setText("Parameter class type");
145         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
146         gridBagConstraints.gridx = 0;
147         gridBagConstraints.gridy = 2;
148         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
149         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
150         getContentPane().add(jLabel2, gridBagConstraints);
151         
152         jComboBoxType.setEditable(true);
153         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
154         gridBagConstraints.gridx = 0;
155         gridBagConstraints.gridy = 3;
156         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
157         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 3, 3, 3);
158         getContentPane().add(jComboBoxType, gridBagConstraints);
159         
160         jCheckBoxIsForPrompting.setText("Is for prompting");
161         jCheckBoxIsForPrompting.setNextFocusableComponent(jRTextExpressionAreaDefaultExpression);
162         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
163         gridBagConstraints.gridx = 0;
164         gridBagConstraints.gridy = 4;
165         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
166         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
167         getContentPane().add(jCheckBoxIsForPrompting, gridBagConstraints);
168         
169         jLabel3.setText("Default value expression");
170         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
171         gridBagConstraints.gridx = 0;
172         gridBagConstraints.gridy = 5;
173         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
174         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
175         getContentPane().add(jLabel3, gridBagConstraints);
176         
177         jRTextExpressionAreaDefaultExpression.setBorder(new javax.swing.border.EtchedBorder JavaDoc());
178         jRTextExpressionAreaDefaultExpression.setCaretVisible(false);
179         jRTextExpressionAreaDefaultExpression.setElectricScroll(0);
180         jRTextExpressionAreaDefaultExpression.setMinimumSize(new java.awt.Dimension JavaDoc(0, 60));
181         jRTextExpressionAreaDefaultExpression.setPreferredSize(new java.awt.Dimension JavaDoc(310, 60));
182         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
183         gridBagConstraints.gridx = 0;
184         gridBagConstraints.gridy = 6;
185         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
186         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
187         gridBagConstraints.weighty = 1.0;
188         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 3, 3, 3);
189         getContentPane().add(jRTextExpressionAreaDefaultExpression, gridBagConstraints);
190         
191         jLabel4.setText("Parameter description");
192         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
193         gridBagConstraints.gridx = 0;
194         gridBagConstraints.gridy = 7;
195         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
196         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
197         getContentPane().add(jLabel4, gridBagConstraints);
198         
199         jScrollPane1.setMinimumSize(new java.awt.Dimension JavaDoc(22, 50));
200         jScrollPane1.setPreferredSize(new java.awt.Dimension JavaDoc(3, 50));
201         jTextAreaDescription.setMinimumSize(new java.awt.Dimension JavaDoc(0, 32));
202         jScrollPane1.setViewportView(jTextAreaDescription);
203         
204         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
205         gridBagConstraints.gridx = 0;
206         gridBagConstraints.gridy = 8;
207         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
208         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
209         gridBagConstraints.weighty = 1.0;
210         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 3, 3, 3);
211         getContentPane().add(jScrollPane1, gridBagConstraints);
212         
213         jPanel1.setLayout(new java.awt.FlowLayout JavaDoc(java.awt.FlowLayout.RIGHT));
214         
215         jButtonOK.setMnemonic('o');
216         jButtonOK.setText("OK");
217         jButtonOK.addActionListener(new java.awt.event.ActionListener JavaDoc()
218         {
219             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
220             {
221                 jButtonOKActionPerformed(evt);
222             }
223         });
224         
225         jPanel1.add(jButtonOK);
226         
227         jButtonCancel.setMnemonic('c');
228         jButtonCancel.setText("Cancel");
229         jButtonCancel.addActionListener(new java.awt.event.ActionListener JavaDoc()
230         {
231             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
232             {
233                 jButtonCancelActionPerformed(evt);
234             }
235         });
236         
237         jPanel1.add(jButtonCancel);
238         
239         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
240         gridBagConstraints.gridx = 0;
241         gridBagConstraints.gridy = 9;
242         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
243         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
244         gridBagConstraints.weightx = 1.0;
245         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
246         getContentPane().add(jPanel1, gridBagConstraints);
247         
248         pack();
249         java.awt.Dimension JavaDoc screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
250         java.awt.Dimension JavaDoc dialogSize = getSize();
251         setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2);
252     }
253 // </editor-fold>//GEN-END:initComponents
254

255     private void jButtonCancelActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
256
setVisible(false);
257         this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION);
258         dispose();
259     }//GEN-LAST:event_jButtonCancelActionPerformed
260

261     private void jButtonOKActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonOKActionPerformed
262
if (this.jTextFieldName.getText().trim().length() <= 0)
263         {
264             javax.swing.JOptionPane.showMessageDialog(this,
265                     I18n.getString( "messages.jRParameterDialog.notValidParameterName","Please insert a valid parameter name!"),
266                     I18n.getString( "messages.jRParameterDialog.notValidParameterNameCaption","Invalid parameter!"),
267                     javax.swing.JOptionPane.WARNING_MESSAGE );
268             return;
269         }
270         
271          if (getSubDataset() != null)
272          {
273              //check unique name...
274
String JavaDoc newName = this.jTextFieldName.getText();
275              if (originalName == null || !originalName.equals(newName))
276              {
277                  for (int i=0; i< getSubDataset().getParameters().size(); ++i)
278                  {
279                      JRParameter f = (JRParameter)getSubDataset().getParameters().get(i);
280                      if (f.getName().equals(newName))
281                      {
282                          javax.swing.JOptionPane.showMessageDialog(this,
283                             I18n.getString( "messages.jRParameterDialog.DuplicatedParameterName","A parameter with this name already exists!"),
284                             I18n.getString( "messages.jRParameterDialog.notValidParameterNameCaption","Invalid parameter!"),
285                             javax.swing.JOptionPane.WARNING_MESSAGE );
286                          return;
287                      }
288                  }
289              }
290          }
291         
292          
293         tmpParameter = new JRParameter( this.jTextFieldName.getText(), "java.lang.String",
294                                         this.jCheckBoxIsForPrompting.isSelected(),
295                                         this.jTextAreaDescription.getText());
296         if (this.jComboBoxType.getSelectedItem().toString().trim().length() != 0)
297         {
298             tmpParameter.setClassType( this.jComboBoxType.getSelectedItem().toString().trim() );
299         }
300         tmpParameter.setDefaultValueExpression( jRTextExpressionAreaDefaultExpression.getText());
301
302         setVisible(false);
303         this.setDialogResult( javax.swing.JOptionPane.OK_OPTION);
304         dispose();
305     }//GEN-LAST:event_jButtonOKActionPerformed
306

307     /** Closes the dialog */
308     private void closeDialog(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_closeDialog
309
setVisible(false);
310         this.setDialogResult( javax.swing.JOptionPane.CLOSED_OPTION);
311         dispose();
312     }//GEN-LAST:event_closeDialog
313

314     /** Getter for property tmpParameter.
315      * @return Value of property tmpParameter.
316      *
317      */

318     public it.businesslogic.ireport.JRParameter getParameter() {
319         return tmpParameter;
320     }
321     
322     /** Setter for property tmpParameter.
323      * @param tmpParameter New value of property tmpParameter.
324      *
325      */

326     public void setParameter(it.businesslogic.ireport.JRParameter tmpParameter) {
327         originalName = tmpParameter.getName();
328         this.jTextFieldName.setText( new String JavaDoc(tmpParameter.getName()));
329         this.jComboBoxType.setSelectedItem( new String JavaDoc(tmpParameter.getClassType()));
330         this.jCheckBoxIsForPrompting.setSelected( tmpParameter.isIsForPrompting() );
331         this.jTextAreaDescription.setText( new String JavaDoc(tmpParameter.getDescription()));
332         this.jRTextExpressionAreaDefaultExpression.setText( new String JavaDoc(tmpParameter.getDefaultValueExpression()));
333     }
334     
335     /** Getter for property dialogResult.
336      * @return Value of property dialogResult.
337      *
338      */

339     public int getDialogResult() {
340         return dialogResult;
341     }
342     
343     /** Setter for property dialogResult.
344      * @param dialogResult New value of property dialogResult.
345      *
346      */

347     public void setDialogResult(int dialogResult) {
348         this.dialogResult = dialogResult;
349     }
350     
351 // Variables declaration - do not modify//GEN-BEGIN:variables
352
private javax.swing.JButton JavaDoc jButtonCancel;
353     private javax.swing.JButton JavaDoc jButtonOK;
354     private javax.swing.JCheckBox JavaDoc jCheckBoxIsForPrompting;
355     private javax.swing.JComboBox JavaDoc jComboBoxType;
356     private javax.swing.JLabel JavaDoc jLabel1;
357     private javax.swing.JLabel JavaDoc jLabel2;
358     private javax.swing.JLabel JavaDoc jLabel3;
359     private javax.swing.JLabel JavaDoc jLabel4;
360     private javax.swing.JPanel JavaDoc jPanel1;
361     private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaDefaultExpression;
362     private javax.swing.JScrollPane JavaDoc jScrollPane1;
363     private javax.swing.JTextArea JavaDoc jTextAreaDescription;
364     private javax.swing.JTextField JavaDoc jTextFieldName;
365 // End of variables declaration//GEN-END:variables
366

367     private int dialogResult;
368     
369     public void setSubDataset(SubDataset subDataset) {
370     
371        this.subDataset = subDataset;
372        jRTextExpressionAreaDefaultExpression.setSubDataset( subDataset);
373        jRTextExpressionAreaDefaultExpression.getTokenMarker().setKeywordLookup(subDataset.getKeywordLookup());
374     }
375     
376     public void applyI18n(){
377                 // Start autogenerated code ----------------------
378
jCheckBoxIsForPrompting.setText(I18n.getString("jRParameterDialog.checkBoxIsForPrompting","Is for prompting"));
379                 // End autogenerated code ----------------------
380
// Start autogenerated code ----------------------
381
jButtonCancel.setText(I18n.getString("jRParameterDialog.buttonCancel","Cancel"));
382                 jButtonOK.setText(I18n.getString("jRParameterDialog.buttonOK","OK"));
383                 jLabel1.setText(I18n.getString("jRParameterDialog.label1","Parameter name"));
384                 jLabel2.setText(I18n.getString("jRParameterDialog.label2","Parameter class type"));
385                 jLabel3.setText(I18n.getString("jRParameterDialog.label3","Default value expression"));
386                 jLabel4.setText(I18n.getString("jRParameterDialog.label4","Parameter description"));
387                 // End autogenerated code ----------------------
388
}
389
390     public SubDataset getSubDataset() {
391         return subDataset;
392     }
393 }
394
Popular Tags