KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > crosstab > gui > CrosstabPropertiesDialog


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  * CrosstabPropertiesDialog.java
28  *
29  * Created on 4 gennaio 2006, 9.35
30  *
31  */

32
33 package it.businesslogic.ireport.crosstab.gui;
34 import it.businesslogic.ireport.gui.MainFrame;
35 import it.businesslogic.ireport.gui.event.CrosstabLayoutChangedEvent;
36 import it.businesslogic.ireport.gui.sheet.*;
37 import it.businesslogic.ireport.*;
38 import it.businesslogic.ireport.chart.Dataset;
39 import it.businesslogic.ireport.crosstab.CrosstabColumnGroup;
40 import it.businesslogic.ireport.crosstab.CrosstabGroup;
41 import it.businesslogic.ireport.crosstab.CrosstabRowGroup;
42 import it.businesslogic.ireport.crosstab.Measure;
43 import it.businesslogic.ireport.gui.JRSubreportParameterDialog;
44 import it.businesslogic.ireport.gui.JReportFrame;
45 import it.businesslogic.ireport.util.Misc;
46 import java.awt.image.CropImageFilter JavaDoc;
47 import java.util.ArrayList JavaDoc;
48 import java.util.Vector JavaDoc;
49 import java.awt.Color JavaDoc;
50
51 /**
52  *
53  * @author Administrator
54  */

55 import java.util.Enumeration JavaDoc;
56 import javax.swing.SwingUtilities JavaDoc;
57 import it.businesslogic.ireport.util.I18n;
58 public class CrosstabPropertiesDialog extends javax.swing.JDialog JavaDoc {
59     
60     private CrosstabReportElement currentCrosstabReportElement = null;
61     private int dialogResult = javax.swing.JOptionPane.OK_OPTION;
62     private JReportFrame jReportFrame = null;
63     private boolean init = false;
64     
65     /** Creates new form CrosstabPropertiesDialog */
66     public CrosstabPropertiesDialog(java.awt.Frame JavaDoc parent, boolean modal) {
67         super(parent, modal);
68         initAll();
69     }
70     
71     /** Creates new form CrosstabPropertiesDialog */
72     public CrosstabPropertiesDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
73         super(parent, modal);
74         initAll();
75     }
76     
77     public void initAll()
78     {
79         initComponents();
80         
81         applyI18n();
82         
83         this.jComboBoxResetType.addItem(new Tag("None",it.businesslogic.ireport.util.I18n.getString("resetType.None","None")));
84         this.jComboBoxResetType.addItem(new Tag("Report",it.businesslogic.ireport.util.I18n.getString("resetType.Report","Report")));
85         this.jComboBoxResetType.addItem(new Tag("Page",it.businesslogic.ireport.util.I18n.getString("resetType.Page","Page")));
86         this.jComboBoxResetType.addItem(new Tag("Column",it.businesslogic.ireport.util.I18n.getString("resetType.Column","Column")));
87         this.jComboBoxResetType.addItem(new Tag("Group",it.businesslogic.ireport.util.I18n.getString("resetType.Group","Group")));
88
89         this.jComboBoxIncrementType.addItem(new Tag("None",it.businesslogic.ireport.util.I18n.getString("incrementType.None","None")));
90         this.jComboBoxIncrementType.addItem(new Tag("Report",it.businesslogic.ireport.util.I18n.getString("incrementType.Report","Report")));
91         this.jComboBoxIncrementType.addItem(new Tag("Page",it.businesslogic.ireport.util.I18n.getString("incrementType.Page","Page")));
92         this.jComboBoxIncrementType.addItem(new Tag("Column",it.businesslogic.ireport.util.I18n.getString("incrementType.Column","Column")));
93         this.jComboBoxIncrementType.addItem(new Tag("Group",it.businesslogic.ireport.util.I18n.getString("incrementType.Group","Group")));
94          
95         jComboBoxDatasetConnectionType.addItem(new Tag("Don't use connection or datasource",it.businesslogic.ireport.util.I18n.getString("ConnectionType.1","Don't use connection or datasource")));
96         jComboBoxDatasetConnectionType.addItem(new Tag("Use connection expression",it.businesslogic.ireport.util.I18n.getString("ConnectionType.2","Use connection expression")));
97         jComboBoxDatasetConnectionType.addItem(new Tag("Use datasource expression",it.businesslogic.ireport.util.I18n.getString("ConnectionType.3","Use datasource expression")));
98         
99         this.jRTextExpressionAreaMapExpression.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
100             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
101                 jRTextExpressionAreaMapExpressionTextChanged();
102             }
103             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
104                 jRTextExpressionAreaMapExpressionTextChanged();
105             }
106             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
107                 jRTextExpressionAreaMapExpressionTextChanged();
108             }
109         });
110         
111         this.jRTextExpressionAreaFilterExpression.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
112             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
113                 jRTextExpressionAreaFilterExpressionTextChanged();
114             }
115             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
116                 jRTextExpressionAreaFilterExpressionTextChanged();
117             }
118             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
119                 jRTextExpressionAreaFilterExpressionTextChanged();
120             }
121         });
122         
123         this.jRTextExpressionAreaTextConnectionExpression.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
124             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
125                 jRTextExpressionAreaTextConnectionExpressionTextChanged();
126             }
127             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
128                 jRTextExpressionAreaTextConnectionExpressionTextChanged();
129             }
130             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
131                 jRTextExpressionAreaTextConnectionExpressionTextChanged();
132             }
133         });
134         
135         javax.swing.DefaultListSelectionModel JavaDoc dlsm = (javax.swing.DefaultListSelectionModel JavaDoc)this.jTableDatasetParameters.getSelectionModel();
136         dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
137             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
138                 jTableDatasetParametersListSelectionValueChanged(e);
139             }
140         });
141         
142         dlsm = (javax.swing.DefaultListSelectionModel JavaDoc)this.jTableMeasures.getSelectionModel();
143         dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
144             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
145                 jTableMeasuresListSelectionValueChanged(e);
146             }
147         });
148         
149         dlsm = (javax.swing.DefaultListSelectionModel JavaDoc)this.jTableRowGroups.getSelectionModel();
150         dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
151             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
152                 jTableRowGroupsListSelectionValueChanged(e);
153             }
154         });
155         
156         dlsm = (javax.swing.DefaultListSelectionModel JavaDoc)this.jTableColumnGroups.getSelectionModel();
157         dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
158             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
159                 jTableColumnGroupsListSelectionValueChanged(e);
160             }
161         });
162         
163         this.jRTextExpressionAreaMapExpression.setCrosstabElements( new Vector JavaDoc());
164         this.jRTextExpressionAreaTextConnectionExpression.setCrosstabElements( new Vector JavaDoc());
165         if (MainFrame.getMainInstance().getActiveReportFrame() != null)
166         {
167             this.jRTextExpressionAreaMapExpression.setSubDataset( MainFrame.getMainInstance().getActiveReportFrame().getReport());
168             this.jRTextExpressionAreaTextConnectionExpression.setSubDataset( MainFrame.getMainInstance().getActiveReportFrame().getReport());
169         }
170         this.pack();
171         it.businesslogic.ireport.util.Misc.centerFrame(this);
172         
173         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
174         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
175             public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
176                 setVisible(false);
177             }
178         };
179        
180         getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
181         getRootPane().getActionMap().put("ESCAPE", escapeAction);
182
183
184         //to make the default button ...
185

186     }
187     
188     
189     
190     public void applyI18n()
191     {
192                 // Start autogenerated code ----------------------
193
jCheckBoxPreSorted.setText(I18n.getString("crosstabPropertiesDialog.checkBoxPreSorted","Data is PreSorted"));
194                 jCheckBoxUseDataset.setText(I18n.getString("crosstabPropertiesDialog.checkBoxUseDataset","Use a dataset to fill the crosstab"));
195                 // End autogenerated code ----------------------
196
// Start autogenerated code ----------------------
197
jButtonAddColumnGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonAddColumnGroup","Add"));
198                 jButtonAddMeasure.setText(I18n.getString("crosstabPropertiesDialog.buttonAddMeasure","Add"));
199                 jButtonAddParameter.setText(I18n.getString("crosstabPropertiesDialog.buttonAddParameter","Add"));
200                 jButtonAddRowGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonAddRowGroup","Add"));
201                 jButtonDownColumnGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonDownColumnGroup","Down"));
202                 jButtonDownRowGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonDownRowGroup","Down"));
203                 jButtonModColumnGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonModColumnGroup","Modify"));
204                 jButtonModMeasure.setText(I18n.getString("crosstabPropertiesDialog.buttonModMeasure","Modify"));
205                 jButtonModParameter.setText(I18n.getString("crosstabPropertiesDialog.buttonModParameter","Modify"));
206                 jButtonModRowGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonModRowGroup","Modify"));
207                 jButtonRemColumnGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonRemColumnGroup","Remove"));
208                 jButtonRemMeasure.setText(I18n.getString("crosstabPropertiesDialog.buttonRemMeasure","Remove"));
209                 jButtonRemParameter.setText(I18n.getString("crosstabPropertiesDialog.buttonRemParameter","Remove"));
210                 jButtonRemRowGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonRemRowGroup","Remove"));
211                 jButtonUpColumnGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonUpColumnGroup","Up"));
212                 jButtonUpRowGroup.setText(I18n.getString("crosstabPropertiesDialog.buttonUpRowGroup","Up"));
213                 jLabel1.setText(I18n.getString("crosstabPropertiesDialog.label1","Row groups"));
214                 jLabel2.setText(I18n.getString("crosstabPropertiesDialog.label2","Column groups"));
215                 jLabel26.setText(I18n.getString("crosstabPropertiesDialog.label26","Parameters Map Expression"));
216                 jLabel41.setText(I18n.getString("crosstabPropertiesDialog.label41","Connection / Datasource Expression"));
217                 jLabelIncrementType1.setText(I18n.getString("crosstabPropertiesDialog.labelIncrementType1","Sub dataset"));
218                 jLabelIncrementWhenExpression.setText(I18n.getString("crosstabPropertiesDialog.labelIncrementWhenExpression","Increment When expression"));
219                 // End autogenerated code ----------------------
220

221         jLabelResetType.setText( it.businesslogic.ireport.util.I18n.getString("resetType","Reset type"));
222         jLabelResetGroup.setText( it.businesslogic.ireport.util.I18n.getString("resetGroup","Reset group"));
223         jLabelIncrementType.setText( it.businesslogic.ireport.util.I18n.getString("incrementType","Increment type"));
224         jLabelIncrementGroup.setText( it.businesslogic.ireport.util.I18n.getString("incrementGroup","Increment group"));
225
226         jButtonCopy.setText( it.businesslogic.ireport.util.I18n.getString("charts.copyDataset","Copy dataset"));
227         jButtonPaste.setText( it.businesslogic.ireport.util.I18n.getString("charts.pasteDataset","Paste dataset"));
228
229         jTableDatasetParameters.getColumnModel().getColumn(0).setHeaderValue( I18n.getString("crosstabPropertiesDialog.tablecolumn.parameterName","Parameter name") );
230         jTableDatasetParameters.getColumnModel().getColumn(1).setHeaderValue( I18n.getString("crosstabPropertiesDialog.tablecolumn.expression","Expression") );
231         jTableRowGroups.getColumnModel().getColumn(0).setHeaderValue( I18n.getString("crosstabPropertiesDialog.tablecolumn.rowGroup","Row group") );
232         jTableColumnGroups.getColumnModel().getColumn(0).setHeaderValue( I18n.getString("crosstabPropertiesDialog.tablecolumn.columnGroup","Column group") );
233         jTableMeasures.getColumnModel().getColumn(0).setHeaderValue( I18n.getString("crosstabPropertiesDialog.tablecolumn.measure","Measure") );
234         jTableMeasures.getColumnModel().getColumn(1).setHeaderValue( I18n.getString("crosstabPropertiesDialog.tablecolumn.class","Class") );
235
236         jTabbedPane1.setTitleAt(0, it.businesslogic.ireport.util.I18n.getString("crosstabPropertiesDialog.tab.CrosstabData","Crosstab data"));
237         jTabbedPane1.setTitleAt(1, it.businesslogic.ireport.util.I18n.getString("crosstabPropertiesDialog.tab.RowAndColumnGroups","Row and column groups"));
238         jTabbedPane1.setTitleAt(2, it.businesslogic.ireport.util.I18n.getString("crosstabPropertiesDialog.tab.Measures","Measures"));
239         
240         
241         jTabbedPane2.setTitleAt(0, it.businesslogic.ireport.util.I18n.getString("datasetRun.tab.Parameters","Parameters"));
242         jTabbedPane2.setTitleAt(1, it.businesslogic.ireport.util.I18n.getString("datasetRun.tab.ParametersMapExp","Parameters map exp."));
243         jTabbedPane2.setTitleAt(2, it.businesslogic.ireport.util.I18n.getString("datasetRun.tab.ConnectionDatasourceExp","Connection/Datasource exp."));
244         
245         ((javax.swing.border.TitledBorder JavaDoc)jPanelDataset.getBorder()).setTitle( I18n.getString("datasetRun.panelBorder.Bucket","Dataset") );
246         ((javax.swing.border.TitledBorder JavaDoc)jPanel1.getBorder()).setTitle( I18n.getString("datasetRun.panelBorder.DatasetRun","Dataset Run") );
247         
248         this.setTitle(it.businesslogic.ireport.util.I18n.getString("gui.CrosstabPropertiesDialog.title","Crosstab properties"));
249         this.getRootPane().updateUI();
250     }
251     
252     /** This method is called from within the constructor to
253      * initialize the form.
254      * WARNING: Do NOT modify this code. The content of this method is
255      * always regenerated by the Form Editor.
256      */

