1 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 ; 47 import java.util.ArrayList ; 48 import java.util.Vector ; 49 import java.awt.Color ; 50 51 55 import java.util.Enumeration ; 56 import javax.swing.SwingUtilities ; 57 import it.businesslogic.ireport.util.I18n; 58 public class CrosstabPropertiesDialog extends javax.swing.JDialog { 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 66 public CrosstabPropertiesDialog(java.awt.Frame parent, boolean modal) { 67 super(parent, modal); 68 initAll(); 69 } 70 71 72 public CrosstabPropertiesDialog(java.awt.Dialog 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 () { 100 public void changedUpdate(javax.swing.event.DocumentEvent evt) { 101 jRTextExpressionAreaMapExpressionTextChanged(); 102 } 103 public void insertUpdate(javax.swing.event.DocumentEvent evt) { 104 jRTextExpressionAreaMapExpressionTextChanged(); 105 } 106 public void removeUpdate(javax.swing.event.DocumentEvent evt) { 107 jRTextExpressionAreaMapExpressionTextChanged(); 108 } 109 }); 110 111 this.jRTextExpressionAreaFilterExpression.getDocument().addDocumentListener( new javax.swing.event.DocumentListener () { 112 public void changedUpdate(javax.swing.event.DocumentEvent evt) { 113 jRTextExpressionAreaFilterExpressionTextChanged(); 114 } 115 public void insertUpdate(javax.swing.event.DocumentEvent evt) { 116 jRTextExpressionAreaFilterExpressionTextChanged(); 117 } 118 public void removeUpdate(javax.swing.event.DocumentEvent evt) { 119 jRTextExpressionAreaFilterExpressionTextChanged(); 120 } 121 }); 122 123 this.jRTextExpressionAreaTextConnectionExpression.getDocument().addDocumentListener( new javax.swing.event.DocumentListener () { 124 public void changedUpdate(javax.swing.event.DocumentEvent evt) { 125 jRTextExpressionAreaTextConnectionExpressionTextChanged(); 126 } 127 public void insertUpdate(javax.swing.event.DocumentEvent evt) { 128 jRTextExpressionAreaTextConnectionExpressionTextChanged(); 129 } 130 public void removeUpdate(javax.swing.event.DocumentEvent evt) { 131 jRTextExpressionAreaTextConnectionExpressionTextChanged(); 132 } 133 }); 134 135 javax.swing.DefaultListSelectionModel dlsm = (javax.swing.DefaultListSelectionModel )this.jTableDatasetParameters.getSelectionModel(); 136 dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 137 public void valueChanged(javax.swing.event.ListSelectionEvent e) { 138 jTableDatasetParametersListSelectionValueChanged(e); 139 } 140 }); 141 142 dlsm = (javax.swing.DefaultListSelectionModel )this.jTableMeasures.getSelectionModel(); 143 dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 144 public void valueChanged(javax.swing.event.ListSelectionEvent e) { 145 jTableMeasuresListSelectionValueChanged(e); 146 } 147 }); 148 149 dlsm = (javax.swing.DefaultListSelectionModel )this.jTableRowGroups.getSelectionModel(); 150 dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 151 public void valueChanged(javax.swing.event.ListSelectionEvent e) { 152 jTableRowGroupsListSelectionValueChanged(e); 153 } 154 }); 155 156 dlsm = (javax.swing.DefaultListSelectionModel )this.jTableColumnGroups.getSelectionModel(); 157 dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 158 public void valueChanged(javax.swing.event.ListSelectionEvent e) { 159 jTableColumnGroupsListSelectionValueChanged(e); 160 } 161 }); 162 163 this.jRTextExpressionAreaMapExpression.setCrosstabElements( new Vector ()); 164 this.jRTextExpressionAreaTextConnectionExpression.setCrosstabElements( new Vector ()); 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 escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 174 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 175 public void actionPerformed(java.awt.event.ActionEvent 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 186 } 187 188 189 190 public void applyI18n() 191 { 192 jCheckBoxPreSorted.setText(I18n.getString("crosstabPropertiesDialog.checkBoxPreSorted","Data is PreSorted")); 194 jCheckBoxUseDataset.setText(I18n.getString("crosstabPropertiesDialog.checkBoxUseDataset","Use a dataset to fill the crosstab")); 195 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 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 )jPanelDataset.getBorder()).setTitle( I18n.getString("datasetRun.panelBorder.Bucket","Dataset") ); 246 ((javax.swing.border.TitledBorder )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 257 private void initComponents() { 259 java.awt.GridBagConstraints gridBagConstraints; 260 261 jTabbedPane1 = new javax.swing.JTabbedPane (); 262 jPanel8 = new javax.swing.JPanel (); 263 jPanelDataset = new javax.swing.JPanel (); 264 jLabelResetType = new javax.swing.JLabel (); 265 jComboBoxResetType = new javax.swing.JComboBox (); 266 jLabelResetGroup = new javax.swing.JLabel (); 267 jComboBoxResetGroup = new javax.swing.JComboBox (); 268 jLabelIncrementType = new javax.swing.JLabel (); 269 jComboBoxIncrementType = new javax.swing.JComboBox (); 270 jLabelIncrementGroup = new javax.swing.JLabel (); 271 jComboBoxIncrementGroup = new javax.swing.JComboBox (); 272 jPanel1 = new javax.swing.JPanel (); 273 jLabelIncrementType1 = new javax.swing.JLabel (); 274 jComboBoxSubDataset = new javax.swing.JComboBox (); 275 jPanel7 = new javax.swing.JPanel (); 276 jTabbedPane2 = new javax.swing.JTabbedPane (); 277 jPanel4 = new javax.swing.JPanel (); 278 jPanel16 = new javax.swing.JPanel (); 279 jScrollPane2 = new javax.swing.JScrollPane (); 280 jTableDatasetParameters = new javax.swing.JTable (); 281 jPanel10 = new javax.swing.JPanel (); 282 jButtonAddParameter = new javax.swing.JButton (); 283 jButtonModParameter = new javax.swing.JButton (); 284 jButtonRemParameter = new javax.swing.JButton (); 285 jPanel13 = new javax.swing.JPanel (); 286 jPanel5 = new javax.swing.JPanel (); 287 jLabel26 = new javax.swing.JLabel (); 288 jRTextExpressionAreaMapExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 289 jPanel6 = new javax.swing.JPanel (); 290 jLabel41 = new javax.swing.JLabel (); 291 jComboBoxDatasetConnectionType = new javax.swing.JComboBox (); 292 jRTextExpressionAreaTextConnectionExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 293 jPanel2 = new javax.swing.JPanel (); 294 jButtonCopy = new javax.swing.JButton (); 295 jButtonPaste = new javax.swing.JButton (); 296 jPanel3 = new javax.swing.JPanel (); 297 jCheckBoxPreSorted = new javax.swing.JCheckBox (); 298 jLabelIncrementWhenExpression = new javax.swing.JLabel (); 299 jRTextExpressionAreaFilterExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 300 jCheckBoxUseDataset = new javax.swing.JCheckBox (); 301 jPanel9 = new javax.swing.JPanel (); 302 jLabel1 = new javax.swing.JLabel (); 303 jPanel18 = new javax.swing.JPanel (); 304 jScrollPane4 = new javax.swing.JScrollPane (); 305 jTableRowGroups = new javax.swing.JTable (); 306 jPanel15 = new javax.swing.JPanel (); 307 jButtonAddRowGroup = new javax.swing.JButton (); 308 jButtonModRowGroup = new javax.swing.JButton (); 309 jButtonRemRowGroup = new javax.swing.JButton (); 310 jButtonUpRowGroup = new javax.swing.JButton (); 311 jButtonDownRowGroup = new javax.swing.JButton (); 312 jPanel19 = new javax.swing.JPanel (); 313 jPanel20 = new javax.swing.JPanel (); 314 jScrollPane5 = new javax.swing.JScrollPane (); 315 jTableColumnGroups = new javax.swing.JTable (); 316 jPanel21 = new javax.swing.JPanel (); 317 jButtonAddColumnGroup = new javax.swing.JButton (); 318 jButtonModColumnGroup = new javax.swing.JButton (); 319 jButtonRemColumnGroup = new javax.swing.JButton (); 320 jButtonUpColumnGroup = new javax.swing.JButton (); 321 jButtonDownColumnGroup = new javax.swing.JButton (); 322 jPanel22 = new javax.swing.JPanel (); 323 jLabel2 = new javax.swing.JLabel (); 324 jPanel11 = new javax.swing.JPanel (); 325 jPanel17 = new javax.swing.JPanel (); 326 jScrollPane3 = new javax.swing.JScrollPane (); 327 jTableMeasures = new javax.swing.JTable (); 328 jPanel12 = new javax.swing.JPanel (); 329 jButtonAddMeasure = new javax.swing.JButton (); 330 jButtonModMeasure = new javax.swing.JButton (); 331 jButtonRemMeasure = new javax.swing.JButton (); 332 jPanel14 = new javax.swing.JPanel (); 333 334 getContentPane().setLayout(new java.awt.GridBagLayout ()); 335 336 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 337 setTitle("Crosstab properties"); 338 jPanel8.setLayout(new java.awt.GridBagLayout ()); 339 340 jPanelDataset.setLayout(new java.awt.GridBagLayout ()); 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 ("Dialog", 0, 11))); 343 jPanelDataset.setPreferredSize(new java.awt.Dimension (460, 420)); 344 jLabelResetType.setText("Reset type"); 345 gridBagConstraints = new java.awt.GridBagConstraints (); 346 gridBagConstraints.gridx = 0; 347 gridBagConstraints.gridy = 4; 348 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 349 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 350 jPanelDataset.add(jLabelResetType, gridBagConstraints); 351 352 jComboBoxResetType.addActionListener(new java.awt.event.ActionListener () { 353 public void actionPerformed(java.awt.event.ActionEvent evt) { 354 jComboBoxResetTypeActionPerformed(evt); 355 } 356 }); 357 358 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (3, 3, 3, 3); 365 jPanelDataset.add(jComboBoxResetType, gridBagConstraints); 366 367 jLabelResetGroup.setText("Reset group"); 368 gridBagConstraints = new java.awt.GridBagConstraints (); 369 gridBagConstraints.gridx = 1; 370 gridBagConstraints.gridy = 4; 371 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 372 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 373 jPanelDataset.add(jLabelResetGroup, gridBagConstraints); 374 375 jComboBoxResetGroup.addActionListener(new java.awt.event.ActionListener () { 376 public void actionPerformed(java.awt.event.ActionEvent evt) { 377 jComboBoxResetGroupActionPerformed(evt); 378 } 379 }); 380 381 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (3, 3, 3, 3); 388 jPanelDataset.add(jComboBoxResetGroup, gridBagConstraints); 389 390 jLabelIncrementType.setText("Increment type"); 391 gridBagConstraints = new java.awt.GridBagConstraints (); 392 gridBagConstraints.gridx = 0; 393 gridBagConstraints.gridy = 6; 394 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 395 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 396 jPanelDataset.add(jLabelIncrementType, gridBagConstraints); 397 398 jComboBoxIncrementType.addActionListener(new java.awt.event.ActionListener () { 399 public void actionPerformed(java.awt.event.ActionEvent evt) { 400 jComboBoxIncrementTypeActionPerformed(evt); 401 } 402 }); 403 404 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (3, 3, 3, 3); 411 jPanelDataset.add(jComboBoxIncrementType, gridBagConstraints); 412 413 jLabelIncrementGroup.setText("Increment group"); 414 gridBagConstraints = new java.awt.GridBagConstraints (); 415 gridBagConstraints.gridx = 1; 416 gridBagConstraints.gridy = 6; 417 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 418 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 419 jPanelDataset.add(jLabelIncrementGroup, gridBagConstraints); 420 421 jComboBoxIncrementGroup.addActionListener(new java.awt.event.ActionListener () { 422 public void actionPerformed(java.awt.event.ActionEvent evt) { 423 jComboBoxIncrementGroupActionPerformed(evt); 424 } 425 }); 426 427 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (3, 3, 3, 3); 434 jPanelDataset.add(jComboBoxIncrementGroup, gridBagConstraints); 435 436 jPanel1.setLayout(new java.awt.GridBagLayout ()); 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 ("Dialog", 0, 11))); 439 jPanel1.setMinimumSize(new java.awt.Dimension (329, 180)); 440 jPanel1.setPreferredSize(new java.awt.Dimension (430, 180)); 441 jLabelIncrementType1.setText("Sub dataset"); 442 gridBagConstraints = new java.awt.GridBagConstraints (); 443 gridBagConstraints.gridx = 0; 444 gridBagConstraints.gridy = 0; 445 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 446 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 447 jPanel1.add(jLabelIncrementType1, gridBagConstraints); 448 449 jComboBoxSubDataset.setMinimumSize(new java.awt.Dimension (23, 22)); 450 jComboBoxSubDataset.addActionListener(new java.awt.event.ActionListener () { 451 public void actionPerformed(java.awt.event.ActionEvent evt) { 452 jComboBoxSubDatasetActionPerformed(evt); 453 } 454 }); 455 456 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (3, 3, 3, 3); 463 jPanel1.add(jComboBoxSubDataset, gridBagConstraints); 464 465 jPanel7.setLayout(new java.awt.GridBagLayout ()); 466 467 jPanel4.setLayout(new java.awt.GridBagLayout ()); 468 469 jPanel16.setLayout(new java.awt.GridBagLayout ()); 470 471 jScrollPane2.setMinimumSize(new java.awt.Dimension (300, 50)); 472 jScrollPane2.setPreferredSize(new java.awt.Dimension (300, 50)); 473 jTableDatasetParameters.setModel(new javax.swing.table.DefaultTableModel ( 474 new Object [][] { 475 476 }, 477 new String [] { 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 () { 490 public void mouseClicked(java.awt.event.MouseEvent evt) { 491 jTableDatasetParametersMouseClicked(evt); 492 } 493 }); 494 495 jScrollPane2.setViewportView(jTableDatasetParameters); 496 497 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 505 jPanel16.add(jScrollPane2, gridBagConstraints); 506 507 jPanel10.setLayout(new java.awt.GridBagLayout ()); 508 509 jButtonAddParameter.setText("Add"); 510 jButtonAddParameter.addActionListener(new java.awt.event.ActionListener () { 511 public void actionPerformed(java.awt.event.ActionEvent evt) { 512 jButtonAddParameterActionPerformed(evt); 513 } 514 }); 515 516 gridBagConstraints = new java.awt.GridBagConstraints (); 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 () { 527 public void actionPerformed(java.awt.event.ActionEvent evt) { 528 jButtonModParameterActionPerformed(evt); 529 } 530 }); 531 532 gridBagConstraints = new java.awt.GridBagConstraints (); 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 () { 543 public void actionPerformed(java.awt.event.ActionEvent evt) { 544 jButtonRemParameterActionPerformed(evt); 545 } 546 }); 547 548 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (); 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 (); 563 gridBagConstraints.gridy = 0; 564 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 565 gridBagConstraints.weighty = 1.0; 566 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 4); 567 jPanel16.add(jPanel10, gridBagConstraints); 568 569 gridBagConstraints = new java.awt.GridBagConstraints (); 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 ()); 578 579 jLabel26.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); 580 jLabel26.setText("Parameters Map Expression"); 581 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (0, 0)); 592 jRTextExpressionAreaMapExpression.setPreferredSize(new java.awt.Dimension (300, 50)); 593 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 ()); 607 608 jLabel41.setText("Connection / Datasource Expression"); 609 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 6, 0, 0); 615 jPanel6.add(jLabel41, gridBagConstraints); 616 617 jComboBoxDatasetConnectionType.setMinimumSize(new java.awt.Dimension (300, 20)); 618 jComboBoxDatasetConnectionType.setPreferredSize(new java.awt.Dimension (300, 20)); 619 jComboBoxDatasetConnectionType.addActionListener(new java.awt.event.ActionListener () { 620 public void actionPerformed(java.awt.event.ActionEvent evt) { 621 jComboBoxDatasetConnectionTypeActionPerformed(evt); 622 } 623 }); 624 625 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (300, 50)); 636 jRTextExpressionAreaTextConnectionExpression.setPreferredSize(new java.awt.Dimension (300, 50)); 637 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 4, 4, 4); 645 jPanel6.add(jRTextExpressionAreaTextConnectionExpression, gridBagConstraints); 646 647 jTabbedPane2.addTab("Connection/Datasource exp", jPanel6); 648 649 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 0, 0, 0); 656 jPanel7.add(jTabbedPane2, gridBagConstraints); 657 658 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (); 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 (4, 4, 4, 4); 673 jPanelDataset.add(jPanel1, gridBagConstraints); 674 675 jPanel2.setLayout(new java.awt.GridBagLayout ()); 676 677 jButtonCopy.setText("Copy dataset"); 678 jButtonCopy.addActionListener(new java.awt.event.ActionListener () { 679 public void actionPerformed(java.awt.event.ActionEvent evt) { 680 jButtonCopyActionPerformed(evt); 681 } 682 }); 683 684 gridBagConstraints = new java.awt.GridBagConstraints (); 685 gridBagConstraints.insets = new java.awt.Insets (0, 0, 0, 4); 686 jPanel2.add(jButtonCopy, gridBagConstraints); 687 688 jButtonPaste.setText("Paste dataset"); 689 jButtonPaste.addActionListener(new java.awt.event.ActionListener () { 690 public void actionPerformed(java.awt.event.ActionEvent evt) { 691 jButtonPasteActionPerformed(evt); 692 } 693 }); 694 695 jPanel2.add(jButtonPaste, new java.awt.GridBagConstraints ()); 696 697 gridBagConstraints = new java.awt.GridBagConstraints (); 698 gridBagConstraints.weightx = 1.0; 699 jPanel2.add(jPanel3, gridBagConstraints); 700 701 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (0, 0, 0, 0)); 712 jCheckBoxPreSorted.addActionListener(new java.awt.event.ActionListener () { 713 public void actionPerformed(java.awt.event.ActionEvent evt) { 714 jCheckBoxPreSortedActionPerformed(evt); 715 } 716 }); 717 718 gridBagConstraints = new java.awt.GridBagConstraints (); 719 gridBagConstraints.gridwidth = 2; 720 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 721 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 722 jPanelDataset.add(jCheckBoxPreSorted, gridBagConstraints); 723 724 jLabelIncrementWhenExpression.setText("Increment When expression"); 725 gridBagConstraints = new java.awt.GridBagConstraints (); 726 gridBagConstraints.gridx = 0; 727 gridBagConstraints.gridy = 8; 728 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 729 gridBagConstraints.insets = new java.awt.Insets (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 (400, 50)); 736 jRTextExpressionAreaFilterExpression.setPreferredSize(new java.awt.Dimension (400, 50)); 737 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (0, 3, 3, 3); 745 jPanelDataset.add(jRTextExpressionAreaFilterExpression, gridBagConstraints); 746 747 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (0, 0, 0, 0)); 758 jCheckBoxUseDataset.addActionListener(new java.awt.event.ActionListener () { 759 public void actionPerformed(java.awt.event.ActionEvent evt) { 760 jCheckBoxUseDatasetActionPerformed(evt); 761 } 762 }); 763 764 gridBagConstraints = new java.awt.GridBagConstraints (); 765 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 766 gridBagConstraints.insets = new java.awt.Insets (8, 8, 8, 4); 767 jPanel8.add(jCheckBoxUseDataset, gridBagConstraints); 768 769 jTabbedPane1.addTab("Crosstab data", jPanel8); 770 771 jPanel9.setLayout(new java.awt.GridBagLayout ()); 772 773 jLabel1.setText("Row groups"); 774 gridBagConstraints = new java.awt.GridBagConstraints (); 775 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 776 gridBagConstraints.weightx = 1.0; 777 gridBagConstraints.insets = new java.awt.Insets (4, 6, 0, 6); 778 jPanel9.add(jLabel1, gridBagConstraints); 779 780 jPanel18.setLayout(new java.awt.GridBagLayout ()); 781 782 jScrollPane4.setMinimumSize(new java.awt.Dimension (300, 50)); 783 jScrollPane4.setPreferredSize(new java.awt.Dimension (300, 50)); 784 jTableRowGroups.setModel(new javax.swing.table.DefaultTableModel ( 785 new Object [][] { 786 787 }, 788 new String [] { 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 () { 801 public void mouseClicked(java.awt.event.MouseEvent evt) { 802 jTableRowGroupsMouseClicked(evt); 803 } 804 }); 805 806 jScrollPane4.setViewportView(jTableRowGroups); 807 808 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 6, 0, 6); 817 jPanel18.add(jScrollPane4, gridBagConstraints); 818 819 jPanel15.setLayout(new java.awt.GridBagLayout ()); 820 821 jButtonAddRowGroup.setText("Add"); 822 jButtonAddRowGroup.addActionListener(new java.awt.event.ActionListener () { 823 public void actionPerformed(java.awt.event.ActionEvent evt) { 824 jButtonAddRowGroupActionPerformed(evt); 825 } 826 }); 827 828 gridBagConstraints = new java.awt.GridBagConstraints (); 829 gridBagConstraints.gridx = 0; 830 gridBagConstraints.gridy = 0; 831 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 832 gridBagConstraints.insets = new java.awt.Insets (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 () { 838 public void actionPerformed(java.awt.event.ActionEvent evt) { 839 jButtonModRowGroupActionPerformed(evt); 840 } 841 }); 842 843 gridBagConstraints = new java.awt.GridBagConstraints (); 844 gridBagConstraints.gridx = 1; 845 gridBagConstraints.gridy = 0; 846 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 847 gridBagConstraints.insets = new java.awt.Insets (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 () { 853 public void actionPerformed(java.awt.event.ActionEvent evt) { 854 jButtonRemRowGroupActionPerformed(evt); 855 } 856 }); 857 858 gridBagConstraints = new java.awt.GridBagConstraints (); 859 gridBagConstraints.gridx = 2; 860 gridBagConstraints.gridy = 0; 861 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 862 gridBagConstraints.insets = new java.awt.Insets (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 () { 868 public void actionPerformed(java.awt.event.ActionEvent evt) { 869 jButtonUpRowGroupActionPerformed(evt); 870 } 871 }); 872 873 gridBagConstraints = new java.awt.GridBagConstraints (); 874 gridBagConstraints.gridx = 3; 875 gridBagConstraints.gridy = 0; 876 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 877 gridBagConstraints.insets = new java.awt.Insets (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 () { 883 public void actionPerformed(java.awt.event.ActionEvent evt) { 884 jButtonDownRowGroupActionPerformed(evt); 885 } 886 }); 887 888 gridBagConstraints = new java.awt.GridBagConstraints (); 889 gridBagConstraints.gridx = 4; 890 gridBagConstraints.gridy = 0; 891 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 892 gridBagConstraints.insets = new java.awt.Insets (4, 6, 6, 0); 893 jPanel15.add(jButtonDownRowGroup, gridBagConstraints); 894 895 gridBagConstraints = new java.awt.GridBagConstraints (); 896 gridBagConstraints.gridx = 99; 897 gridBagConstraints.weightx = 1.0; 898 jPanel15.add(jPanel19, gridBagConstraints); 899 900 gridBagConstraints = new java.awt.GridBagConstraints (); 901 gridBagConstraints.gridy = 9; 902 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 903 gridBagConstraints.weightx = 1.0; 904 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 6); 905 jPanel18.add(jPanel15, gridBagConstraints); 906 907 gridBagConstraints = new java.awt.GridBagConstraints (); 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 ()); 915 916 jScrollPane5.setMinimumSize(new java.awt.Dimension (300, 50)); 917 jScrollPane5.setPreferredSize(new java.awt.Dimension (300, 50)); 918 jTableColumnGroups.setModel(new javax.swing.table.DefaultTableModel ( 919 new Object [][] { 920 921 }, 922 new String [] { 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 () { 935 public void mouseClicked(java.awt.event.MouseEvent evt) { 936 jTableColumnGroupsMouseClicked(evt); 937 } 938 }); 939 940 jScrollPane5.setViewportView(jTableColumnGroups); 941 942 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 6, 0, 6); 951 jPanel20.add(jScrollPane5, gridBagConstraints); 952 953 jPanel21.setLayout(new java.awt.GridBagLayout ()); 954 955 jButtonAddColumnGroup.setText("Add"); 956 jButtonAddColumnGroup.addActionListener(new java.awt.event.ActionListener () { 957 public void actionPerformed(java.awt.event.ActionEvent evt) { 958 jButtonAddColumnGroupActionPerformed(evt); 959 } 960 }); 961 962 gridBagConstraints = new java.awt.GridBagConstraints (); 963 gridBagConstraints.gridx = 0; 964 gridBagConstraints.gridy = 0; 965 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 966 gridBagConstraints.insets = new java.awt.Insets (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 () { 972 public void actionPerformed(java.awt.event.ActionEvent evt) { 973 jButtonModColumnGroupActionPerformed(evt); 974 } 975 }); 976 977 gridBagConstraints = new java.awt.GridBagConstraints (); 978 gridBagConstraints.gridx = 1; 979 gridBagConstraints.gridy = 0; 980 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 981 gridBagConstraints.insets = new java.awt.Insets (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 () { 987 public void actionPerformed(java.awt.event.ActionEvent evt) { 988 jButtonRemColumnGroupActionPerformed(evt); 989 } 990 }); 991 992 gridBagConstraints = new java.awt.GridBagConstraints (); 993 gridBagConstraints.gridx = 2; 994 gridBagConstraints.gridy = 0; 995 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 996 gridBagConstraints.insets = new java.awt.Insets (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 () { 1002 public void actionPerformed(java.awt.event.ActionEvent evt) { 1003 jButtonUpColumnGroupActionPerformed(evt); 1004 } 1005 }); 1006 1007 gridBagConstraints = new java.awt.GridBagConstraints (); 1008 gridBagConstraints.gridx = 3; 1009 gridBagConstraints.gridy = 0; 1010 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1011 gridBagConstraints.insets = new java.awt.Insets (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 () { 1017 public void actionPerformed(java.awt.event.ActionEvent evt) { 1018 jButtonDownColumnGroupActionPerformed(evt); 1019 } 1020 }); 1021 1022 gridBagConstraints = new java.awt.GridBagConstraints (); 1023 gridBagConstraints.gridx = 4; 1024 gridBagConstraints.gridy = 0; 1025 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1026 gridBagConstraints.insets = new java.awt.Insets (4, 6, 6, 0); 1027 jPanel21.add(jButtonDownColumnGroup, gridBagConstraints); 1028 1029 gridBagConstraints = new java.awt.GridBagConstraints (); 1030 gridBagConstraints.gridx = 99; 1031 gridBagConstraints.weightx = 1.0; 1032 jPanel21.add(jPanel22, gridBagConstraints); 1033 1034 gridBagConstraints = new java.awt.GridBagConstraints (); 1035 gridBagConstraints.gridy = 9; 1036 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1037 gridBagConstraints.weightx = 1.0; 1038 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 6); 1039 jPanel20.add(jPanel21, gridBagConstraints); 1040 1041 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (); 1050 gridBagConstraints.gridy = 3; 1051 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1052 gridBagConstraints.weightx = 1.0; 1053 gridBagConstraints.insets = new java.awt.Insets (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 ()); 1059 1060 jPanel17.setLayout(new java.awt.GridBagLayout ()); 1061 1062 jScrollPane3.setMinimumSize(new java.awt.Dimension (300, 50)); 1063 jScrollPane3.setPreferredSize(new java.awt.Dimension (300, 50)); 1064 jTableMeasures.setModel(new javax.swing.table.DefaultTableModel ( 1065 new Object [][] { 1066 1067 }, 1068 new String [] { 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 () { 1081 public void mouseClicked(java.awt.event.MouseEvent evt) { 1082 jTableMeasuresMouseClicked(evt); 1083 } 1084 }); 1085 1086 jScrollPane3.setViewportView(jTableMeasures); 1087 1088 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 6, 0, 6); 1097 jPanel17.add(jScrollPane3, gridBagConstraints); 1098 1099 jPanel12.setLayout(new java.awt.GridBagLayout ()); 1100 1101 jButtonAddMeasure.setText("Add"); 1102 jButtonAddMeasure.addActionListener(new java.awt.event.ActionListener () { 1103 public void actionPerformed(java.awt.event.ActionEvent evt) { 1104 jButtonAddMeasureActionPerformed(evt); 1105 } 1106 }); 1107 1108 gridBagConstraints = new java.awt.GridBagConstraints (); 1109 gridBagConstraints.gridx = 0; 1110 gridBagConstraints.gridy = 0; 1111 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1112 gridBagConstraints.insets = new java.awt.Insets (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 () { 1118 public void actionPerformed(java.awt.event.ActionEvent evt) { 1119 jButtonModMeasureActionPerformed(evt); 1120 } 1121 }); 1122 1123 gridBagConstraints = new java.awt.GridBagConstraints (); 1124 gridBagConstraints.gridx = 1; 1125 gridBagConstraints.gridy = 0; 1126 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1127 gridBagConstraints.insets = new java.awt.Insets (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 () { 1133 public void actionPerformed(java.awt.event.ActionEvent evt) { 1134 jButtonRemMeasureActionPerformed(evt); 1135 } 1136 }); 1137 1138 gridBagConstraints = new java.awt.GridBagConstraints (); 1139 gridBagConstraints.gridx = 2; 1140 gridBagConstraints.gridy = 0; 1141 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1142 gridBagConstraints.insets = new java.awt.Insets (4, 6, 6, 0); 1143 jPanel12.add(jButtonRemMeasure, gridBagConstraints); 1144 1145 gridBagConstraints = new java.awt.GridBagConstraints (); 1146 gridBagConstraints.gridx = 4; 1147 gridBagConstraints.weightx = 1.0; 1148 jPanel12.add(jPanel14, gridBagConstraints); 1149 1150 gridBagConstraints = new java.awt.GridBagConstraints (); 1151 gridBagConstraints.gridy = 9; 1152 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1153 gridBagConstraints.weightx = 1.0; 1154 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 6); 1155 jPanel17.add(jPanel12, gridBagConstraints); 1156 1157 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (); 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 } 1174 private void jButtonDownColumnGroupActionPerformed(java.awt.event.ActionEvent evt) { 1176 if (this.isInit()) return; 1177 1178 if (currentCrosstabReportElement == null) return; 1179 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )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 []{group}); 1191 currentCrosstabReportElement.modifyGroup(group.getName(), group); 1192 } 1193 1194 } 1196 private void jButtonUpColumnGroupActionPerformed(java.awt.event.ActionEvent evt) { 1198 if (this.isInit()) return; 1199 1200 if (currentCrosstabReportElement == null) return; 1201 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )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 []{group}); 1213 currentCrosstabReportElement.modifyGroup(group.getName(), group); 1214 } 1215 } 1217 private void jButtonDownRowGroupActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1219 1220 if (currentCrosstabReportElement == null) return; 1221 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )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 []{group}); 1233 currentCrosstabReportElement.modifyGroup(group.getName(), group); 1234 } 1235 } 1237 private void jButtonUpRowGroupActionPerformed(java.awt.event.ActionEvent evt) { 1239 if (this.isInit()) return; 1240 1241 if (currentCrosstabReportElement == null) return; 1242 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )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 []{group}); 1254 currentCrosstabReportElement.modifyGroup(group.getName(), group); 1255 } 1256 1257 } 1259 private void jButtonRemColumnGroupActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1261 1262 if (currentCrosstabReportElement == null) return; 1263 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )jTableColumnGroups.getModel(); 1264 1265 Vector groupsToRemove = new Vector (); 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 } 1274 private void jButtonModColumnGroupActionPerformed(java.awt.event.ActionEvent evt) { 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 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 dtm = (javax.swing.table.DefaultTableModel )jTableColumnGroups.getModel(); 1303 dtm.setValueAt(rg, rowNumber, 0); 1304 jTableColumnGroups.updateUI(); 1305 currentCrosstabReportElement.modifyGroup(oldName, rg); 1306 } 1307 } 1309 private void jButtonAddColumnGroupActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1311 1312 if (currentCrosstabReportElement == null) return; 1313 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 dtm = (javax.swing.table.DefaultTableModel )jTableColumnGroups.getModel(); 1337 dtm.addRow(new Object []{rg}); 1338 currentCrosstabReportElement.addGroup(rg); 1339 } 1340 } 1342 private void jTableColumnGroupsMouseClicked(java.awt.event.MouseEvent evt) { if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1) 1344 { 1345 if (jTableColumnGroups.getSelectedRowCount() > 0) 1346 { 1347 jButtonModColumnGroupActionPerformed(null); 1348 } 1349 } 1350 } 1352 private void jTableRowGroupsMouseClicked(java.awt.event.MouseEvent evt) {if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1) 1354 { 1355 if (jTableRowGroups.getSelectedRowCount() > 0) 1356 { 1357 jButtonModRowGroupActionPerformed(null); 1358 } 1359 } 1360 } 1362 private void jButtonRemRowGroupActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1364 1365 if (currentCrosstabReportElement == null) return; 1366 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )jTableRowGroups.getModel(); 1367 1368 ArrayList groupsToRemove = new ArrayList (); 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 } 1379 private void jButtonModRowGroupActionPerformed(java.awt.event.ActionEvent evt) { 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 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 dtm = (javax.swing.table.DefaultTableModel )jTableRowGroups.getModel(); 1408 dtm.setValueAt(rg, rowNumber, 0); 1409 jTableRowGroups.updateUI(); 1410 currentCrosstabReportElement.modifyGroup(oldName, rg); 1411 } 1412 } 1414 private void jButtonAddRowGroupActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1416 1417 if (currentCrosstabReportElement == null) return; 1418 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 dtm = (javax.swing.table.DefaultTableModel )jTableRowGroups.getModel(); 1441 dtm.addRow(new Object []{rg}); 1442 currentCrosstabReportElement.addGroup(rg); 1443 } 1444 } 1446 private void jTableMeasuresMouseClicked(java.awt.event.MouseEvent evt) { if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1) 1448 { 1449 if (jTableMeasures.getSelectedRowCount() > 0) 1450 { 1451 jButtonModMeasureActionPerformed(null); 1452 } 1453 } 1454 } 1456 private void jButtonRemMeasureActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1458 1459 if (currentCrosstabReportElement == null) return; 1460 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )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 } 1470 private void jButtonModMeasureActionPerformed(java.awt.event.ActionEvent evt) { 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 dtm = (javax.swing.table.DefaultTableModel )jTableMeasures.getModel(); 1494 dtm.setValueAt(measure, rowNumber, 0); 1495 dtm.setValueAt(measure.getExpression(), rowNumber, 1); 1496 jTableMeasures.updateUI(); 1497 } 1498 } 1500 private void jButtonAddMeasureActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1502 1503 if (currentCrosstabReportElement == null) return; 1504 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 dtm = (javax.swing.table.DefaultTableModel )jTableMeasures.getModel(); 1514 dtm.addRow(new Object []{measure, measure.getClassType()}); 1515 } 1516 } 1518 private void jButtonPasteActionPerformed(java.awt.event.ActionEvent evt) { 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 } 1549 private void jButtonCopyActionPerformed(java.awt.event.ActionEvent evt) { 1551 if (currentCrosstabReportElement == null) return; 1552 it.businesslogic.ireport.gui.MainFrame.getMainInstance().setChartDatasetClipBoard( currentCrosstabReportElement.getDataset().cloneMe() ); 1553 jButtonPaste.setEnabled(true); 1554 } 1556 private void jComboBoxIncrementGroupActionPerformed(java.awt.event.ActionEvent evt) { if (isInit() || currentCrosstabReportElement == null) return; 1558 currentCrosstabReportElement.getDataset().setIncrementGroup( ""+jComboBoxIncrementGroup.getSelectedItem()); 1559 notifyChange(); 1560 } 1562 private void jComboBoxIncrementTypeActionPerformed(java.awt.event.ActionEvent evt) { 1564 if (isInit() || currentCrosstabReportElement == null) return; 1565 currentCrosstabReportElement.getDataset().setIncrementType( ((Tag)jComboBoxIncrementType.getSelectedItem()).getValue()+""); 1566 1567 if (currentCrosstabReportElement.getDataset().getIncrementType().equals("Group")) 1568 { 1569 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 } 1587 private void jComboBoxResetGroupActionPerformed(java.awt.event.ActionEvent evt) { 1589 if (isInit() || currentCrosstabReportElement == null) return; 1590 currentCrosstabReportElement.getDataset().setResetGroup( ""+jComboBoxResetGroup.getSelectedItem()); 1591 notifyChange(); 1592 } 1594 private void jComboBoxResetTypeActionPerformed(java.awt.event.ActionEvent evt) { if (isInit() || currentCrosstabReportElement == null) return; 1596 currentCrosstabReportElement.getDataset().setResetType( ((Tag)jComboBoxResetType.getSelectedItem()).getValue()+"" ); 1597 1598 if (currentCrosstabReportElement.getDataset().getResetType().equals("Group")) 1599 { 1600 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 } 1619 private void jButtonRemParameterActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1621 1622 if (currentCrosstabReportElement == null) return; 1623 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )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 } 1633 private void jButtonModParameterActionPerformed(java.awt.event.ActionEvent evt) { 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 dtm = (javax.swing.table.DefaultTableModel )jTableDatasetParameters.getModel(); 1648 dtm.setValueAt(parameter, rowNumber, 0); 1649 dtm.setValueAt(parameter.getExpression(), rowNumber, 1); 1650 jTableDatasetParameters.updateUI(); 1651 notifyChange(); 1652 } 1653 } 1655 private void jButtonAddParameterActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1657 1658 if (currentCrosstabReportElement == null) return; 1659 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 dtm = (javax.swing.table.DefaultTableModel )jTableDatasetParameters.getModel(); 1668 dtm.addRow(new Object []{parameter, parameter.getExpression()}); 1669 notifyChange(); 1670 } 1671 } 1673 private void jTableDatasetParametersMouseClicked(java.awt.event.MouseEvent evt) { if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1) 1675 { 1676 if (jTableDatasetParameters.getSelectedRowCount() > 0) 1677 { 1678 jButtonModParameterActionPerformed(null); 1679 } 1680 } 1681 } 1683 private void jComboBoxDatasetConnectionTypeActionPerformed(java.awt.event.ActionEvent evt) { 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 } 1713 private void jCheckBoxPreSortedActionPerformed(java.awt.event.ActionEvent evt) { if (this.isInit()) return; 1715 1716 if (currentCrosstabReportElement != null) 1717 { 1718 currentCrosstabReportElement.setPreSorted( jCheckBoxPreSorted.isSelected() ); 1719 } 1720 1721 } 1723 private void jCheckBoxUseDatasetActionPerformed(java.awt.event.ActionEvent evt) { 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 } 1737 private void jComboBoxSubDatasetActionPerformed(java.awt.event.ActionEvent evt) { 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 } 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 dtm = (javax.swing.table.DefaultTableModel )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 } 1778 1781 public static void main(String args[]) { 1782 java.awt.EventQueue.invokeLater(new Runnable () { 1783 public void run() { 1784 new CrosstabPropertiesDialog(new javax.swing.JFrame (), true).setVisible(true); 1785 } 1786 }); 1787 } 1788 1789 private javax.swing.JButton jButtonAddColumnGroup; 1791 private javax.swing.JButton jButtonAddMeasure; 1792 private javax.swing.JButton jButtonAddParameter; 1793 private javax.swing.JButton jButtonAddRowGroup; 1794 private javax.swing.JButton jButtonCopy; 1795 private javax.swing.JButton jButtonDownColumnGroup; 1796 private javax.swing.JButton jButtonDownRowGroup; 1797 private javax.swing.JButton jButtonModColumnGroup; 1798 private javax.swing.JButton jButtonModMeasure; 1799 private javax.swing.JButton jButtonModParameter; 1800 private javax.swing.JButton jButtonModRowGroup; 1801 private javax.swing.JButton jButtonPaste; 1802 private javax.swing.JButton jButtonRemColumnGroup; 1803 private javax.swing.JButton jButtonRemMeasure; 1804 private javax.swing.JButton jButtonRemParameter; 1805 private javax.swing.JButton jButtonRemRowGroup; 1806 private javax.swing.JButton jButtonUpColumnGroup; 1807 private javax.swing.JButton jButtonUpRowGroup; 1808 private javax.swing.JCheckBox jCheckBoxPreSorted; 1809 private javax.swing.JCheckBox jCheckBoxUseDataset; 1810 private javax.swing.JComboBox jComboBoxDatasetConnectionType; 1811 private javax.swing.JComboBox jComboBoxIncrementGroup; 1812 private javax.swing.JComboBox jComboBoxIncrementType; 1813 private javax.swing.JComboBox jComboBoxResetGroup; 1814 private javax.swing.JComboBox jComboBoxResetType; 1815 private javax.swing.JComboBox jComboBoxSubDataset; 1816 private javax.swing.JLabel jLabel1; 1817 private javax.swing.JLabel jLabel2; 1818 private javax.swing.JLabel jLabel26; 1819 private javax.swing.JLabel jLabel41; 1820 private javax.swing.JLabel jLabelIncrementGroup; 1821 private javax.swing.JLabel jLabelIncrementType; 1822 private javax.swing.JLabel jLabelIncrementType1; 1823 private javax.swing.JLabel jLabelIncrementWhenExpression; 1824 private javax.swing.JLabel jLabelResetGroup; 1825 private javax.swing.JLabel jLabelResetType; 1826 private javax.swing.JPanel jPanel1; 1827 private javax.swing.JPanel jPanel10; 1828 private javax.swing.JPanel jPanel11; 1829 private javax.swing.JPanel jPanel12; 1830 private javax.swing.JPanel jPanel13; 1831 private javax.swing.JPanel jPanel14; 1832 private javax.swing.JPanel jPanel15; 1833 private javax.swing.JPanel jPanel16; 1834 private javax.swing.JPanel jPanel17; 1835 private javax.swing.JPanel jPanel18; 1836 private javax.swing.JPanel jPanel19; 1837 private javax.swing.JPanel jPanel2; 1838 private javax.swing.JPanel jPanel20; 1839 private javax.swing.JPanel jPanel21; 1840 private javax.swing.JPanel jPanel22; 1841 private javax.swing.JPanel jPanel3; 1842 private javax.swing.JPanel jPanel4; 1843 private javax.swing.JPanel jPanel5; 1844 private javax.swing.JPanel jPanel6; 1845 private javax.swing.JPanel jPanel7; 1846 private javax.swing.JPanel jPanel8; 1847 private javax.swing.JPanel jPanel9; 1848 private javax.swing.JPanel 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 jScrollPane2; 1853 private javax.swing.JScrollPane jScrollPane3; 1854 private javax.swing.JScrollPane jScrollPane4; 1855 private javax.swing.JScrollPane jScrollPane5; 1856 private javax.swing.JTabbedPane jTabbedPane1; 1857 private javax.swing.JTabbedPane jTabbedPane2; 1858 private javax.swing.JTable jTableColumnGroups; 1859 private javax.swing.JTable jTableDatasetParameters; 1860 private javax.swing.JTable jTableMeasures; 1861 private javax.swing.JTable jTableRowGroups; 1862 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 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 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 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 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 dtm = (javax.swing.table.DefaultTableModel )jTableMeasures.getModel(); 1959 dtm.setRowCount(0); 1960 1961 javax.swing.table.DefaultTableModel dtmRG = (javax.swing.table.DefaultTableModel )jTableRowGroups.getModel(); 1962 dtmRG.setRowCount(0); 1963 1964 javax.swing.table.DefaultTableModel dtmCG = (javax.swing.table.DefaultTableModel )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 enum_measures = currentCrosstabReportElement.getMeasures().elements(); 1979 1980 while (enum_measures.hasMoreElements()) 1981 { 1982 Measure measure = (Measure)enum_measures.nextElement(); 1983 dtm.addRow(new Object []{measure, measure.getClassType()}); 1984 } 1985 1986 Enumeration enum_groups = currentCrosstabReportElement.getRowGroups().elements(); 1987 while (enum_groups.hasMoreElements()) 1988 { 1989 dtmRG.addRow(new Object []{enum_groups.nextElement()}); 1990 } 1991 1992 enum_groups = currentCrosstabReportElement.getColumnGroups().elements(); 1993 while (enum_groups.hasMoreElements()) 1994 { 1995 dtmCG.addRow(new Object []{enum_groups.nextElement()}); 1996 } 1997 } 1998 1999 } catch (Exception 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 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 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 } 2090 2091 2092 2095 public void loadDataset() 2096 { 2097 if (currentCrosstabReportElement == null) return; 2098 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 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )jTableDatasetParameters.getModel(); 2136 dtm.setRowCount(0); 2137 2138 java.util.Enumeration 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 row = new Vector (); 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 dtm = (javax.swing.table.DefaultTableModel )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 |