1 32 33 package it.businesslogic.ireport.gui.subdataset; 34 35 import it.businesslogic.ireport.SubDataset; 36 import it.businesslogic.ireport.gui.MainFrame; 37 import it.businesslogic.ireport.gui.PropertiesDialog; 38 import it.businesslogic.ireport.gui.ReportQueryDialog; 39 import it.businesslogic.ireport.gui.ValuesDialog; 40 import it.businesslogic.ireport.gui.event.ReportSubDatasetChangedEvent; 41 import it.businesslogic.ireport.gui.sheet.Tag; 42 import it.businesslogic.ireport.util.Misc; 43 import java.util.Enumeration ; 44 import it.businesslogic.ireport.util.I18n; 45 49 public class SubDatasetDialog extends javax.swing.JDialog { 50 51 52 private SubDataset subDataset = null; 53 private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION; 54 55 56 public SubDatasetDialog(java.awt.Frame parent, boolean modal) { 57 super(parent, modal); 58 initComponents(); 59 afterInit(); 60 } 61 62 public SubDatasetDialog(java.awt.Dialog parent, boolean modal) { 63 super(parent, modal); 64 initComponents(); 65 afterInit(); 66 } 67 68 public void afterInit() 69 { 70 72 this.pack(); 73 it.businesslogic.ireport.util.Misc.centerFrame(this); 75 76 this.jComboBoxWhenResourceMissingType.addItem(new Tag("Null",it.businesslogic.ireport.util.I18n.getString("whenResourceMissingType.Null","Null"))); 77 this.jComboBoxWhenResourceMissingType.addItem(new Tag("Empty",it.businesslogic.ireport.util.I18n.getString("whenResourceMissingType.Empty","Empty"))); 78 this.jComboBoxWhenResourceMissingType.addItem(new Tag("Key",it.businesslogic.ireport.util.I18n.getString("whenResourceMissingType.Key","Key"))); 79 this.jComboBoxWhenResourceMissingType.addItem(new Tag("Error",it.businesslogic.ireport.util.I18n.getString("whenResourceMissingType.Error","Error"))); 80 81 applyI18n(); 82 83 it.businesslogic.ireport.util.Misc.setComboboxSelectedTagValue(jComboBoxWhenResourceMissingType, "Null"); 84 85 86 boolean found = true; 87 for (int i=1; found; ++i) 88 { 89 found = false; 90 Enumeration e = it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame().getReport().getSubDatasets().elements(); 91 while (e.hasMoreElements() && !found) 92 { 93 SubDataset dataset = (SubDataset)e.nextElement(); 94 if (dataset.getName().equals("SubDataset" + i)) 95 { 96 found = true; 97 } 98 } 99 if (!found) 100 { 101 jTextFieldName.setText("SubDataset" + i); 102 } 103 } 104 105 jTextFieldResourceBoundle.setText( it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame().getReport().getResourceBundleBaseName()); 106 107 } 108 109 110 115 private void initComponents() { 117 java.awt.GridBagConstraints gridBagConstraints; 118 119 jPanel4 = new javax.swing.JPanel (); 120 jLabelName = new javax.swing.JLabel (); 121 jTextFieldName = new javax.swing.JTextField (); 122 jLabelResourceBoundle = new javax.swing.JLabel (); 123 jTextFieldResourceBoundle = new javax.swing.JTextField (); 124 jLabelScriptletClass = new javax.swing.JLabel (); 125 jTextFieldScriptletClass = new javax.swing.JTextField (); 126 jLabelWhenResourceMissingType = new javax.swing.JLabel (); 127 jComboBoxWhenResourceMissingType = new javax.swing.JComboBox (); 128 jPanel2 = new javax.swing.JPanel (); 129 jLabel1 = new javax.swing.JLabel (); 130 jButtonOk = new javax.swing.JButton (); 131 jButtonCancel = new javax.swing.JButton (); 132 jLabelScriptletClass1 = new javax.swing.JLabel (); 133 jRTextExpressionAreaFilterExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 134 jPanel1 = new javax.swing.JPanel (); 135 jButtonFields = new javax.swing.JButton (); 136 jButtonVariables = new javax.swing.JButton (); 137 jButtonParameters = new javax.swing.JButton (); 138 jSeparator1 = new javax.swing.JSeparator (); 139 jButtonQuery = new javax.swing.JButton (); 140 jButtonGroups = new javax.swing.JButton (); 141 jSeparator2 = new javax.swing.JSeparator (); 142 jButtonProperties = new javax.swing.JButton (); 143 jPanel6 = new javax.swing.JPanel (); 144 145 getContentPane().setLayout(new java.awt.GridBagLayout ()); 146 147 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 148 setTitle("SubDataset"); 149 jPanel4.setLayout(new java.awt.GridBagLayout ()); 150 151 jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Subdataset properties", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font ("Dialog", 0, 11))); 152 jLabelName.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 153 jLabelName.setText("Datasource name"); 154 gridBagConstraints = new java.awt.GridBagConstraints (); 155 gridBagConstraints.gridx = 0; 156 gridBagConstraints.gridy = 0; 157 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 158 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 0); 159 jPanel4.add(jLabelName, gridBagConstraints); 160 161 gridBagConstraints = new java.awt.GridBagConstraints (); 162 gridBagConstraints.gridx = 1; 163 gridBagConstraints.gridy = 0; 164 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 165 gridBagConstraints.weightx = 1.0; 166 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 4); 167 jPanel4.add(jTextFieldName, gridBagConstraints); 168 169 jLabelResourceBoundle.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 170 jLabelResourceBoundle.setText("Resource Boundle"); 171 gridBagConstraints = new java.awt.GridBagConstraints (); 172 gridBagConstraints.gridx = 0; 173 gridBagConstraints.gridy = 1; 174 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 175 gridBagConstraints.insets = new java.awt.Insets (16, 4, 0, 0); 176 jPanel4.add(jLabelResourceBoundle, gridBagConstraints); 177 178 gridBagConstraints = new java.awt.GridBagConstraints (); 179 gridBagConstraints.gridx = 1; 180 gridBagConstraints.gridy = 1; 181 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 182 gridBagConstraints.weightx = 1.0; 183 gridBagConstraints.insets = new java.awt.Insets (16, 4, 4, 4); 184 jPanel4.add(jTextFieldResourceBoundle, gridBagConstraints); 185 186 jLabelScriptletClass.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 187 jLabelScriptletClass.setText("Scriptlet class"); 188 gridBagConstraints = new java.awt.GridBagConstraints (); 189 gridBagConstraints.gridx = 0; 190 gridBagConstraints.gridy = 8; 191 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 192 gridBagConstraints.insets = new java.awt.Insets (16, 4, 4, 0); 193 jPanel4.add(jLabelScriptletClass, gridBagConstraints); 194 195 jTextFieldScriptletClass.addActionListener(new java.awt.event.ActionListener () { 196 public void actionPerformed(java.awt.event.ActionEvent evt) { 197 jTextFieldScriptletClassActionPerformed(evt); 198 } 199 }); 200 201 gridBagConstraints = new java.awt.GridBagConstraints (); 202 gridBagConstraints.gridx = 1; 203 gridBagConstraints.gridy = 8; 204 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 205 gridBagConstraints.weightx = 1.0; 206 gridBagConstraints.insets = new java.awt.Insets (16, 4, 4, 4); 207 jPanel4.add(jTextFieldScriptletClass, gridBagConstraints); 208 209 jLabelWhenResourceMissingType.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 210 jLabelWhenResourceMissingType.setText("When resource missing type"); 211 gridBagConstraints = new java.awt.GridBagConstraints (); 212 gridBagConstraints.gridx = 0; 213 gridBagConstraints.gridy = 5; 214 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 215 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 0); 216 jPanel4.add(jLabelWhenResourceMissingType, gridBagConstraints); 217 218 gridBagConstraints = new java.awt.GridBagConstraints (); 219 gridBagConstraints.gridx = 1; 220 gridBagConstraints.gridy = 5; 221 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 222 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 223 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 224 jPanel4.add(jComboBoxWhenResourceMissingType, gridBagConstraints); 225 226 jPanel2.setLayout(new java.awt.GridBagLayout ()); 227 228 jLabel1.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/subdatasource.png"))); 229 gridBagConstraints = new java.awt.GridBagConstraints (); 230 gridBagConstraints.gridx = 0; 231 gridBagConstraints.gridy = 0; 232 gridBagConstraints.gridwidth = 2; 233 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 234 gridBagConstraints.weightx = 1.0; 235 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 236 jPanel2.add(jLabel1, gridBagConstraints); 237 238 jButtonOk.setText("Create"); 239 jButtonOk.addActionListener(new java.awt.event.ActionListener () { 240 public void actionPerformed(java.awt.event.ActionEvent evt) { 241 jButtonOkActionPerformed(evt); 242 } 243 }); 244 245 gridBagConstraints = new java.awt.GridBagConstraints (); 246 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST; 247 gridBagConstraints.insets = new java.awt.Insets (0, 0, 4, 4); 248 jPanel2.add(jButtonOk, gridBagConstraints); 249 250 jButtonCancel.setText("Cancel"); 251 jButtonCancel.addActionListener(new java.awt.event.ActionListener () { 252 public void actionPerformed(java.awt.event.ActionEvent evt) { 253 jButtonCancelActionPerformed(evt); 254 } 255 }); 256 257 gridBagConstraints = new java.awt.GridBagConstraints (); 258 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST; 259 gridBagConstraints.insets = new java.awt.Insets (0, 0, 4, 4); 260 jPanel2.add(jButtonCancel, gridBagConstraints); 261 262 gridBagConstraints = new java.awt.GridBagConstraints (); 263 gridBagConstraints.gridx = 0; 264 gridBagConstraints.gridy = 99; 265 gridBagConstraints.gridwidth = 2; 266 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 267 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST; 268 gridBagConstraints.weightx = 1.0; 269 jPanel4.add(jPanel2, gridBagConstraints); 270 271 jLabelScriptletClass1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 272 jLabelScriptletClass1.setText("Filter expression"); 273 gridBagConstraints = new java.awt.GridBagConstraints (); 274 gridBagConstraints.gridx = 0; 275 gridBagConstraints.gridy = 9; 276 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 277 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 278 gridBagConstraints.insets = new java.awt.Insets (2, 4, 4, 0); 279 jPanel4.add(jLabelScriptletClass1, gridBagConstraints); 280 jLabelScriptletClass1.getAccessibleContext().setAccessibleName("Filter expression"); 281 282 jRTextExpressionAreaFilterExpression.setBorder(javax.swing.BorderFactory.createEtchedBorder()); 283 jRTextExpressionAreaFilterExpression.setCaretVisible(false); 284 jRTextExpressionAreaFilterExpression.setElectricScroll(0); 285 jRTextExpressionAreaFilterExpression.setMinimumSize(new java.awt.Dimension (657, 50)); 286 jRTextExpressionAreaFilterExpression.setPreferredSize(new java.awt.Dimension (325, 100)); 287 gridBagConstraints = new java.awt.GridBagConstraints (); 288 gridBagConstraints.gridx = 1; 289 gridBagConstraints.gridy = 9; 290 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 291 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 292 gridBagConstraints.weightx = 1.0; 293 gridBagConstraints.weighty = 1.0; 294 gridBagConstraints.insets = new java.awt.Insets (0, 3, 3, 3); 295 jPanel4.add(jRTextExpressionAreaFilterExpression, gridBagConstraints); 296 297 gridBagConstraints = new java.awt.GridBagConstraints (); 298 gridBagConstraints.gridx = 0; 299 gridBagConstraints.gridy = 0; 300 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 301 gridBagConstraints.weightx = 1.0; 302 gridBagConstraints.weighty = 1.0; 303 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 304 getContentPane().add(jPanel4, gridBagConstraints); 305 306 jPanel1.setLayout(new java.awt.GridBagLayout ()); 307 308 jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder())); 309 jButtonFields.setText("Fields"); 310 jButtonFields.setEnabled(false); 311 jButtonFields.addActionListener(new java.awt.event.ActionListener () { 312 public void actionPerformed(java.awt.event.ActionEvent evt) { 313 jButtonFieldsActionPerformed(evt); 314 } 315 }); 316 317 gridBagConstraints = new java.awt.GridBagConstraints (); 318 gridBagConstraints.gridx = 0; 319 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 320 gridBagConstraints.weightx = 1.0; 321 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 322 jPanel1.add(jButtonFields, gridBagConstraints); 323 324 jButtonVariables.setText("Variables"); 325 jButtonVariables.setEnabled(false); 326 jButtonVariables.addActionListener(new java.awt.event.ActionListener () { 327 public void actionPerformed(java.awt.event.ActionEvent evt) { 328 jButtonVariablesActionPerformed(evt); 329 } 330 }); 331 332 gridBagConstraints = new java.awt.GridBagConstraints (); 333 gridBagConstraints.gridx = 0; 334 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 335 gridBagConstraints.weightx = 1.0; 336 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 337 jPanel1.add(jButtonVariables, gridBagConstraints); 338 339 jButtonParameters.setText("Parameters"); 340 jButtonParameters.setEnabled(false); 341 jButtonParameters.addActionListener(new java.awt.event.ActionListener () { 342 public void actionPerformed(java.awt.event.ActionEvent evt) { 343 jButtonParametersActionPerformed(evt); 344 } 345 }); 346 347 gridBagConstraints = new java.awt.GridBagConstraints (); 348 gridBagConstraints.gridx = 0; 349 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 350 gridBagConstraints.weightx = 1.0; 351 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 352 jPanel1.add(jButtonParameters, gridBagConstraints); 353 354 jSeparator1.setMinimumSize(new java.awt.Dimension (0, 2)); 355 jSeparator1.setPreferredSize(new java.awt.Dimension (2, 2)); 356 jSeparator1.setRequestFocusEnabled(false); 357 gridBagConstraints = new java.awt.GridBagConstraints (); 358 gridBagConstraints.gridx = 0; 359 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 360 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 0); 361 jPanel1.add(jSeparator1, gridBagConstraints); 362 363 jButtonQuery.setText("Query"); 364 jButtonQuery.setEnabled(false); 365 jButtonQuery.addActionListener(new java.awt.event.ActionListener () { 366 public void actionPerformed(java.awt.event.ActionEvent evt) { 367 jButtonQueryActionPerformed(evt); 368 } 369 }); 370 371 gridBagConstraints = new java.awt.GridBagConstraints (); 372 gridBagConstraints.gridx = 0; 373 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 374 gridBagConstraints.weightx = 1.0; 375 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 376 jPanel1.add(jButtonQuery, gridBagConstraints); 377 378 jButtonGroups.setText("Groups"); 379 jButtonGroups.setEnabled(false); 380 jButtonGroups.addActionListener(new java.awt.event.ActionListener () { 381 public void actionPerformed(java.awt.event.ActionEvent evt) { 382 jButtonGroupsActionPerformed(evt); 383 } 384 }); 385 386 gridBagConstraints = new java.awt.GridBagConstraints (); 387 gridBagConstraints.gridx = 0; 388 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 389 gridBagConstraints.weightx = 1.0; 390 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 391 jPanel1.add(jButtonGroups, gridBagConstraints); 392 393 jSeparator2.setMinimumSize(new java.awt.Dimension (0, 2)); 394 jSeparator2.setPreferredSize(new java.awt.Dimension (2, 2)); 395 jSeparator2.setRequestFocusEnabled(false); 396 gridBagConstraints = new java.awt.GridBagConstraints (); 397 gridBagConstraints.gridx = 0; 398 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 399 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 0); 400 jPanel1.add(jSeparator2, gridBagConstraints); 401 402 jButtonProperties.setText("Properties"); 403 jButtonProperties.setEnabled(false); 404 jButtonProperties.addActionListener(new java.awt.event.ActionListener () { 405 public void actionPerformed(java.awt.event.ActionEvent evt) { 406 jButtonParametersActionPerformed1(evt); 407 } 408 }); 409 410 gridBagConstraints = new java.awt.GridBagConstraints (); 411 gridBagConstraints.gridx = 0; 412 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 413 gridBagConstraints.weightx = 1.0; 414 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 415 jPanel1.add(jButtonProperties, gridBagConstraints); 416 417 gridBagConstraints = new java.awt.GridBagConstraints (); 418 gridBagConstraints.gridx = 0; 419 gridBagConstraints.weighty = 1.0; 420 jPanel1.add(jPanel6, gridBagConstraints); 421 422 gridBagConstraints = new java.awt.GridBagConstraints (); 423 gridBagConstraints.gridx = 1; 424 gridBagConstraints.gridy = 0; 425 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 426 gridBagConstraints.weighty = 1.0; 427 gridBagConstraints.insets = new java.awt.Insets (6, 4, 6, 4); 428 getContentPane().add(jPanel1, gridBagConstraints); 429 430 pack(); 431 } 433 private void jTextFieldScriptletClassActionPerformed(java.awt.event.ActionEvent evt) { } 437 private void jButtonParametersActionPerformed1(java.awt.event.ActionEvent evt) { 439 PropertiesDialog pd = new PropertiesDialog(this, true); 440 pd.setDataset( this.getSubDataset() ); 441 pd.updateProperties(); 442 443 pd.setVisible(true); 444 445 446 } 448 private void jButtonGroupsActionPerformed(java.awt.event.ActionEvent evt) { GroupsDialog grd = new GroupsDialog(this, true); 450 grd.setSubDataset( this.getSubDataset()); 451 grd.setVisible(true); 452 } 454 private void jButtonQueryActionPerformed(java.awt.event.ActionEvent evt) { 456 ReportQueryDialog rqd = new ReportQueryDialog(MainFrame.getMainInstance(), true); 457 rqd.setSubDataset( this.getSubDataset()); 458 rqd.setVisible(true); 459 } 461 private void jButtonParametersActionPerformed(java.awt.event.ActionEvent evt) { openValuesDialog("Parameters"); 463 } 465 private void jButtonVariablesActionPerformed(java.awt.event.ActionEvent evt) { openValuesDialog("Variables"); 467 } 469 private void jButtonFieldsActionPerformed(java.awt.event.ActionEvent evt) { 471 openValuesDialog("Fields"); 472 473 } 475 public void openValuesDialog(String tab) 476 { 477 ValuesDialog vd = new ValuesDialog(this, true); 478 vd.getValuesPanel().setSubDataset( getSubDataset() ); 479 vd.setTitle(getSubDataset() + ": values"); 480 vd.getValuesPanel().gotoTab(tab); 481 getSubDataset().addSubDatasetObjectChangedListener( vd ); 482 vd.setVisible(true); 483 getSubDataset().removeSubDatasetObjectChangedListener( vd ); 484 } 485 486 private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) { 488 this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION); 489 setVisible(false); 490 dispose(); 491 492 } 494 private void jButtonOkActionPerformed(java.awt.event.ActionEvent evt) { 496 if (this.jTextFieldName.getText().trim().length() <= 0) 497 { 498 javax.swing.JOptionPane.showMessageDialog(this, 499 I18n.getString( "messages.subDatasetDialog.notValidName","Please insert a valid SubDataset name!"), 500 I18n.getString( "messages.subDatasetDialog.notValidNameCaption","Invalid name!"), 501 javax.swing.JOptionPane.WARNING_MESSAGE ); 502 return; 503 } 504 505 String newName = this.jTextFieldName.getText().trim(); 506 Enumeration e = it.businesslogic.ireport.gui.MainFrame.getMainInstance().getActiveReportFrame().getReport().getSubDatasets().elements(); 508 while (e.hasMoreElements()) 509 { 510 SubDataset dataset = (SubDataset)e.nextElement(); 511 if (dataset.getName().equals(newName) && dataset != getSubDataset()) 512 { 513 javax.swing.JOptionPane.showMessageDialog(this, 514 I18n.getFormattedString( "messages.subDatasetDialog.nameAlreadyInUse","The name \"{0}\" is already in use!\nPlease change it.", new Object []{newName}), 515 I18n.getString( "messages.subDatasetDialog.notValidNameCaption","Invalid name!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 516 return; 517 } 518 } 519 520 if (getSubDataset() == null) 521 { 522 this.subDataset = new SubDataset(); 523 } 524 525 SubDataset subdataset = getSubDataset(); 526 subdataset.setName( jTextFieldName.getText() ); 527 subdataset.setScriptletClass( jTextFieldScriptletClass.getText()); 528 subdataset.setResourceBundleBaseName( jTextFieldResourceBoundle.getText()); 529 subdataset.setFilterExpression( jRTextExpressionAreaFilterExpression.getText()); 530 531 if (jComboBoxWhenResourceMissingType.getSelectedItem() != null) 532 { 533 Tag val = (Tag)jComboBoxWhenResourceMissingType.getSelectedItem(); 534 subdataset.setWhenResourceMissingType( val.getValue()+"" ); 535 } 536 537 if (this.jButtonOk.getText().equals(I18n.getString("subDatasetDialog.buttonCreate","Create"))) 538 { 539 if (this.getParent() instanceof SubDatasetsDialog) 540 { 541 ((SubDatasetsDialog)this.getParent()).addSubDataset( this.getSubDataset()); 542 } 543 this.setSubDataset(subdataset); 544 MainFrame.getMainInstance().getActiveReportFrame().getReport().addSubDataset(subdataset); 545 return; 546 } 547 else 548 { 549 MainFrame.getMainInstance().getActiveReportFrame().getReport().fireReportSubDatasetChangedListenerReportSubDatasetChanged( 550 new ReportSubDatasetChangedEvent( 551 MainFrame.getMainInstance().getActiveReportFrame().getReport(), 552 getSubDataset(), 553 ReportSubDatasetChangedEvent.CHANGED, 554 ReportSubDatasetChangedEvent.OBJECT_SUBDATASET) ); 555 } 556 MainFrame.getMainInstance().getActiveReportFrame().getReport().incrementReportChanges(); 557 this.setDialogResult( javax.swing.JOptionPane.OK_OPTION); 558 setVisible(false); 559 dispose(); 560 561 } 563 566 public static void main(String args[]) { 567 java.awt.EventQueue.invokeLater(new Runnable () { 568 public void run() { 569 new SubDatasetDialog(new javax.swing.JFrame (), true).setVisible(true); 570 } 571 }); 572 } 573 574 private javax.swing.JButton jButtonCancel; 576 private javax.swing.JButton jButtonFields; 577 private javax.swing.JButton jButtonGroups; 578 private javax.swing.JButton jButtonOk; 579 private javax.swing.JButton jButtonParameters; 580 private javax.swing.JButton jButtonProperties; 581 private javax.swing.JButton jButtonQuery; 582 private javax.swing.JButton jButtonVariables; 583 private javax.swing.JComboBox jComboBoxWhenResourceMissingType; 584 private javax.swing.JLabel jLabel1; 585 private javax.swing.JLabel jLabelName; 586 private javax.swing.JLabel jLabelResourceBoundle; 587 private javax.swing.JLabel jLabelScriptletClass; 588 private javax.swing.JLabel jLabelScriptletClass1; 589 private javax.swing.JLabel jLabelWhenResourceMissingType; 590 private javax.swing.JPanel jPanel1; 591 private javax.swing.JPanel jPanel2; 592 private javax.swing.JPanel jPanel4; 593 private javax.swing.JPanel jPanel6; 594 private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaFilterExpression; 595 private javax.swing.JSeparator jSeparator1; 596 private javax.swing.JSeparator jSeparator2; 597 private javax.swing.JTextField jTextFieldName; 598 private javax.swing.JTextField jTextFieldResourceBoundle; 599 private javax.swing.JTextField jTextFieldScriptletClass; 600 602 public SubDataset getSubDataset() { 603 return subDataset; 604 } 605 606 public void setSubDataset(SubDataset subDataset) { 607 this.subDataset = subDataset; 608 this.jTextFieldName.setText( subDataset.getName()); 609 this.jTextFieldScriptletClass.setText( subDataset.getScriptletClass() ); 610 this.jTextFieldResourceBoundle.setText( subDataset.getResourceBundleBaseName() ); 611 this.jRTextExpressionAreaFilterExpression.setText( subDataset.getFilterExpression() ); 612 if (subDataset != null) 613 { 614 jRTextExpressionAreaFilterExpression.setSubDataset( subDataset ); 615 } 616 617 Misc.setComboboxSelectedTagValue( jComboBoxWhenResourceMissingType, subDataset.getWhenResourceMissingType()); 618 jButtonFields.setEnabled( true ); 619 jButtonVariables.setEnabled( true ); 620 jButtonParameters.setEnabled( true ); 621 jButtonQuery.setEnabled( true ); 622 jButtonGroups.setEnabled( true ); 623 jButtonProperties.setEnabled( true ); 624 this.jButtonOk.setText(I18n.getString("subDatasetDialog.buttonOk","Ok")); 625 } 626 627 public int getDialogResult() { 628 return dialogResult; 629 } 630 631 public void setDialogResult(int dialogResult) { 632 this.dialogResult = dialogResult; 633 } 634 635 public void applyI18n(){ 636 jButtonCancel.setText(I18n.getString("subDatasetDialog.buttonCancel","Cancel")); 638 jButtonFields.setText(I18n.getString("subDatasetDialog.buttonFields","Fields")); 639 jButtonGroups.setText(I18n.getString("subDatasetDialog.buttonGroups","Groups")); 640 jButtonOk.setText(I18n.getString("subDatasetDialog.buttonCreate","Create")); 641 jButtonParameters.setText(I18n.getString("subDatasetDialog.buttonParameters","Parameters")); 642 jButtonProperties.setText(I18n.getString("subDatasetDialog.buttonProperties","Properties")); 643 jButtonQuery.setText(I18n.getString("subDatasetDialog.buttonQuery","Query")); 644 jButtonVariables.setText(I18n.getString("subDatasetDialog.buttonVariables","Variables")); 645 jLabelName.setText(I18n.getString("subDatasetDialog.labelName","Datasource name")); 646 jLabelResourceBoundle.setText(I18n.getString("subDatasetDialog.labelResourceBoundle","Resource Boundle")); 647 jLabelScriptletClass.setText(I18n.getString("subDatasetDialog.labelScriptletClass","Scriptlet class")); 648 jLabelScriptletClass1.setText(I18n.getString("subDatasetDialog.labelScriptletClass1","Filter expression")); 649 jLabelWhenResourceMissingType.setText(I18n.getString("subDatasetDialog.labelWhenResourceMissingType","When resource missing type")); 650 ((javax.swing.border.TitledBorder )jPanel4.getBorder()).setTitle(I18n.getString("subDatasetDialog.panelBorder.SubdatasetProperties","Subdataset properties") ); 652 } 653 } 654 | Popular Tags |