257     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
258
private void initComponents() {
259         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
260
261         jTabbedPane1 = new javax.swing.JTabbedPane JavaDoc();
262         jPanel8 = new javax.swing.JPanel JavaDoc();
263         jPanelDataset = new javax.swing.JPanel JavaDoc();
264         jLabelResetType = new javax.swing.JLabel JavaDoc();
265         jComboBoxResetType = new javax.swing.JComboBox JavaDoc();
266         jLabelResetGroup = new javax.swing.JLabel JavaDoc();
267         jComboBoxResetGroup = new javax.swing.JComboBox JavaDoc();
268         jLabelIncrementType = new javax.swing.JLabel JavaDoc();
269         jComboBoxIncrementType = new javax.swing.JComboBox JavaDoc();
270         jLabelIncrementGroup = new javax.swing.JLabel JavaDoc();
271         jComboBoxIncrementGroup = new javax.swing.JComboBox JavaDoc();
272         jPanel1 = new javax.swing.JPanel JavaDoc();
273         jLabelIncrementType1 = new javax.swing.JLabel JavaDoc();
274         jComboBoxSubDataset = new javax.swing.JComboBox JavaDoc();
275         jPanel7 = new javax.swing.JPanel JavaDoc();
276         jTabbedPane2 = new javax.swing.JTabbedPane JavaDoc();
277         jPanel4 = new javax.swing.JPanel JavaDoc();
278         jPanel16 = new javax.swing.JPanel JavaDoc();
279         jScrollPane2 = new javax.swing.JScrollPane JavaDoc();
280         jTableDatasetParameters = new javax.swing.JTable JavaDoc();
281         jPanel10 = new javax.swing.JPanel JavaDoc();
282         jButtonAddParameter = new javax.swing.JButton JavaDoc();
283         jButtonModParameter = new javax.swing.JButton JavaDoc();
284         jButtonRemParameter = new javax.swing.JButton JavaDoc();
285         jPanel13 = new javax.swing.JPanel JavaDoc();
286         jPanel5 = new javax.swing.JPanel JavaDoc();
287         jLabel26 = new javax.swing.JLabel JavaDoc();
288         jRTextExpressionAreaMapExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea();
289         jPanel6 = new javax.swing.JPanel JavaDoc();
290         jLabel41 = new javax.swing.JLabel JavaDoc();
291         jComboBoxDatasetConnectionType = new javax.swing.JComboBox JavaDoc();
292         jRTextExpressionAreaTextConnectionExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea();
293         jPanel2 = new javax.swing.JPanel JavaDoc();
294         jButtonCopy = new javax.swing.JButton JavaDoc();
295         jButtonPaste = new javax.swing.JButton JavaDoc();
296         jPanel3 = new javax.swing.JPanel JavaDoc();
297         jCheckBoxPreSorted = new javax.swing.JCheckBox JavaDoc();
298         jLabelIncrementWhenExpression = new javax.swing.JLabel JavaDoc();
299         jRTextExpressionAreaFilterExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea();
300         jCheckBoxUseDataset = new javax.swing.JCheckBox JavaDoc();
301         jPanel9 = new javax.swing.JPanel JavaDoc();
302         jLabel1 = new javax.swing.JLabel JavaDoc();
303         jPanel18 = new javax.swing.JPanel JavaDoc();
304         jScrollPane4 = new javax.swing.JScrollPane JavaDoc();
305         jTableRowGroups = new javax.swing.JTable JavaDoc();
306         jPanel15 = new javax.swing.JPanel JavaDoc();
307         jButtonAddRowGroup = new javax.swing.JButton JavaDoc();
308         jButtonModRowGroup = new javax.swing.JButton JavaDoc();
309         jButtonRemRowGroup = new javax.swing.JButton JavaDoc();
310         jButtonUpRowGroup = new javax.swing.JButton JavaDoc();
311         jButtonDownRowGroup = new javax.swing.JButton JavaDoc();
312         jPanel19 = new javax.swing.JPanel JavaDoc();
313         jPanel20 = new javax.swing.JPanel JavaDoc();
314         jScrollPane5 = new javax.swing.JScrollPane JavaDoc();
315         jTableColumnGroups = new javax.swing.JTable JavaDoc();
316         jPanel21 = new javax.swing.JPanel JavaDoc();
317         jButtonAddColumnGroup = new javax.swing.JButton JavaDoc();
318         jButtonModColumnGroup = new javax.swing.JButton JavaDoc();
319         jButtonRemColumnGroup = new javax.swing.JButton JavaDoc();
320         jButtonUpColumnGroup = new javax.swing.JButton JavaDoc();
321         jButtonDownColumnGroup = new javax.swing.JButton JavaDoc();
322         jPanel22 = new javax.swing.JPanel JavaDoc();
323         jLabel2 = new javax.swing.JLabel JavaDoc();
324         jPanel11 = new javax.swing.JPanel JavaDoc();
325         jPanel17 = new javax.swing.JPanel JavaDoc();
326         jScrollPane3 = new javax.swing.JScrollPane JavaDoc();
327         jTableMeasures = new javax.swing.JTable JavaDoc();
328         jPanel12 = new javax.swing.JPanel JavaDoc();
329         jButtonAddMeasure = new javax.swing.JButton JavaDoc();
330         jButtonModMeasure = new javax.swing.JButton JavaDoc();
331         jButtonRemMeasure = new javax.swing.JButton JavaDoc();
332         jPanel14 = new javax.swing.JPanel JavaDoc();
333
334         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
335
336         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
337         setTitle("Crosstab properties");
338         jPanel8.setLayout(new java.awt.GridBagLayout JavaDoc());
339
340         jPanelDataset.setLayout(new java.awt.GridBagLayout JavaDoc());
341
342         jPanelDataset.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Dataset", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font JavaDoc("Dialog", 0, 11)));
343         jPanelDataset.setPreferredSize(new java.awt.Dimension JavaDoc(460, 420));
344         jLabelResetType.setText("Reset type");
345         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
346         gridBagConstraints.gridx = 0;
347         gridBagConstraints.gridy = 4;
348         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
349         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
350         jPanelDataset.add(jLabelResetType, gridBagConstraints);
351
352         jComboBoxResetType.addActionListener(new java.awt.event.ActionListener JavaDoc() {
353             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
354                 jComboBoxResetTypeActionPerformed(evt);
355             }
356         });
357
358         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
359         gridBagConstraints.gridx = 0;
360         gridBagConstraints.gridy = 5;
361         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
362         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
363         gridBagConstraints.weightx = 1.0;
364         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
365         jPanelDataset.add(jComboBoxResetType, gridBagConstraints);
366
367         jLabelResetGroup.setText("Reset group");
368         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
369         gridBagConstraints.gridx = 1;
370         gridBagConstraints.gridy = 4;
371         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
372         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
373         jPanelDataset.add(jLabelResetGroup, gridBagConstraints);
374
375         jComboBoxResetGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
376             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
377                 jComboBoxResetGroupActionPerformed(evt);
378             }
379         });
380
381         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
382         gridBagConstraints.gridx = 1;
383         gridBagConstraints.gridy = 5;
384         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
385         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
386         gridBagConstraints.weightx = 1.0;
387         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
388         jPanelDataset.add(jComboBoxResetGroup, gridBagConstraints);
389
390         jLabelIncrementType.setText("Increment type");
391         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
392         gridBagConstraints.gridx = 0;
393         gridBagConstraints.gridy = 6;
394         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
395         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
396         jPanelDataset.add(jLabelIncrementType, gridBagConstraints);
397
398         jComboBoxIncrementType.addActionListener(new java.awt.event.ActionListener JavaDoc() {
399             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
400                 jComboBoxIncrementTypeActionPerformed(evt);
401             }
402         });
403
404         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
405         gridBagConstraints.gridx = 0;
406         gridBagConstraints.gridy = 7;
407         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
408         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
409         gridBagConstraints.weightx = 1.0;
410         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
411         jPanelDataset.add(jComboBoxIncrementType, gridBagConstraints);
412
413         jLabelIncrementGroup.setText("Increment group");
414         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
415         gridBagConstraints.gridx = 1;
416         gridBagConstraints.gridy = 6;
417         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
418         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
419         jPanelDataset.add(jLabelIncrementGroup, gridBagConstraints);
420
421         jComboBoxIncrementGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
422             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
423                 jComboBoxIncrementGroupActionPerformed(evt);
424             }
425         });
426
427         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
428         gridBagConstraints.gridx = 1;
429         gridBagConstraints.gridy = 7;
430         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
431         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
432         gridBagConstraints.weightx = 1.0;
433         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
434         jPanelDataset.add(jComboBoxIncrementGroup, gridBagConstraints);
435
436         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
437
438         jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Dataset run", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font JavaDoc("Dialog", 0, 11)));
439         jPanel1.setMinimumSize(new java.awt.Dimension JavaDoc(329, 180));
440         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(430, 180));
441         jLabelIncrementType1.setText("Sub dataset");
442         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
443         gridBagConstraints.gridx = 0;
444         gridBagConstraints.gridy = 0;
445         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
446         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
447         jPanel1.add(jLabelIncrementType1, gridBagConstraints);
448
449         jComboBoxSubDataset.setMinimumSize(new java.awt.Dimension JavaDoc(23, 22));
450         jComboBoxSubDataset.addActionListener(new java.awt.event.ActionListener JavaDoc() {
451             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
452                 jComboBoxSubDatasetActionPerformed(evt);
453             }
454         });
455
456         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
457         gridBagConstraints.gridx = 1;
458         gridBagConstraints.gridy = 0;
459         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
460         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
461         gridBagConstraints.weightx = 1.0;
462         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 3, 3);
463         jPanel1.add(jComboBoxSubDataset, gridBagConstraints);
464
465         jPanel7.setLayout(new java.awt.GridBagLayout JavaDoc());
466
467         jPanel4.setLayout(new java.awt.GridBagLayout JavaDoc());
468
469         jPanel16.setLayout(new java.awt.GridBagLayout JavaDoc());
470
471         jScrollPane2.setMinimumSize(new java.awt.Dimension JavaDoc(300, 50));
472         jScrollPane2.setPreferredSize(new java.awt.Dimension JavaDoc(300, 50));
473         jTableDatasetParameters.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
474             new Object JavaDoc [][] {
475
476             },
477             new String JavaDoc [] {
478                 "Parameter", "Expression"
479             }
480         ) {
481             boolean[] canEdit = new boolean [] {
482                 false, false
483             };
484
485             public boolean isCellEditable(int rowIndex, int columnIndex) {
486                 return canEdit [columnIndex];
487             }
488         });
489         jTableDatasetParameters.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
490             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
491                 jTableDatasetParametersMouseClicked(evt);
492             }
493         });
494
495         jScrollPane2.setViewportView(jTableDatasetParameters);
496
497         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
498         gridBagConstraints.gridx = 0;
499         gridBagConstraints.gridy = 0;
500         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
501         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
502         gridBagConstraints.weightx = 1.0;
503         gridBagConstraints.weighty = 1.0;
504         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
505         jPanel16.add(jScrollPane2, gridBagConstraints);
506
507         jPanel10.setLayout(new java.awt.GridBagLayout JavaDoc());
508
509         jButtonAddParameter.setText("Add");
510         jButtonAddParameter.addActionListener(new java.awt.event.ActionListener JavaDoc() {
511             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
512                 jButtonAddParameterActionPerformed(evt);
513             }
514         });
515
516         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
517         gridBagConstraints.gridx = 0;
518         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
519         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
520         gridBagConstraints.weightx = 1.0;
521         jPanel10.add(jButtonAddParameter, gridBagConstraints);
522         jButtonAddParameter.getAccessibleContext().setAccessibleName("");
523
524         jButtonModParameter.setText("Modify");
525         jButtonModParameter.setEnabled(false);
526         jButtonModParameter.addActionListener(new java.awt.event.ActionListener JavaDoc() {
527             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
528                 jButtonModParameterActionPerformed(evt);
529             }
530         });
531
532         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
533         gridBagConstraints.gridx = 0;
534         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
535         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
536         gridBagConstraints.weightx = 1.0;
537         jPanel10.add(jButtonModParameter, gridBagConstraints);
538         jButtonModParameter.getAccessibleContext().setAccessibleName("");
539
540         jButtonRemParameter.setText("Remove");
541         jButtonRemParameter.setEnabled(false);
542         jButtonRemParameter.addActionListener(new java.awt.event.ActionListener JavaDoc() {
543             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
544                 jButtonRemParameterActionPerformed(evt);
545             }
546         });
547
548         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
549         gridBagConstraints.gridx = 0;
550         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
551         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
552         gridBagConstraints.weightx = 1.0;
553         jPanel10.add(jButtonRemParameter, gridBagConstraints);
554         jButtonRemParameter.getAccessibleContext().setAccessibleName("");
555
556         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
557         gridBagConstraints.gridx = 0;
558         gridBagConstraints.weightx = 1.0;
559         gridBagConstraints.weighty = 1.0;
560         jPanel10.add(jPanel13, gridBagConstraints);
561
562         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
563         gridBagConstraints.gridy = 0;
564         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
565         gridBagConstraints.weighty = 1.0;
566         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
567         jPanel16.add(jPanel10, gridBagConstraints);
568
569         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
570         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
571         gridBagConstraints.weightx = 1.0;
572         gridBagConstraints.weighty = 1.0;
573         jPanel4.add(jPanel16, gridBagConstraints);
574
575         jTabbedPane2.addTab("Parameters", jPanel4);
576
577         jPanel5.setLayout(new java.awt.GridBagLayout JavaDoc());
578
579         jLabel26.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
580         jLabel26.setText("Parameters Map Expression");
581         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
582         gridBagConstraints.gridx = 0;
583         gridBagConstraints.gridy = 2;
584         gridBagConstraints.gridwidth = 3;
585         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
586         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 8, 0, 0);
587         jPanel5.add(jLabel26, gridBagConstraints);
588
589         jRTextExpressionAreaMapExpression.setBorder(javax.swing.BorderFactory.createEtchedBorder());
590         jRTextExpressionAreaMapExpression.setElectricScroll(0);
591         jRTextExpressionAreaMapExpression.setMinimumSize(new java.awt.Dimension JavaDoc(0, 0));
592         jRTextExpressionAreaMapExpression.setPreferredSize(new java.awt.Dimension JavaDoc(300, 50));
593         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
594         gridBagConstraints.gridx = 0;
595         gridBagConstraints.gridy = 3;
596         gridBagConstraints.gridwidth = 3;
597         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
598         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
599         gridBagConstraints.weightx = 1.0;
600         gridBagConstraints.weighty = 1.0;
601         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 4, 4);
602         jPanel5.add(jRTextExpressionAreaMapExpression, gridBagConstraints);
603
604         jTabbedPane2.addTab("Parameters map exp", jPanel5);
605
606         jPanel6.setLayout(new java.awt.GridBagLayout JavaDoc());
607
608         jLabel41.setText("Connection / Datasource Expression");
609         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
610         gridBagConstraints.gridx = 0;
611         gridBagConstraints.gridy = 2;
612         gridBagConstraints.gridwidth = 2;
613         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
614         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 6, 0, 0);
615         jPanel6.add(jLabel41, gridBagConstraints);
616
617         jComboBoxDatasetConnectionType.setMinimumSize(new java.awt.Dimension JavaDoc(300, 20));
618         jComboBoxDatasetConnectionType.setPreferredSize(new java.awt.Dimension JavaDoc(300, 20));
619         jComboBoxDatasetConnectionType.addActionListener(new java.awt.event.ActionListener JavaDoc() {
620             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
621                 jComboBoxDatasetConnectionTypeActionPerformed(evt);
622             }
623         });
624
625         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
626         gridBagConstraints.gridx = 0;
627         gridBagConstraints.gridy = 3;
628         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
629         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
630         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 6, 0, 6);
631         jPanel6.add(jComboBoxDatasetConnectionType, gridBagConstraints);
632
633         jRTextExpressionAreaTextConnectionExpression.setBorder(javax.swing.BorderFactory.createEtchedBorder());
634         jRTextExpressionAreaTextConnectionExpression.setEnabled(false);
635         jRTextExpressionAreaTextConnectionExpression.setMinimumSize(new java.awt.Dimension JavaDoc(300, 50));
636         jRTextExpressionAreaTextConnectionExpression.setPreferredSize(new java.awt.Dimension JavaDoc(300, 50));
637         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
638         gridBagConstraints.gridx = 0;
639         gridBagConstraints.gridy = 4;
640         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
641         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
642         gridBagConstraints.weightx = 1.0;
643         gridBagConstraints.weighty = 1.0;
644         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 4, 4);
645         jPanel6.add(jRTextExpressionAreaTextConnectionExpression, gridBagConstraints);
646
647         jTabbedPane2.addTab("Connection/Datasource exp", jPanel6);
648
649         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
650         gridBagConstraints.gridy = 1;
651         gridBagConstraints.gridwidth = 2;
652         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
653         gridBagConstraints.weightx = 1.0;
654         gridBagConstraints.weighty = 1.0;
655         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
656         jPanel7.add(jTabbedPane2, gridBagConstraints);
657
658         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
659         gridBagConstraints.gridx = 0;
660         gridBagConstraints.gridwidth = 2;
661         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
662         gridBagConstraints.weightx = 1.0;
663         gridBagConstraints.weighty = 1.0;
664         jPanel1.add(jPanel7, gridBagConstraints);
665
666         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
667         gridBagConstraints.gridy = 100;
668         gridBagConstraints.gridwidth = 2;
669         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
670         gridBagConstraints.weightx = 1.0;
671         gridBagConstraints.weighty = 1.0;
672         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
673         jPanelDataset.add(jPanel1, gridBagConstraints);
674
675         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
676
677         jButtonCopy.setText("Copy dataset");
678         jButtonCopy.addActionListener(new java.awt.event.ActionListener JavaDoc() {
679             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
680                 jButtonCopyActionPerformed(evt);
681             }
682         });
683
684         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
685         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
686         jPanel2.add(jButtonCopy, gridBagConstraints);
687
688         jButtonPaste.setText("Paste dataset");
689         jButtonPaste.addActionListener(new java.awt.event.ActionListener JavaDoc() {
690             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
691                 jButtonPasteActionPerformed(evt);
692             }
693         });
694
695         jPanel2.add(jButtonPaste, new java.awt.GridBagConstraints JavaDoc());
696
697         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
698         gridBagConstraints.weightx = 1.0;
699         jPanel2.add(jPanel3, gridBagConstraints);
700
701         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
702         gridBagConstraints.gridx = 0;
703         gridBagConstraints.gridy = 101;
704         gridBagConstraints.gridwidth = 2;
705         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
706         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 0);
707         jPanelDataset.add(jPanel2, gridBagConstraints);
708
709         jCheckBoxPreSorted.setText("Data is PreSorted");
710         jCheckBoxPreSorted.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
711         jCheckBoxPreSorted.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
712         jCheckBoxPreSorted.addActionListener(new java.awt.event.ActionListener JavaDoc() {
713             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
714                 jCheckBoxPreSortedActionPerformed(evt);
715             }
716         });
717
718         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
719         gridBagConstraints.gridwidth = 2;
720         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
721         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
722         jPanelDataset.add(jCheckBoxPreSorted, gridBagConstraints);
723
724         jLabelIncrementWhenExpression.setText("Increment When expression");
725         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
726         gridBagConstraints.gridx = 0;
727         gridBagConstraints.gridy = 8;
728         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
729         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 3, 0, 3);
730         jPanelDataset.add(jLabelIncrementWhenExpression, gridBagConstraints);
731
732         jRTextExpressionAreaFilterExpression.setBorder(javax.swing.BorderFactory.createEtchedBorder());
733         jRTextExpressionAreaFilterExpression.setCaretVisible(false);
734         jRTextExpressionAreaFilterExpression.setElectricScroll(0);
735         jRTextExpressionAreaFilterExpression.setMinimumSize(new java.awt.Dimension JavaDoc(400, 50));
736         jRTextExpressionAreaFilterExpression.setPreferredSize(new java.awt.Dimension JavaDoc(400, 50));
737         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
738         gridBagConstraints.gridx = 0;
739         gridBagConstraints.gridy = 9;
740         gridBagConstraints.gridwidth = 2;
741         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
742         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
743         gridBagConstraints.weightx = 1.0;
744         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 3, 3, 3);
745         jPanelDataset.add(jRTextExpressionAreaFilterExpression, gridBagConstraints);
746
747         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
748         gridBagConstraints.gridy = 2;
749         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
750         gridBagConstraints.weightx = 1.0;
751         gridBagConstraints.weighty = 1.0;
752         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
753         jPanel8.add(jPanelDataset, gridBagConstraints);
754
755         jCheckBoxUseDataset.setText("Use a dataset to fill the crosstab");
756         jCheckBoxUseDataset.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
757         jCheckBoxUseDataset.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
758         jCheckBoxUseDataset.addActionListener(new java.awt.event.ActionListener JavaDoc() {
759             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
760                 jCheckBoxUseDatasetActionPerformed(evt);
761             }
762         });
763
764         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
765         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
766         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 8, 8, 4);
767         jPanel8.add(jCheckBoxUseDataset, gridBagConstraints);
768
769         jTabbedPane1.addTab("Crosstab data", jPanel8);
770
771         jPanel9.setLayout(new java.awt.GridBagLayout JavaDoc());
772
773         jLabel1.setText("Row groups");
774         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
775         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
776         gridBagConstraints.weightx = 1.0;
777         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 0, 6);
778         jPanel9.add(jLabel1, gridBagConstraints);
779
780         jPanel18.setLayout(new java.awt.GridBagLayout JavaDoc());
781
782         jScrollPane4.setMinimumSize(new java.awt.Dimension JavaDoc(300, 50));
783         jScrollPane4.setPreferredSize(new java.awt.Dimension JavaDoc(300, 50));
784         jTableRowGroups.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
785             new Object JavaDoc [][] {
786
787             },
788             new String JavaDoc [] {
789                 "Row group"
790             }
791         ) {
792             boolean[] canEdit = new boolean [] {
793                 false
794             };
795
796             public boolean isCellEditable(int rowIndex, int columnIndex) {
797                 return canEdit [columnIndex];
798             }
799         });
800         jTableRowGroups.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
801             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
802                 jTableRowGroupsMouseClicked(evt);
803             }
804         });
805
806         jScrollPane4.setViewportView(jTableRowGroups);
807
808         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
809         gridBagConstraints.gridx = 0;
810         gridBagConstraints.gridy = 7;
811         gridBagConstraints.gridwidth = 3;
812         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
813         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
814         gridBagConstraints.weightx = 1.0;
815         gridBagConstraints.weighty = 1.0;
816         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 6, 0, 6);
817         jPanel18.add(jScrollPane4, gridBagConstraints);
818
819         jPanel15.setLayout(new java.awt.GridBagLayout JavaDoc());
820
821         jButtonAddRowGroup.setText("Add");
822         jButtonAddRowGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
823             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
824                 jButtonAddRowGroupActionPerformed(evt);
825             }
826         });
827
828         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
829         gridBagConstraints.gridx = 0;
830         gridBagConstraints.gridy = 0;
831         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
832         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 6, 0);
833         jPanel15.add(jButtonAddRowGroup, gridBagConstraints);
834
835         jButtonModRowGroup.setText("Modify");
836         jButtonModRowGroup.setEnabled(false);
837         jButtonModRowGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
838             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
839                 jButtonModRowGroupActionPerformed(evt);
840             }
841         });
842
843         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
844         gridBagConstraints.gridx = 1;
845         gridBagConstraints.gridy = 0;
846         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
847         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
848         jPanel15.add(jButtonModRowGroup, gridBagConstraints);
849
850         jButtonRemRowGroup.setText("Remove");
851         jButtonRemRowGroup.setEnabled(false);
852         jButtonRemRowGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
853             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
854                 jButtonRemRowGroupActionPerformed(evt);
855             }
856         });
857
858         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
859         gridBagConstraints.gridx = 2;
860         gridBagConstraints.gridy = 0;
861         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
862         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
863         jPanel15.add(jButtonRemRowGroup, gridBagConstraints);
864
865         jButtonUpRowGroup.setText("Up");
866         jButtonUpRowGroup.setEnabled(false);
867         jButtonUpRowGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
868             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
869                 jButtonUpRowGroupActionPerformed(evt);
870             }
871         });
872
873         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
874         gridBagConstraints.gridx = 3;
875         gridBagConstraints.gridy = 0;
876         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
877         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
878         jPanel15.add(jButtonUpRowGroup, gridBagConstraints);
879
880         jButtonDownRowGroup.setText("Down");
881         jButtonDownRowGroup.setEnabled(false);
882         jButtonDownRowGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
883             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
884                 jButtonDownRowGroupActionPerformed(evt);
885             }
886         });
887
888         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
889         gridBagConstraints.gridx = 4;
890         gridBagConstraints.gridy = 0;
891         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
892         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
893         jPanel15.add(jButtonDownRowGroup, gridBagConstraints);
894
895         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
896         gridBagConstraints.gridx = 99;
897         gridBagConstraints.weightx = 1.0;
898         jPanel15.add(jPanel19, gridBagConstraints);
899
900         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
901         gridBagConstraints.gridy = 9;
902         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
903         gridBagConstraints.weightx = 1.0;
904         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 0, 6);
905         jPanel18.add(jPanel15, gridBagConstraints);
906
907         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
908         gridBagConstraints.gridy = 2;
909         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
910         gridBagConstraints.weightx = 1.0;
911         gridBagConstraints.weighty = 0.5;
912         jPanel9.add(jPanel18, gridBagConstraints);
913
914         jPanel20.setLayout(new java.awt.GridBagLayout JavaDoc());
915
916         jScrollPane5.setMinimumSize(new java.awt.Dimension JavaDoc(300, 50));
917         jScrollPane5.setPreferredSize(new java.awt.Dimension JavaDoc(300, 50));
918         jTableColumnGroups.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
919             new Object JavaDoc [][] {
920
921             },
922             new String JavaDoc [] {
923                 "Column group"
924             }
925         ) {
926             boolean[] canEdit = new boolean [] {
927                 false
928             };
929
930             public boolean isCellEditable(int rowIndex, int columnIndex) {
931                 return canEdit [columnIndex];
932             }
933         });
934         jTableColumnGroups.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
935             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
936                 jTableColumnGroupsMouseClicked(evt);
937             }
938         });
939
940         jScrollPane5.setViewportView(jTableColumnGroups);
941
942         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
943         gridBagConstraints.gridx = 0;
944         gridBagConstraints.gridy = 7;
945         gridBagConstraints.gridwidth = 3;
946         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
947         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
948         gridBagConstraints.weightx = 1.0;
949         gridBagConstraints.weighty = 1.0;
950         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 6, 0, 6);
951         jPanel20.add(jScrollPane5, gridBagConstraints);
952
953         jPanel21.setLayout(new java.awt.GridBagLayout JavaDoc());
954
955         jButtonAddColumnGroup.setText("Add");
956         jButtonAddColumnGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
957             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
958                 jButtonAddColumnGroupActionPerformed(evt);
959             }
960         });
961
962         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
963         gridBagConstraints.gridx = 0;
964         gridBagConstraints.gridy = 0;
965         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
966         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 6, 0);
967         jPanel21.add(jButtonAddColumnGroup, gridBagConstraints);
968
969         jButtonModColumnGroup.setText("Modify");
970         jButtonModColumnGroup.setEnabled(false);
971         jButtonModColumnGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
972             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
973                 jButtonModColumnGroupActionPerformed(evt);
974             }
975         });
976
977         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
978         gridBagConstraints.gridx = 1;
979         gridBagConstraints.gridy = 0;
980         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
981         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
982         jPanel21.add(jButtonModColumnGroup, gridBagConstraints);
983
984         jButtonRemColumnGroup.setText("Remove");
985         jButtonRemColumnGroup.setEnabled(false);
986         jButtonRemColumnGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
987             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
988                 jButtonRemColumnGroupActionPerformed(evt);
989             }
990         });
991
992         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
993         gridBagConstraints.gridx = 2;
994         gridBagConstraints.gridy = 0;
995         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
996         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
997         jPanel21.add(jButtonRemColumnGroup, gridBagConstraints);
998
999         jButtonUpColumnGroup.setText("Up");
1000        jButtonUpColumnGroup.setEnabled(false);
1001        jButtonUpColumnGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1002            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1003                jButtonUpColumnGroupActionPerformed(evt);
1004            }
1005        });
1006
1007        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1008        gridBagConstraints.gridx = 3;
1009        gridBagConstraints.gridy = 0;
1010        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1011        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
1012        jPanel21.add(jButtonUpColumnGroup, gridBagConstraints);
1013
1014        jButtonDownColumnGroup.setText("Down");
1015        jButtonDownColumnGroup.setEnabled(false);
1016        jButtonDownColumnGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1017            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1018                jButtonDownColumnGroupActionPerformed(evt);
1019            }
1020        });
1021
1022        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1023        gridBagConstraints.gridx = 4;
1024        gridBagConstraints.gridy = 0;
1025        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1026        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
1027        jPanel21.add(jButtonDownColumnGroup, gridBagConstraints);
1028
1029        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1030        gridBagConstraints.gridx = 99;
1031        gridBagConstraints.weightx = 1.0;
1032        jPanel21.add(jPanel22, gridBagConstraints);
1033
1034        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1035        gridBagConstraints.gridy = 9;
1036        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1037        gridBagConstraints.weightx = 1.0;
1038        gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 0, 6);
1039        jPanel20.add(jPanel21, gridBagConstraints);
1040
1041        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1042        gridBagConstraints.gridy = 4;
1043        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1044        gridBagConstraints.weightx = 1.0;
1045        gridBagConstraints.weighty = 0.5;
1046        jPanel9.add(jPanel20, gridBagConstraints);
1047
1048        jLabel2.setText("Column groups");
1049        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1050        gridBagConstraints.gridy = 3;
1051        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1052        gridBagConstraints.weightx = 1.0;
1053        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 0, 6);
1054        jPanel9.add(jLabel2, gridBagConstraints);
1055
1056        jTabbedPane1.addTab("Row and column groups", jPanel9);
1057
1058        jPanel11.setLayout(new java.awt.GridBagLayout JavaDoc());
1059
1060        jPanel17.setLayout(new java.awt.GridBagLayout JavaDoc());
1061
1062        jScrollPane3.setMinimumSize(new java.awt.Dimension JavaDoc(300, 50));
1063        jScrollPane3.setPreferredSize(new java.awt.Dimension JavaDoc(300, 50));
1064        jTableMeasures.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
1065            new Object JavaDoc [][] {
1066
1067            },
1068            new String JavaDoc [] {
1069                "Measure", "Class"
1070            }
1071        ) {
1072            boolean[] canEdit = new boolean [] {
1073                false, false
1074            };
1075
1076            public boolean isCellEditable(int rowIndex, int columnIndex) {
1077                return canEdit [columnIndex];
1078            }
1079        });
1080        jTableMeasures.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
1081            public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
1082                jTableMeasuresMouseClicked(evt);
1083            }
1084        });
1085
1086        jScrollPane3.setViewportView(jTableMeasures);
1087
1088        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1089        gridBagConstraints.gridx = 0;
1090        gridBagConstraints.gridy = 7;
1091        gridBagConstraints.gridwidth = 3;
1092        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1093        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1094        gridBagConstraints.weightx = 1.0;
1095        gridBagConstraints.weighty = 1.0;
1096        gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 6, 0, 6);
1097        jPanel17.add(jScrollPane3, gridBagConstraints);
1098
1099        jPanel12.setLayout(new java.awt.GridBagLayout JavaDoc());
1100
1101        jButtonAddMeasure.setText("Add");
1102        jButtonAddMeasure.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1103            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1104                jButtonAddMeasureActionPerformed(evt);
1105            }
1106        });
1107
1108        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1109        gridBagConstraints.gridx = 0;
1110        gridBagConstraints.gridy = 0;
1111        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1112        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 6, 0);
1113        jPanel12.add(jButtonAddMeasure, gridBagConstraints);
1114
1115        jButtonModMeasure.setText("Modify");
1116        jButtonModMeasure.setEnabled(false);
1117        jButtonModMeasure.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1118            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1119                jButtonModMeasureActionPerformed(evt);
1120            }
1121        });
1122
1123        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1124        gridBagConstraints.gridx = 1;
1125        gridBagConstraints.gridy = 0;
1126        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1127        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
1128        jPanel12.add(jButtonModMeasure, gridBagConstraints);
1129
1130        jButtonRemMeasure.setText("Remove");
1131        jButtonRemMeasure.setEnabled(false);
1132        jButtonRemMeasure.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1133            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1134                jButtonRemMeasureActionPerformed(evt);
1135            }
1136        });
1137
1138        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1139        gridBagConstraints.gridx = 2;
1140        gridBagConstraints.gridy = 0;
1141        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1142        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 6, 0);
1143        jPanel12.add(jButtonRemMeasure, gridBagConstraints);
1144
1145        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1146        gridBagConstraints.gridx = 4;
1147        gridBagConstraints.weightx = 1.0;
1148        jPanel12.add(jPanel14, gridBagConstraints);
1149
1150        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1151        gridBagConstraints.gridy = 9;
1152        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1153        gridBagConstraints.weightx = 1.0;
1154        gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 0, 6);
1155        jPanel17.add(jPanel12, gridBagConstraints);
1156
1157        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1158        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1159        gridBagConstraints.weightx = 1.0;
1160        gridBagConstraints.weighty = 1.0;
1161        jPanel11.add(jPanel17, gridBagConstraints);
1162
1163        jTabbedPane1.addTab("Measures", jPanel11);
1164
1165        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1166        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1167        gridBagConstraints.weightx = 1.0;
1168        gridBagConstraints.weighty = 1.0;
1169        getContentPane().add(jTabbedPane1, gridBagConstraints);
1170
1171        pack();
1172    }// </editor-fold>//GEN-END:initComponents
1173

