1 32 33 package it.businesslogic.ireport.chart.gui; 34 import it.businesslogic.ireport.gui.*; 35 import it.businesslogic.ireport.*; 36 import javax.swing.tree.*; 37 import javax.swing.table.*; 38 import javax.swing.*; 39 import it.businesslogic.ireport.chart.*; 40 import java.util.*; 41 import it.businesslogic.ireport.util.I18n; 42 46 public class ReportSeriesDialog extends javax.swing.JDialog { 47 48 private int dialogResult = javax.swing.JOptionPane.OK_OPTION; 49 private JReportFrame jReportFrame = null; 50 51 public ReportSeriesDialog(java.awt.Dialog parent, boolean modal) { 52 super(parent, modal); 53 initComponents(); 54 initFrame(); 55 } 56 57 public void initFrame() 58 { 59 javax.swing.DefaultListModel dlm = new javax.swing.DefaultListModel () ; 60 jList1.setModel(dlm ); 61 jList1.updateUI(); 62 63 this.setSize(500,400); 64 it.businesslogic.ireport.util.Misc.centerFrame(this); 65 66 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 67 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 68 public void actionPerformed(java.awt.event.ActionEvent e) { 69 jButtonCloseActionPerformed(e); 70 } 71 }; 72 73 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 74 getRootPane().getActionMap().put("ESCAPE", escapeAction); 75 76 77 applyI18n(); 78 79 this.getRootPane().setDefaultButton(this.jButtonClose); 81 82 } 83 84 public ReportSeriesDialog(java.awt.Frame parent, boolean modal) { 85 super(parent, modal); 86 initComponents(); 87 initFrame(); 88 89 } 90 91 public void updateSeriesList() 92 { 93 94 Vector values = new Vector(); 95 96 javax.swing.DefaultListModel dlm = (javax.swing.DefaultListModel )jList1.getModel(); 97 dlm.removeAllElements(); 98 99 if (getJReportFrame() == null) { jList1.updateUI(); return; } 100 101 103 Enumeration var_enum = getJReportFrame().getReport().getVariables().elements(); 104 while (var_enum.hasMoreElements()) 105 { 106 JRVariable var = (JRVariable)var_enum.nextElement(); 107 if (var.getName().startsWith("SERIE_")) 108 { 109 dlm.addElement( var ); 110 } 111 } 112 jList1.updateUI(); 113 } 114 115 public JReportFrame getJReportFrame() { 116 117 return jReportFrame; 118 } 119 120 public void setJReportFrame(JReportFrame jReportFrame) { 121 122 this.jReportFrame = jReportFrame; 123 updateSeriesList(); 124 } 125 126 public int getDialogResult() { 127 return dialogResult; 128 } 129 130 public void setDialogResult(int dialogResult) { 131 this.dialogResult = dialogResult; 132 } 133 134 139 private void initComponents() { 141 java.awt.GridBagConstraints gridBagConstraints; 142 143 jPanelData = new javax.swing.JPanel (); 144 jScrollPane3 = new javax.swing.JScrollPane (); 145 jList1 = new javax.swing.JList (); 146 jPanel2 = new javax.swing.JPanel (); 147 jButtonNewSerie = new javax.swing.JButton (); 148 jButtonModifySerie = new javax.swing.JButton (); 149 jButtonDeleteSerie = new javax.swing.JButton (); 150 jPanel3 = new javax.swing.JPanel (); 151 jButtonClose = new javax.swing.JButton (); 152 153 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 154 setTitle("Report Series"); 155 jPanelData.setLayout(new java.awt.GridBagLayout ()); 156 157 jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 158 public void valueChanged(javax.swing.event.ListSelectionEvent evt) { 159 jList1ValueChanged(evt); 160 } 161 }); 162 163 jScrollPane3.setViewportView(jList1); 164 165 gridBagConstraints = new java.awt.GridBagConstraints (); 166 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 167 gridBagConstraints.weightx = 1.0; 168 gridBagConstraints.weighty = 1.0; 169 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 170 jPanelData.add(jScrollPane3, gridBagConstraints); 171 172 jPanel2.setLayout(new java.awt.GridBagLayout ()); 173 174 jPanel2.setMinimumSize(new java.awt.Dimension (100, 151)); 175 jPanel2.setPreferredSize(new java.awt.Dimension (140, 100)); 176 jButtonNewSerie.setText("New serie"); 177 jButtonNewSerie.addActionListener(new java.awt.event.ActionListener () { 178 public void actionPerformed(java.awt.event.ActionEvent evt) { 179 jButtonNewSerieActionPerformed(evt); 180 } 181 }); 182 183 gridBagConstraints = new java.awt.GridBagConstraints (); 184 gridBagConstraints.gridx = 0; 185 gridBagConstraints.gridy = 1; 186 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 187 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 188 gridBagConstraints.weightx = 1.0; 189 jPanel2.add(jButtonNewSerie, gridBagConstraints); 190 191 jButtonModifySerie.setEnabled(false); 192 jButtonModifySerie.setLabel("Modify serie"); 193 jButtonModifySerie.addActionListener(new java.awt.event.ActionListener () { 194 public void actionPerformed(java.awt.event.ActionEvent evt) { 195 jButtonModifySerieActionPerformed(evt); 196 } 197 }); 198 199 gridBagConstraints = new java.awt.GridBagConstraints (); 200 gridBagConstraints.gridx = 0; 201 gridBagConstraints.gridy = 2; 202 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 203 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 204 gridBagConstraints.weightx = 1.0; 205 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 206 jPanel2.add(jButtonModifySerie, gridBagConstraints); 207 208 jButtonDeleteSerie.setEnabled(false); 209 jButtonDeleteSerie.setLabel("Remove serie"); 210 jButtonDeleteSerie.addActionListener(new java.awt.event.ActionListener () { 211 public void actionPerformed(java.awt.event.ActionEvent evt) { 212 jButtonDeleteSerieActionPerformed(evt); 213 } 214 }); 215 216 gridBagConstraints = new java.awt.GridBagConstraints (); 217 gridBagConstraints.gridx = 0; 218 gridBagConstraints.gridy = 3; 219 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 220 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 221 gridBagConstraints.weightx = 1.0; 222 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 223 jPanel2.add(jButtonDeleteSerie, gridBagConstraints); 224 225 gridBagConstraints = new java.awt.GridBagConstraints (); 226 gridBagConstraints.gridx = 0; 227 gridBagConstraints.gridy = 10; 228 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 229 gridBagConstraints.weightx = 1.0; 230 gridBagConstraints.weighty = 1.0; 231 jPanel2.add(jPanel3, gridBagConstraints); 232 233 jButtonClose.setText("Close"); 234 jButtonClose.addActionListener(new java.awt.event.ActionListener () { 235 public void actionPerformed(java.awt.event.ActionEvent evt) { 236 jButtonCloseActionPerformed(evt); 237 } 238 }); 239 240 gridBagConstraints = new java.awt.GridBagConstraints (); 241 gridBagConstraints.gridx = 0; 242 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 243 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 244 gridBagConstraints.weightx = 1.0; 245 jPanel2.add(jButtonClose, gridBagConstraints); 246 247 gridBagConstraints = new java.awt.GridBagConstraints (); 248 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 249 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 4); 250 jPanelData.add(jPanel2, gridBagConstraints); 251 252 getContentPane().add(jPanelData, java.awt.BorderLayout.CENTER); 253 254 pack(); 255 } 257 private void jButtonDeleteSerieActionPerformed(java.awt.event.ActionEvent evt) { 259 Object [] vars = jList1.getSelectedValues(); 260 261 for (int i=0; i<vars.length; ++i) 262 { 263 JRVariable var = (JRVariable)vars[i]; 264 this.getJReportFrame().getReport().removeVariable( var ); 265 } 266 267 this.updateSeriesList(); 268 this.getJReportFrame().getMainFrame().getValuesDialog().getValuesPanel().updateVariables(); 269 270 } 272 private void jButtonModifySerieActionPerformed(java.awt.event.ActionEvent evt) { 274 SerieDialog sd = new SerieDialog(this, true); 275 sd.setJrf( this.getJReportFrame()); 276 JRVariable var = (JRVariable)jList1.getSelectedValue() ; 277 sd.setVariable( var ); 278 sd.setVisible(true); 279 if (sd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) 280 { 281 String var_name = "SERIE_"; 282 if (!sd.getSerieReset().equals("")) 283 { 284 var_name += "G_" + sd.getSerieReset() + "_"; 285 } 286 var_name += sd.getSerieName(); 287 288 var.setName(var_name); 289 var.setResetType("Report"); 290 var.setCalculation("Nothing"); 291 var.setClassType( sd.getSerieType()); 292 var.setExpression( sd.getSerieExpression()); 293 294 this.updateSeriesList(); 295 this.getJReportFrame().getMainFrame().getValuesDialog().getValuesPanel().updateVariables(); 296 } 297 298 } 300 private void jButtonNewSerieActionPerformed(java.awt.event.ActionEvent evt) { 302 SerieDialog sd = new SerieDialog(this, true); 303 sd.setJrf( this.getJReportFrame()); 304 sd.setVisible(true); 305 if (sd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) 306 { 307 String var_name = "SERIE_"; 308 if (!sd.getSerieReset().equals("")) 309 { 310 var_name += "G_" + sd.getSerieReset() + "_"; 311 } 312 var_name += sd.getSerieName(); 313 314 JRVariable var = new JRVariable(var_name, false); 315 var.setResetType("Report"); 316 var.setCalculation("Nothing"); 317 var.setClassType( sd.getSerieType()); 318 var.setExpression( sd.getSerieExpression()); 319 this.getJReportFrame().getReport().addVariable( var ); 320 321 this.updateSeriesList(); 322 this.getJReportFrame().getMainFrame().getValuesDialog().getValuesPanel().updateVariables(); 323 } 324 325 } 327 private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) { 329 if (this.jList1.getSelectedIndex() >= 0) { 330 this.jButtonModifySerie.setEnabled(true); 331 this.jButtonDeleteSerie.setEnabled(true); 332 } 333 else { 334 this.jButtonModifySerie.setEnabled(false); 335 this.jButtonDeleteSerie.setEnabled(false); 336 } 337 338 339 } 341 private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt) { 343 this.setDialogResult( javax.swing.JOptionPane.OK_OPTION); 344 this.setVisible(false); 345 } 347 348 349 private javax.swing.JButton jButtonClose; 351 private javax.swing.JButton jButtonDeleteSerie; 352 private javax.swing.JButton jButtonModifySerie; 353 private javax.swing.JButton jButtonNewSerie; 354 private javax.swing.JList jList1; 355 private javax.swing.JPanel jPanel2; 356 private javax.swing.JPanel jPanel3; 357 private javax.swing.JPanel jPanelData; 358 private javax.swing.JScrollPane jScrollPane3; 359 361 public void applyI18n(){ 362 jButtonClose.setText(I18n.getString("reportSeriesDialog.buttonClose","Close")); 364 jButtonNewSerie.setText(I18n.getString("reportSeriesDialog.buttonNewSerie","New serie")); 365 } 367 } 368 | Popular Tags |