1174    private void jButtonDownColumnGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDownColumnGroupActionPerformed
1175

1176        if (this.isInit()) return;
1177        
1178        if (currentCrosstabReportElement == null) return;
1179        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableColumnGroups.getModel();
1180
1181        int index = jTableColumnGroups.getSelectedRow();
1182        
1183        if (index < currentCrosstabReportElement.getColumnGroups().size()-1)
1184        {
1185            CrosstabColumnGroup group = (CrosstabColumnGroup)currentCrosstabReportElement.getColumnGroups().elementAt(index);
1186            currentCrosstabReportElement.getColumnGroups().removeElementAt(index);
1187            currentCrosstabReportElement.getColumnGroups().insertElementAt( group, index+1);
1188            
1189            dtm.removeRow(index);
1190            dtm.insertRow( index+1, new Object JavaDoc[]{group});
1191            currentCrosstabReportElement.modifyGroup(group.getName(), group);
1192        }
1193        
1194    }//GEN-LAST:event_jButtonDownColumnGroupActionPerformed
1195

1196    private void jButtonUpColumnGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonUpColumnGroupActionPerformed
1197

1198        if (this.isInit()) return;
1199        
1200        if (currentCrosstabReportElement == null) return;
1201        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableColumnGroups.getModel();
1202
1203        int index = jTableColumnGroups.getSelectedRow();
1204        
1205        if (index >0)
1206        {
1207            CrosstabColumnGroup group = (CrosstabColumnGroup)currentCrosstabReportElement.getColumnGroups().elementAt(index);
1208            currentCrosstabReportElement.getColumnGroups().removeElementAt(index);
1209            currentCrosstabReportElement.getColumnGroups().insertElementAt( group, index-1);
1210            
1211            dtm.removeRow(index);
1212            dtm.insertRow( index-1, new Object JavaDoc[]{group});
1213            currentCrosstabReportElement.modifyGroup(group.getName(), group);
1214        }
1215    }//GEN-LAST:event_jButtonUpColumnGroupActionPerformed
1216

1217    private void jButtonDownRowGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDownRowGroupActionPerformed
1218
if (this.isInit()) return;
1219        
1220        if (currentCrosstabReportElement == null) return;
1221        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableRowGroups.getModel();
1222
1223        int index = jTableRowGroups.getSelectedRow();
1224        
1225        if (index < currentCrosstabReportElement.getRowGroups().size()-1)
1226        {
1227            CrosstabRowGroup group = (CrosstabRowGroup)currentCrosstabReportElement.getRowGroups().elementAt(index);
1228            currentCrosstabReportElement.getRowGroups().removeElementAt(index);
1229            currentCrosstabReportElement.getRowGroups().insertElementAt( group, index+1);
1230            
1231            dtm.removeRow(index);
1232            dtm.insertRow( index+1, new Object JavaDoc[]{group});
1233            currentCrosstabReportElement.modifyGroup(group.getName(), group);
1234        }
1235    }//GEN-LAST:event_jButtonDownRowGroupActionPerformed
1236

1237    private void jButtonUpRowGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonUpRowGroupActionPerformed
1238

1239        if (this.isInit()) return;
1240        
1241        if (currentCrosstabReportElement == null) return;
1242        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableRowGroups.getModel();
1243
1244        int index = jTableRowGroups.getSelectedRow();
1245        
1246        if (index >0)
1247        {
1248            CrosstabRowGroup group = (CrosstabRowGroup)currentCrosstabReportElement.getRowGroups().elementAt(index);
1249            currentCrosstabReportElement.getRowGroups().removeElementAt(index);
1250            currentCrosstabReportElement.getRowGroups().insertElementAt( group, index-1);
1251            
1252            dtm.removeRow(index);
1253            dtm.insertRow( index-1, new Object JavaDoc[]{group});
1254            currentCrosstabReportElement.modifyGroup(group.getName(), group);
1255        }
1256        
1257    }//GEN-LAST:event_jButtonUpRowGroupActionPerformed
1258

1259    private void jButtonRemColumnGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRemColumnGroupActionPerformed
1260
if (this.isInit()) return;
1261        
1262        if (currentCrosstabReportElement == null) return;
1263        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableColumnGroups.getModel();
1264        
1265        Vector JavaDoc groupsToRemove = new Vector JavaDoc();
1266        while (jTableColumnGroups.getSelectedRowCount() > 0) {
1267            int i=jTableColumnGroups.getSelectedRow();
1268            groupsToRemove.add( jTableColumnGroups.getValueAt( i, 0) );
1269            dtm.removeRow(i);
1270        }
1271        currentCrosstabReportElement.removeGroups(groupsToRemove);
1272    }//GEN-LAST:event_jButtonRemColumnGroupActionPerformed
1273

1274    private void jButtonModColumnGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModColumnGroupActionPerformed
1275
if (this.isInit()) return;
1276    
1277        if (currentCrosstabReportElement == null) return;
1278        int rowNumber = jTableColumnGroups.getSelectedRow();
1279        CrosstabColumnGroup rg = (CrosstabColumnGroup)jTableColumnGroups.getValueAt( jTableColumnGroups.getSelectedRow(), 0);
1280        
1281        CrosstabGroupDialog jrpd = new CrosstabGroupDialog(CrosstabGroupDialog.COLUMNGROUP, this, true);
1282        jrpd.setGroup( rg );
1283        jrpd.setExpressionContext( ((this.getCurrentCrosstabReportElement().isUseDataset() && this.getCurrentCrosstabReportElement().getDataset() != null) ? this.getCurrentCrosstabReportElement().getDataset().getSubDataset() : null));
1284        jrpd.setVisible(true);
1285        
1286        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1287            
1288            CrosstabGroup group = jrpd.getGroup();
1289            String JavaDoc oldName = rg.getName();
1290            rg.setName( group.getName() );
1291            rg.setBucketComparatorExpression( group.getBucketComparatorExpression() );
1292            rg.setBucketExpression( group.getBucketExpression() );
1293            rg.setBucketExpressionClass( group.getBucketExpressionClass() );
1294            rg.setBucketOrder( group.getBucketOrder() );
1295            rg.setHeaderPosition( group.getHeaderPosition() );
1296            rg.setTotalPosition( group.getTotalPosition() );
1297            rg.setName( group.getName() );
1298            rg.setSize( group.getSize() );
1299            rg.setHasHeader( group.isHasHeader() );
1300            rg.setHasTotal( group.isHasTotal() );
1301            
1302            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableColumnGroups.getModel();
1303            dtm.setValueAt(rg, rowNumber, 0);
1304            jTableColumnGroups.updateUI();
1305            currentCrosstabReportElement.modifyGroup(oldName, rg);
1306        }
1307    }//GEN-LAST:event_jButtonModColumnGroupActionPerformed
1308

1309    private void jButtonAddColumnGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAddColumnGroupActionPerformed
1310
if (this.isInit()) return;
1311        
1312        if (currentCrosstabReportElement == null) return;
1313        // Set the new value for all selected elements...
1314

1315        CrosstabGroupDialog jrpd = new CrosstabGroupDialog(CrosstabGroupDialog.COLUMNGROUP,this, true);
1316        jrpd.setExpressionContext( ((this.getCurrentCrosstabReportElement().isUseDataset() && this.getCurrentCrosstabReportElement().getDataset() != null) ? this.getCurrentCrosstabReportElement().getDataset().getSubDataset() : null));
1317        jrpd.setVisible(true);
1318        
1319        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1320            CrosstabGroup group = jrpd.getGroup();
1321            CrosstabColumnGroup rg = new CrosstabColumnGroup();
1322            
1323            rg.setName( group.getName() );
1324            rg.setBucketComparatorExpression( group.getBucketComparatorExpression() );
1325            rg.setBucketExpression( group.getBucketExpression() );
1326            rg.setBucketExpressionClass( group.getBucketExpressionClass() );
1327            rg.setBucketOrder( group.getBucketOrder() );
1328            rg.setHeaderPosition( group.getHeaderPosition() );
1329            rg.setTotalPosition( group.getTotalPosition() );
1330            rg.setName( group.getName() );
1331            rg.setSize( group.getSize() );
1332            rg.setHasHeader( group.isHasHeader() );
1333            rg.setHasTotal( group.isHasTotal() );
1334
1335            
1336            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableColumnGroups.getModel();
1337            dtm.addRow(new Object JavaDoc[]{rg});
1338            currentCrosstabReportElement.addGroup(rg);
1339        }
1340    }//GEN-LAST:event_jButtonAddColumnGroupActionPerformed
1341

1342    private void jTableColumnGroupsMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTableColumnGroupsMouseClicked
1343
if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1)
1344        {
1345            if (jTableColumnGroups.getSelectedRowCount() > 0)
1346            {
1347                jButtonModColumnGroupActionPerformed(null);
1348            }
1349        }
1350    }//GEN-LAST:event_jTableColumnGroupsMouseClicked
1351

1352    private void jTableRowGroupsMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTableRowGroupsMouseClicked
1353
if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1)
1354        {
1355            if (jTableRowGroups.getSelectedRowCount() > 0)
1356            {
1357                jButtonModRowGroupActionPerformed(null);
1358            }
1359        }
1360    }//GEN-LAST:event_jTableRowGroupsMouseClicked
1361

1362    private void jButtonRemRowGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRemRowGroupActionPerformed
1363
if (this.isInit()) return;
1364        
1365        if (currentCrosstabReportElement == null) return;
1366        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableRowGroups.getModel();
1367        
1368        ArrayList JavaDoc groupsToRemove = new ArrayList JavaDoc();
1369            
1370        while (jTableRowGroups.getSelectedRowCount() > 0) {
1371            int i=jTableRowGroups.getSelectedRow();
1372            groupsToRemove.add( jTableRowGroups.getValueAt( i, 0) );
1373            dtm.removeRow(i);
1374        }
1375        currentCrosstabReportElement.removeGroups(groupsToRemove);
1376        
1377    }//GEN-LAST:event_jButtonRemRowGroupActionPerformed
1378

1379    private void jButtonModRowGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModRowGroupActionPerformed
1380
if (this.isInit()) return;
1381        
1382        if (currentCrosstabReportElement == null) return;
1383        int rowNumber = jTableRowGroups.getSelectedRow();
1384        CrosstabRowGroup rg = (CrosstabRowGroup)jTableRowGroups.getValueAt( jTableRowGroups.getSelectedRow(), 0);
1385        
1386        CrosstabGroupDialog jrpd = new CrosstabGroupDialog(CrosstabGroupDialog.ROWGROUP, this, true);
1387        jrpd.setExpressionContext( ((this.getCurrentCrosstabReportElement().isUseDataset() && this.getCurrentCrosstabReportElement().getDataset() != null) ? this.getCurrentCrosstabReportElement().getDataset().getSubDataset() : null));
1388        jrpd.setGroup( rg );
1389        jrpd.setVisible(true);
1390        
1391        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1392            
1393            CrosstabGroup group = jrpd.getGroup();
1394            String JavaDoc oldName = rg.getName();
1395            rg.setName( group.getName() );
1396            rg.setBucketComparatorExpression( group.getBucketComparatorExpression() );
1397            rg.setBucketExpression( group.getBucketExpression() );
1398            rg.setBucketExpressionClass( group.getBucketExpressionClass() );
1399            rg.setBucketOrder( group.getBucketOrder() );
1400            rg.setHeaderPosition( group.getHeaderPosition() );
1401            rg.setTotalPosition( group.getTotalPosition() );
1402            rg.setName( group.getName() );
1403            rg.setSize( group.getSize() );
1404            rg.setHasHeader( group.isHasHeader() );
1405            rg.setHasTotal( group.isHasTotal() );
1406            
1407            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableRowGroups.getModel();
1408            dtm.setValueAt(rg, rowNumber, 0);
1409            jTableRowGroups.updateUI();
1410            currentCrosstabReportElement.modifyGroup(oldName, rg);
1411        }
1412    }//GEN-LAST:event_jButtonModRowGroupActionPerformed
1413

1414    private void jButtonAddRowGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAddRowGroupActionPerformed
1415
if (this.isInit()) return;
1416        
1417        if (currentCrosstabReportElement == null) return;
1418        // Set the new value for all selected elements...
1419

1420        CrosstabGroupDialog jrpd = new CrosstabGroupDialog(CrosstabGroupDialog.ROWGROUP,this, true);
1421        jrpd.setExpressionContext( ((this.getCurrentCrosstabReportElement().isUseDataset() && this.getCurrentCrosstabReportElement().getDataset() != null) ? this.getCurrentCrosstabReportElement().getDataset().getSubDataset() : null));
1422        jrpd.setVisible(true);
1423        
1424        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1425            CrosstabGroup group = jrpd.getGroup();
1426            CrosstabRowGroup rg = new CrosstabRowGroup();
1427            
1428            rg.setName( group.getName() );
1429            rg.setBucketComparatorExpression( group.getBucketComparatorExpression() );
1430            rg.setBucketExpression( group.getBucketExpression() );
1431            rg.setBucketExpressionClass( group.getBucketExpressionClass() );
1432            rg.setBucketOrder( group.getBucketOrder() );
1433            rg.setHeaderPosition( group.getHeaderPosition() );
1434            rg.setTotalPosition( group.getTotalPosition() );
1435            rg.setName( group.getName() );
1436            rg.setSize( group.getSize() );
1437            rg.setHasHeader( group.isHasHeader() );
1438            rg.setHasTotal( group.isHasTotal() );
1439            
1440            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableRowGroups.getModel();
1441            dtm.addRow(new Object JavaDoc[]{rg});
1442            currentCrosstabReportElement.addGroup(rg);
1443        }
1444    }//GEN-LAST:event_jButtonAddRowGroupActionPerformed
1445

1446    private void jTableMeasuresMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTableMeasuresMouseClicked
1447
if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1)
1448        {
1449            if (jTableMeasures.getSelectedRowCount() > 0)
1450            {
1451                jButtonModMeasureActionPerformed(null);
1452            }
1453        }
1454    }//GEN-LAST:event_jTableMeasuresMouseClicked
1455

1456    private void jButtonRemMeasureActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRemMeasureActionPerformed
1457
if (this.isInit()) return;
1458        
1459        if (currentCrosstabReportElement == null) return;
1460        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableMeasures.getModel();
1461        
1462        while (jTableMeasures.getSelectedRowCount() > 0) {
1463            int i=jTableMeasures.getSelectedRow();
1464            
1465            currentCrosstabReportElement.removeMeasure( (Measure)jTableMeasures.getValueAt( i, 0) );
1466            dtm.removeRow(i);
1467        }
1468    }//GEN-LAST:event_jButtonRemMeasureActionPerformed
1469

1470    private void jButtonModMeasureActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModMeasureActionPerformed
1471
if (this.isInit()) return;
1472        
1473        if (currentCrosstabReportElement == null) return;
1474        int rowNumber = jTableMeasures.getSelectedRow();
1475        Measure measure = (Measure)jTableMeasures.getValueAt( jTableMeasures.getSelectedRow(), 0);
1476        
1477        MeasureDialog jrpd = new MeasureDialog(null, this, true);
1478        jrpd.setExpressionContext( ((this.getCurrentCrosstabReportElement().isUseDataset() && this.getCurrentCrosstabReportElement().getDataset() != null) ? this.getCurrentCrosstabReportElement().getDataset().getSubDataset() : null));
1479        jrpd.setMeasure( measure );
1480        jrpd.setVisible(true);
1481        
1482        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1483            measure.setName( jrpd.getMeasure().getName() );
1484            measure.setExpression( jrpd.getMeasure().getExpression());
1485            measure.setClassType( jrpd.getMeasure().getClassType());
1486            measure.setCalculation( jrpd.getMeasure().getCalculation());
1487            measure.setIncrementerFactoryClass( jrpd.getMeasure().getIncrementerFactoryClass());
1488            measure.setPercentageCalculatorClass( jrpd.getMeasure().getPercentageCalculatorClass());
1489            measure.setPercentageOf( jrpd.getMeasure().getPercentageOf());
1490            
1491            currentCrosstabReportElement.measureModified( measure );
1492            
1493            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableMeasures.getModel();
1494            dtm.setValueAt(measure, rowNumber, 0);
1495            dtm.setValueAt(measure.getExpression(), rowNumber, 1);
1496            jTableMeasures.updateUI();
1497        }
1498    }//GEN-LAST:event_jButtonModMeasureActionPerformed
1499

1500    private void jButtonAddMeasureActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAddMeasureActionPerformed
1501
if (this.isInit()) return;
1502        
1503        if (currentCrosstabReportElement == null) return;
1504        // Set the new value for all selected elements...
1505

1506        MeasureDialog jrpd = new MeasureDialog(null,this, true);
1507        jrpd.setExpressionContext( ((this.getCurrentCrosstabReportElement().isUseDataset() && this.getCurrentCrosstabReportElement().getDataset() != null) ? this.getCurrentCrosstabReportElement().getDataset().getSubDataset() : null));
1508        jrpd.setVisible(true);
1509        
1510        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1511            Measure measure = jrpd.getMeasure();
1512            currentCrosstabReportElement.addMeasure( measure );
1513            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableMeasures.getModel();
1514            dtm.addRow(new Object JavaDoc[]{measure, measure.getClassType()});
1515        }
1516    }//GEN-LAST:event_jButtonAddMeasureActionPerformed
1517

1518    private void jButtonPasteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPasteActionPerformed
1519

1520        if (currentCrosstabReportElement == null) return;
1521        if (it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard() == null) return;
1522        
1523        Dataset theDataset = it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard();
1524        
1525        currentCrosstabReportElement.getDataset().setIncrementType( it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard().getIncrementType());
1526        currentCrosstabReportElement.getDataset().setIncrementGroup( it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard().getIncrementGroup());
1527        currentCrosstabReportElement.getDataset().setResetType( it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard().getResetType());
1528        currentCrosstabReportElement.getDataset().setResetGroup( it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard().getResetGroup());
1529        
1530        currentCrosstabReportElement.getDataset().setUseConnection( theDataset.isUseConnection());
1531        currentCrosstabReportElement.getDataset().setSubDataset( theDataset.getSubDataset());
1532        currentCrosstabReportElement.getDataset().setParametersMapExpression( theDataset.getParametersMapExpression());
1533        currentCrosstabReportElement.getDataset().setConnectionExpression( theDataset.getConnectionExpression());
1534        currentCrosstabReportElement.getDataset().setDataSourceExpression( theDataset.getDataSourceExpression());
1535        
1536        for (int i=0; i< theDataset.getSubreportParameters().size(); ++i)
1537        {
1538            currentCrosstabReportElement.getDataset().getSubreportParameters().add( ((JRSubreportParameter)theDataset.getSubreportParameters().elementAt(i)).cloneMe() );
1539        }
1540               
1541        init = true;
1542        
1543        loadDataset();
1544        
1545        init = false;
1546        notifyChange();
1547    }//GEN-LAST:event_jButtonPasteActionPerformed
1548

1549    private void jButtonCopyActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCopyActionPerformed
1550

1551        if (currentCrosstabReportElement == null) return;
1552        it.businesslogic.ireport.gui.MainFrame.getMainInstance().setChartDatasetClipBoard( currentCrosstabReportElement.getDataset().cloneMe() );
1553        jButtonPaste.setEnabled(true);
1554    }//GEN-LAST:event_jButtonCopyActionPerformed
1555

1556    private void jComboBoxIncrementGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxIncrementGroupActionPerformed
1557
if (isInit() || currentCrosstabReportElement == null) return;
1558        currentCrosstabReportElement.getDataset().setIncrementGroup( ""+jComboBoxIncrementGroup.getSelectedItem());
1559        notifyChange();
1560    }//GEN-LAST:event_jComboBoxIncrementGroupActionPerformed
1561

1562    private void jComboBoxIncrementTypeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxIncrementTypeActionPerformed
1563

1564        if (isInit() || currentCrosstabReportElement == null) return;
1565        currentCrosstabReportElement.getDataset().setIncrementType( ((Tag)jComboBoxIncrementType.getSelectedItem()).getValue()+"");
1566        
1567        if (currentCrosstabReportElement.getDataset().getIncrementType().equals("Group"))
1568        {
1569            // We have to removethe null entry...
1570
if (jComboBoxIncrementGroup.getItemAt(0).equals(""))
1571            {
1572                jComboBoxIncrementGroup.removeItemAt(0);
1573            }
1574            jComboBoxIncrementGroup.setSelectedIndex(0);
1575        }
1576        else
1577        {
1578            if (!jComboBoxIncrementGroup.getItemAt(0).equals(""))
1579            {
1580                jComboBoxIncrementGroup.insertItemAt("",0);
1581            }
1582            jComboBoxIncrementGroup.setSelectedIndex(0);
1583        }
1584        notifyChange();
1585    }//GEN-LAST:event_jComboBoxIncrementTypeActionPerformed
1586

1587    private void jComboBoxResetGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxResetGroupActionPerformed
1588

1589        if (isInit() || currentCrosstabReportElement == null) return;
1590        currentCrosstabReportElement.getDataset().setResetGroup( ""+jComboBoxResetGroup.getSelectedItem());
1591        notifyChange();
1592    }//GEN-LAST:event_jComboBoxResetGroupActionPerformed
1593

1594    private void jComboBoxResetTypeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxResetTypeActionPerformed
1595
if (isInit() || currentCrosstabReportElement == null) return;
1596        currentCrosstabReportElement.getDataset().setResetType( ((Tag)jComboBoxResetType.getSelectedItem()).getValue()+"" );
1597        
1598        if (currentCrosstabReportElement.getDataset().getResetType().equals("Group"))
1599        {
1600            // We have to remove the null entry...
1601
if (jComboBoxResetGroup.getItemAt(0).equals(""))
1602            {
1603                jComboBoxResetGroup.removeItemAt(0);
1604            }
1605            jComboBoxResetGroup.setSelectedIndex(0);
1606        }
1607        else
1608        {
1609            if (!jComboBoxResetGroup.getItemAt(0).equals(""))
1610            {
1611                jComboBoxResetGroup.insertItemAt("",0);
1612            }
1613            jComboBoxResetGroup.setSelectedIndex(0);
1614        }
1615        
1616        notifyChange();
1617    }//GEN-LAST:event_jComboBoxResetTypeActionPerformed
1618

1619    private void jButtonRemParameterActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRemParameterActionPerformed
1620
if (this.isInit()) return;
1621        
1622        if (currentCrosstabReportElement == null) return;
1623        javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableDatasetParameters.getModel();
1624        
1625        while (jTableDatasetParameters.getSelectedRowCount() > 0) {
1626            int i=jTableDatasetParameters.getSelectedRow();
1627            currentCrosstabReportElement.getDataset().getSubreportParameters().removeElement( jTableDatasetParameters.getValueAt( i, 0) );
1628            dtm.removeRow(i);
1629        }
1630        notifyChange();
1631    }//GEN-LAST:event_jButtonRemParameterActionPerformed
1632

1633    private void jButtonModParameterActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModParameterActionPerformed
1634
if (this.isInit()) return;
1635        
1636        if (currentCrosstabReportElement == null) return;
1637                int rowNumber = jTableDatasetParameters.getSelectedRow();
1638        JRSubreportParameter parameter = (JRSubreportParameter)jTableDatasetParameters.getValueAt( jTableDatasetParameters.getSelectedRow(), 0);
1639        
1640        JRSubreportParameterDialog jrpd = new JRSubreportParameterDialog(this, true);
1641        jrpd.setParameter( parameter );
1642        jrpd.setVisible(true);
1643        
1644        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1645            parameter.setName( jrpd.getParameter().getName() );
1646            parameter.setExpression( jrpd.getParameter().getExpression());
1647            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableDatasetParameters.getModel();
1648            dtm.setValueAt(parameter, rowNumber, 0);
1649            dtm.setValueAt(parameter.getExpression(), rowNumber, 1);
1650            jTableDatasetParameters.updateUI();
1651            notifyChange();
1652        }
1653    }//GEN-LAST:event_jButtonModParameterActionPerformed
1654

1655    private void jButtonAddParameterActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAddParameterActionPerformed
1656
if (this.isInit()) return;
1657        
1658        if (currentCrosstabReportElement == null) return;
1659        // Set the new value for all selected elements...
1660

1661        JRSubreportParameterDialog jrpd = new JRSubreportParameterDialog(this, true);
1662        jrpd.setVisible(true);
1663        
1664        if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1665            it.businesslogic.ireport.JRSubreportParameter parameter = jrpd.getParameter();
1666            currentCrosstabReportElement.getDataset().getSubreportParameters().addElement( parameter );
1667            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableDatasetParameters.getModel();
1668            dtm.addRow(new Object JavaDoc[]{parameter, parameter.getExpression()});
1669            notifyChange();
1670        }
1671    }//GEN-LAST:event_jButtonAddParameterActionPerformed
1672

1673    private void jTableDatasetParametersMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTableDatasetParametersMouseClicked
1674
if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1)
1675        {
1676            if (jTableDatasetParameters.getSelectedRowCount() > 0)
1677            {
1678                jButtonModParameterActionPerformed(null);
1679            }
1680        }
1681    }//GEN-LAST:event_jTableDatasetParametersMouseClicked
1682

1683    private void jComboBoxDatasetConnectionTypeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxDatasetConnectionTypeActionPerformed
1684
if (isInit() || currentCrosstabReportElement == null) return;
1685                
1686        if (jComboBoxDatasetConnectionType.getSelectedIndex() == 0) {
1687            currentCrosstabReportElement.getDataset().setUseConnection(false);
1688            currentCrosstabReportElement.getDataset().setConnectionExpression("");
1689            currentCrosstabReportElement.getDataset().setDataSourceExpression("");
1690            jRTextExpressionAreaTextConnectionExpression.setText("");
1691            jRTextExpressionAreaTextConnectionExpression.setEnabled(false);
1692            jRTextExpressionAreaTextConnectionExpression.setBackground(Color.LIGHT_GRAY);
1693        }
1694        else if (jComboBoxDatasetConnectionType.getSelectedIndex() == 1) {
1695            currentCrosstabReportElement.getDataset().setUseConnection(true);
1696            currentCrosstabReportElement.getDataset().setDataSourceExpression("");
1697            currentCrosstabReportElement.getDataset().setConnectionExpression("$P{REPORT_CONNECTION}");
1698            jRTextExpressionAreaTextConnectionExpression.setText("$P{REPORT_CONNECTION}");
1699            jRTextExpressionAreaTextConnectionExpression.setEnabled(true);
1700            jRTextExpressionAreaTextConnectionExpression.setBackground(Color.WHITE);
1701        }
1702        else if (jComboBoxDatasetConnectionType.getSelectedIndex() == 2) {
1703            currentCrosstabReportElement.getDataset().setUseConnection(false);
1704            currentCrosstabReportElement.getDataset().setDataSourceExpression("$P{MyDataource}");
1705            currentCrosstabReportElement.getDataset().setConnectionExpression("");
1706            jRTextExpressionAreaTextConnectionExpression.setText("$P{MyDataource}");
1707            jRTextExpressionAreaTextConnectionExpression.setEnabled(true);
1708            jRTextExpressionAreaTextConnectionExpression.setBackground(Color.WHITE);
1709        }
1710       notifyChange();
1711    }//GEN-LAST:event_jComboBoxDatasetConnectionTypeActionPerformed
1712

1713    private void jCheckBoxPreSortedActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxPreSortedActionPerformed
1714
if (this.isInit()) return;
1715
1716        if (currentCrosstabReportElement != null)
1717        {
1718            currentCrosstabReportElement.setPreSorted( jCheckBoxPreSorted.isSelected() );
1719        }
1720
1721    }//GEN-LAST:event_jCheckBoxPreSortedActionPerformed
1722

1723    private void jCheckBoxUseDatasetActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxUseDatasetActionPerformed
1724

1725        if (this.isInit()) return;
1726        
1727        if (currentCrosstabReportElement != null)
1728        {
1729            currentCrosstabReportElement.setUseDataset( jCheckBoxUseDataset.isSelected() );
1730        }
1731
1732        setDatasetEnabled( currentCrosstabReportElement.isUseDataset() );
1733
1734        
1735    }//GEN-LAST:event_jCheckBoxUseDatasetActionPerformed
1736

1737    private void jComboBoxSubDatasetActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxSubDatasetActionPerformed
1738
if (this.isInit()) return;
1739
1740       
1741            if (currentCrosstabReportElement != null)
1742            {
1743                if (this.jComboBoxSubDataset.getSelectedIndex() > 0)
1744                {
1745                        if ( currentCrosstabReportElement.getDataset().getSubDataset() != jComboBoxSubDataset.getSelectedItem())
1746                        {
1747                            currentCrosstabReportElement.getDataset().setSubDataset( (SubDataset)jComboBoxSubDataset.getSelectedItem() );
1748                            jTabbedPane2.setVisible(true);
1749                        }
1750                        jRTextExpressionAreaFilterExpression.setSubDataset( (SubDataset)jComboBoxSubDataset.getSelectedItem() );
1751                // Check subdataset parameters.... (TODO)
1752
}
1753                else
1754                {
1755                    jRTextExpressionAreaFilterExpression.setSubDataset(null);
1756                    currentCrosstabReportElement.getDataset().setSubDataset( null );
1757                    currentCrosstabReportElement.getDataset().getSubreportParameters().removeAllElements();
1758                    currentCrosstabReportElement.getDataset().setParametersMapExpression("");
1759                    currentCrosstabReportElement.getDataset().setConnectionExpression("");
1760                    currentCrosstabReportElement.getDataset().setDataSourceExpression("");
1761                    currentCrosstabReportElement.getDataset().setUseConnection(false);
1762                    
1763                    javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableDatasetParameters.getModel();
1764                    dtm.setRowCount(0);
1765                    this.jComboBoxDatasetConnectionType.setSelectedIndex(0);
1766                    this.jRTextExpressionAreaTextConnectionExpression.setEnabled(false);
1767                    this.jRTextExpressionAreaTextConnectionExpression.setBackground(Color.LIGHT_GRAY);
1768                    this.jRTextExpressionAreaTextConnectionExpression.setText("");
1769                    jRTextExpressionAreaMapExpression.setText("");
1770                
1771                    jTabbedPane2.setVisible(false);
1772                    jTabbedPane2.updateUI();
1773                }
1774        }
1775        notifyChange();
1776    }//GEN-LAST:event_jComboBoxSubDatasetActionPerformed
1777

1778    /**
1779     * @param args the command line arguments
1780     */

1781    public static void main(String JavaDoc args[]) {
1782        java.awt.EventQueue.invokeLater(new Runnable JavaDoc() {
1783            public void run() {
1784                new CrosstabPropertiesDialog(new javax.swing.JFrame JavaDoc(), true).setVisible(true);
1785            }
1786        });
1787    }
1788    
1789    // Variables declaration - do not modify//GEN-BEGIN:variables
1790
private javax.swing.JButton JavaDoc jButtonAddColumnGroup;
1791    private javax.swing.JButton JavaDoc jButtonAddMeasure;
1792    private javax.swing.JButton JavaDoc jButtonAddParameter;
1793    private javax.swing.JButton JavaDoc jButtonAddRowGroup;
1794    private javax.swing.JButton JavaDoc jButtonCopy;
1795    private javax.swing.JButton JavaDoc jButtonDownColumnGroup;
1796    private javax.swing.JButton JavaDoc jButtonDownRowGroup;
1797    private javax.swing.JButton JavaDoc jButtonModColumnGroup;
1798    private javax.swing.JButton JavaDoc jButtonModMeasure;
1799    private javax.swing.JButton JavaDoc jButtonModParameter;
1800    private javax.swing.JButton JavaDoc jButtonModRowGroup;
1801    private javax.swing.JButton JavaDoc jButtonPaste;
1802    private javax.swing.JButton JavaDoc jButtonRemColumnGroup;
1803    private javax.swing.JButton JavaDoc jButtonRemMeasure;
1804    private javax.swing.JButton JavaDoc jButtonRemParameter;
1805    private javax.swing.JButton JavaDoc jButtonRemRowGroup;
1806    private javax.swing.JButton JavaDoc jButtonUpColumnGroup;
1807    private javax.swing.JButton JavaDoc jButtonUpRowGroup;
1808    private javax.swing.JCheckBox JavaDoc jCheckBoxPreSorted;
1809    private javax.swing.JCheckBox JavaDoc jCheckBoxUseDataset;
1810    private javax.swing.JComboBox JavaDoc jComboBoxDatasetConnectionType;
1811    private javax.swing.JComboBox JavaDoc jComboBoxIncrementGroup;
1812    private javax.swing.JComboBox JavaDoc jComboBoxIncrementType;
1813    private javax.swing.JComboBox JavaDoc jComboBoxResetGroup;
1814    private javax.swing.JComboBox JavaDoc jComboBoxResetType;
1815    private javax.swing.JComboBox JavaDoc jComboBoxSubDataset;
1816    private javax.swing.JLabel JavaDoc jLabel1;
1817    private javax.swing.JLabel JavaDoc jLabel2;
1818    private javax.swing.JLabel JavaDoc jLabel26;
1819    private javax.swing.JLabel JavaDoc jLabel41;
1820    private javax.swing.JLabel JavaDoc jLabelIncrementGroup;
1821    private javax.swing.JLabel JavaDoc jLabelIncrementType;
1822    private javax.swing.JLabel JavaDoc jLabelIncrementType1;
1823    private javax.swing.JLabel JavaDoc jLabelIncrementWhenExpression;
1824    private javax.swing.JLabel JavaDoc jLabelResetGroup;
1825    private javax.swing.JLabel JavaDoc jLabelResetType;
1826    private javax.swing.JPanel JavaDoc jPanel1;
1827    private javax.swing.JPanel JavaDoc jPanel10;
1828    private javax.swing.JPanel JavaDoc jPanel11;
1829    private javax.swing.JPanel JavaDoc jPanel12;
1830    private javax.swing.JPanel JavaDoc jPanel13;
1831    private javax.swing.JPanel JavaDoc jPanel14;
1832    private javax.swing.JPanel JavaDoc jPanel15;
1833    private javax.swing.JPanel JavaDoc jPanel16;
1834    private javax.swing.JPanel JavaDoc jPanel17;
1835    private javax.swing.JPanel JavaDoc jPanel18;
1836    private javax.swing.JPanel JavaDoc jPanel19;
1837    private javax.swing.JPanel JavaDoc jPanel2;
1838    private javax.swing.JPanel JavaDoc jPanel20;
1839    private javax.swing.JPanel JavaDoc jPanel21;
1840    private javax.swing.JPanel JavaDoc jPanel22;
1841    private javax.swing.JPanel JavaDoc jPanel3;
1842    private javax.swing.JPanel JavaDoc jPanel4;
1843    private javax.swing.JPanel JavaDoc jPanel5;
1844    private javax.swing.JPanel JavaDoc jPanel6;
1845    private javax.swing.JPanel JavaDoc jPanel7;
1846    private javax.swing.JPanel JavaDoc jPanel8;
1847    private javax.swing.JPanel JavaDoc jPanel9;
1848    private javax.swing.JPanel JavaDoc jPanelDataset;
1849    private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaFilterExpression;
1850    private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaMapExpression;
1851    private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaTextConnectionExpression;
1852    private javax.swing.JScrollPane JavaDoc jScrollPane2;
1853    private javax.swing.JScrollPane JavaDoc jScrollPane3;
1854    private javax.swing.JScrollPane JavaDoc jScrollPane4;
1855    private javax.swing.JScrollPane JavaDoc jScrollPane5;
1856    private javax.swing.JTabbedPane JavaDoc jTabbedPane1;
1857    private javax.swing.JTabbedPane JavaDoc jTabbedPane2;
1858    private javax.swing.JTable JavaDoc jTableColumnGroups;
1859    private javax.swing.JTable JavaDoc jTableDatasetParameters;
1860    private javax.swing.JTable JavaDoc jTableMeasures;
1861    private javax.swing.JTable JavaDoc jTableRowGroups;
1862    // End of variables declaration//GEN-END:variables
1863

1864    
1865    public boolean isInit() {
1866        return init;
1867    }
1868
1869    public void setInit(boolean init) {
1870        this.init = init;
1871    }
1872    
1873    public int getDialogResult() {
1874        return dialogResult;
1875    }
1876
1877    public void setDialogResult(int dialogResult) {
1878        this.dialogResult = dialogResult;
1879    }
1880
1881    
1882    public void jTableDatasetParametersListSelectionValueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
1883        if (this.jTableDatasetParameters.getSelectedRowCount() > 0) {
1884            this.jButtonModParameter.setEnabled(true);
1885            this.jButtonRemParameter.setEnabled(true);
1886        }
1887        else {
1888            this.jButtonModParameter.setEnabled(false);
1889            this.jButtonRemParameter.setEnabled(false);
1890        }
1891    }
1892    
1893    public void jTableMeasuresListSelectionValueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
1894        if (this.jTableMeasures.getSelectedRowCount() > 0) {
1895            this.jButtonModMeasure.setEnabled(true);
1896            this.jButtonRemMeasure.setEnabled(true);
1897        }
1898        else {
1899            this.jButtonModMeasure.setEnabled(false);
1900            this.jButtonRemMeasure.setEnabled(false);
1901        }
1902    }
1903    
1904    public void jTableRowGroupsListSelectionValueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
1905        if (this.jTableRowGroups.getSelectedRowCount() > 0) {
1906            this.jButtonModRowGroup.setEnabled(true);
1907            this.jButtonRemRowGroup.setEnabled(true);
1908            this.jButtonUpRowGroup.setEnabled(true);
1909            this.jButtonDownRowGroup.setEnabled(true);
1910        }
1911        else {
1912            this.jButtonModRowGroup.setEnabled(false);
1913            this.jButtonRemRowGroup.setEnabled(false);
1914            this.jButtonUpRowGroup.setEnabled(false);
1915            this.jButtonDownRowGroup.setEnabled(false);
1916        }
1917    }
1918    
1919    public void jTableColumnGroupsListSelectionValueChanged(javax.swing.event.ListSelectionEvent JavaDoc e) {
1920        if (this.jTableColumnGroups.getSelectedRowCount() > 0) {
1921            this.jButtonModColumnGroup.setEnabled(true);
1922            this.jButtonRemColumnGroup.setEnabled(true);
1923            this.jButtonUpColumnGroup.setEnabled(true);
1924            this.jButtonDownColumnGroup.setEnabled(true);
1925        }
1926        else {
1927            this.jButtonModColumnGroup.setEnabled(false);
1928            this.jButtonRemColumnGroup.setEnabled(false);
1929            this.jButtonUpColumnGroup.setEnabled(false);
1930            this.jButtonDownColumnGroup.setEnabled(false);
1931        }
1932    }
1933    
1934    public void jRTextExpressionAreaMapExpressionTextChanged() {
1935        if (this.isInit()) return;
1936        if (currentCrosstabReportElement != null)
1937        {
1938            currentCrosstabReportElement.getDataset().setParametersMapExpression(""+jRTextExpressionAreaMapExpression.getText());
1939            notifyChange();
1940        }
1941    }
1942    
1943    
1944    public CrosstabReportElement getCurrentCrosstabReportElement() {
1945        return currentCrosstabReportElement;
1946    }
1947
1948    public void setCurrentCrosstabReportElement(CrosstabReportElement currentCrosstabReportElement) {
1949        
1950        setInit(true);
1951        
1952        try {
1953            
1954            this.currentCrosstabReportElement = currentCrosstabReportElement;
1955
1956            jButtonPaste.setEnabled( it.businesslogic.ireport.gui.MainFrame.getMainInstance().getChartDatasetClipBoard() != null ) ;
1957
1958            javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableMeasures.getModel();
1959            dtm.setRowCount(0);
1960            
1961            javax.swing.table.DefaultTableModel JavaDoc dtmRG = (javax.swing.table.DefaultTableModel JavaDoc)jTableRowGroups.getModel();
1962            dtmRG.setRowCount(0);
1963            
1964            javax.swing.table.DefaultTableModel JavaDoc dtmCG = (javax.swing.table.DefaultTableModel JavaDoc)jTableColumnGroups.getModel();
1965            dtmCG.setRowCount(0);
1966
1967            if (currentCrosstabReportElement == null)
1968            {
1969                this.jTabbedPane1.setVisible(false);
1970            }
1971            else
1972            {
1973                updateGroups();
1974                updateSubDatasets();
1975
1976                loadDataset();
1977
1978                Enumeration JavaDoc enum_measures = currentCrosstabReportElement.getMeasures().elements();
1979
1980                while (enum_measures.hasMoreElements())
1981                {
1982                    Measure measure = (Measure)enum_measures.nextElement();
1983                    dtm.addRow(new Object JavaDoc[]{measure, measure.getClassType()});
1984                }
1985                
1986                Enumeration JavaDoc enum_groups = currentCrosstabReportElement.getRowGroups().elements();
1987                while (enum_groups.hasMoreElements())
1988                {
1989                    dtmRG.addRow(new Object JavaDoc[]{enum_groups.nextElement()});
1990                }
1991                
1992                enum_groups = currentCrosstabReportElement.getColumnGroups().elements();
1993                while (enum_groups.hasMoreElements())
1994                {
1995                    dtmCG.addRow(new Object JavaDoc[]{enum_groups.nextElement()});
1996                }
1997            }
1998          
1999        } catch (Exception JavaDoc ex)
2000        {
2001            ex.printStackTrace();
2002        }
2003        setInit(false);
2004    }
2005    
2006    public void jRTextExpressionAreaTextConnectionExpressionTextChanged() {
2007        if (this.isInit()) return;
2008        if (currentCrosstabReportElement != null)
2009        {
2010            if (currentCrosstabReportElement.getDataset().isUseConnection())
2011                currentCrosstabReportElement.getDataset().setConnectionExpression(""+jRTextExpressionAreaTextConnectionExpression.getText());
2012            else
2013                currentCrosstabReportElement.getDataset().setDataSourceExpression(""+jRTextExpressionAreaTextConnectionExpression.getText());
2014                
2015            notifyChange();
2016        }
2017    }
2018    
2019    public void jRTextExpressionAreaFilterExpressionTextChanged() {
2020        if (this.isInit()) return;
2021        if (currentCrosstabReportElement != null)
2022        {
2023            currentCrosstabReportElement.getDataset().setIncrementWhenExpression(""+jRTextExpressionAreaFilterExpression.getText());
2024            notifyChange();
2025        }
2026    }
2027    
2028     /**
2029     * This method update the comboboxes where is present the goup list.
2030     */

2031    public void updateGroups()
2032    {
2033
2034        if (it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame() == null)
2035    {
2036            jComboBoxResetGroup.removeAllItems();
2037            jComboBoxResetGroup.addItem("");
2038        }
2039        else
2040        {
2041            Misc.updateStringComboBox(jComboBoxResetGroup,
2042                                      it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame().getReport().getGroups(), true);
2043            Misc.updateStringComboBox(jComboBoxIncrementGroup,
2044                                      it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame().getReport().getGroups(), true);
2045        }
2046        
2047    }
2048    
2049    
2050    public void updateSubDatasets()
2051    {
2052
2053        if (it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame() == null)
2054    {
2055            jComboBoxSubDataset.removeAllItems();
2056            jComboBoxSubDataset.addItem("");
2057        }
2058        else
2059        {
2060            Misc.updateComboBox(jComboBoxSubDataset, it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame().getReport().getSubDatasets(), true);
2061        }
2062    }
2063    
2064    /**
2065     * Enable/disable the dataset gui (used when isUseDataset changes)
2066     */

2067    public void setDatasetEnabled(boolean enabled)
2068    {
2069        jCheckBoxPreSorted.setEnabled(enabled);
2070        jLabelIncrementGroup.setEnabled(enabled);
2071        jLabelIncrementType.setEnabled(enabled);
2072        jLabelResetType.setEnabled(enabled);
2073        jLabelResetGroup.setEnabled(enabled);
2074        jComboBoxResetType.setEnabled(enabled);
2075        jComboBoxResetGroup.setEnabled(enabled);
2076        jComboBoxIncrementType.setEnabled(enabled);
2077        jComboBoxIncrementGroup.setEnabled(enabled);
2078        jComboBoxIncrementType.setEnabled(enabled);
2079        jComboBoxSubDataset.setEnabled(enabled);
2080        jTabbedPane2.setVisible(enabled && jComboBoxSubDataset.getSelectedIndex() > 0);
2081        jButtonCopy.setEnabled(enabled);
2082        jButtonPaste.setEnabled(enabled);
2083        
2084        jLabelIncrementWhenExpression.setEnabled(enabled);
2085        jRTextExpressionAreaFilterExpression.setEnabled(enabled);
2086        //Color c = javax.swing.UIManager.getDefaults().getColor("Panel.background");
2087
//if (c == null) c = jPanel1.getBackground();
2088
//jRTextExpressionAreaFilterExpression.setBackground((enabled) ? Color.WHITE : c);
2089
}
2090    
2091    
2092    /**
2093     * Load the dataset into GUI. Assume init = true.
2094     */

2095    public void loadDataset()
2096    {
2097        if (currentCrosstabReportElement == null) return;
2098        // Set general dataset data...
2099
Misc.setComboboxSelectedTagValue(jComboBoxIncrementType, currentCrosstabReportElement.getDataset().getIncrementType());
2100            jComboBoxIncrementGroup.setSelectedItem( currentCrosstabReportElement.getDataset().getIncrementGroup() );
2101            Misc.setComboboxSelectedTagValue(jComboBoxResetType, currentCrosstabReportElement.getDataset().getResetType());
2102            jComboBoxResetGroup.setSelectedItem( currentCrosstabReportElement.getDataset().getResetGroup() );
2103            setDatasetEnabled( currentCrosstabReportElement.isUseDataset() );
2104            jCheckBoxUseDataset.setSelected(currentCrosstabReportElement.isUseDataset());
2105            jCheckBoxPreSorted.setSelected(currentCrosstabReportElement.isPreSorted() );
2106            
2107            jRTextExpressionAreaFilterExpression.setText( currentCrosstabReportElement.getDataset().getIncrementWhenExpression() );
2108            
2109            if (currentCrosstabReportElement.getDataset().getSubDataset() != null)
2110            {
2111                jComboBoxSubDataset.setSelectedItem(currentCrosstabReportElement.getDataset().getSubDataset());
2112                jTabbedPane2.setVisible(true);
2113            
2114                jRTextExpressionAreaMapExpression.setText( currentCrosstabReportElement.getDataset().getParametersMapExpression() );
2115                if (!currentCrosstabReportElement.getDataset().isUseConnection() && Misc.nvl( currentCrosstabReportElement.getDataset().getDataSourceExpression(),"").trim().equals("")) {
2116                    this.jComboBoxDatasetConnectionType.setSelectedIndex(0);
2117                    this.jRTextExpressionAreaTextConnectionExpression.setEnabled(false);
2118                    this.jRTextExpressionAreaTextConnectionExpression.setBackground(Color.LIGHT_GRAY);
2119                    this.jRTextExpressionAreaTextConnectionExpression.setText("");
2120                }
2121                else if (currentCrosstabReportElement.getDataset().isUseConnection()) {
2122                    this.jComboBoxDatasetConnectionType.setSelectedIndex(1);
2123                    this.jRTextExpressionAreaTextConnectionExpression.setEnabled(true);
2124                    this.jRTextExpressionAreaTextConnectionExpression.setBackground(Color.WHITE);
2125                    this.jRTextExpressionAreaTextConnectionExpression.setText( currentCrosstabReportElement.getDataset().getConnectionExpression());
2126                }
2127                else {
2128                    this.jComboBoxDatasetConnectionType.setSelectedIndex(2);
2129                    this.jRTextExpressionAreaTextConnectionExpression.setEnabled(true);
2130                    this.jRTextExpressionAreaTextConnectionExpression.setBackground(Color.WHITE);
2131                    this.jRTextExpressionAreaTextConnectionExpression.setText( currentCrosstabReportElement.getDataset().getDataSourceExpression());
2132                }
2133
2134                //Add parameters...
2135
javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableDatasetParameters.getModel();
2136                dtm.setRowCount(0);
2137
2138                java.util.Enumeration JavaDoc enum_parameters = currentCrosstabReportElement.getDataset().getSubreportParameters().elements();
2139                while (enum_parameters.hasMoreElements()) {
2140                    it.businesslogic.ireport.JRSubreportParameter parameter = (it.businesslogic.ireport.JRSubreportParameter)enum_parameters.nextElement();
2141                    Vector JavaDoc row = new Vector JavaDoc();
2142                    row.addElement(parameter);
2143                    row.addElement(parameter.getExpression());
2144                    dtm.addRow(row);
2145                }
2146            
2147                jRTextExpressionAreaFilterExpression.setSubDataset(currentCrosstabReportElement.getDataset().getSubDataset());
2148            }
2149            else
2150            {
2151                javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableDatasetParameters.getModel();
2152                dtm.setRowCount(0);
2153                this.jComboBoxDatasetConnectionType.setSelectedIndex(0);
2154                this.jRTextExpressionAreaTextConnectionExpression.setEnabled(false);
2155                this.jRTextExpressionAreaTextConnectionExpression.setBackground(Color.LIGHT_GRAY);
2156                this.jRTextExpressionAreaTextConnectionExpression.setText("");
2157                jRTextExpressionAreaMapExpression.setText("");
2158                
2159                jComboBoxSubDataset.setSelectedIndex(0);
2160                jTabbedPane2.setVisible(false);
2161            }
2162    }
2163    
2164    public void notifyChange()
2165    {
2166        if (getCurrentCrosstabReportElement() != null)
2167        {
2168            getCurrentCrosstabReportElement().notifyChange();
2169        }
2170    }
2171}
2172
Popular Tags